所以我有一个像excel这样的电子表格:
| some data | PLA |
| some data | MADW |
| some data | IBFWE |
| some data | RWIUBGER |
| some data | WIUFBW |
我想计算每个字符串的出现次数,并将其输入新的电子表格中。有点像键值存储,键作为字符串,值作为出现次数。它需要能够运行多次(每当电子表格有新条目时)。我将如何完成这样的事情?我的电子表格太大(150k条目)可以手动完成。
我听说过excel宏或使用python脚本导入工作表然后写出同一个文件,或者某种方式使用google工作表并从excel本身调用该函数?
答案 0 :(得分:1)
只需在其旁边添加一列,并计算整个列的内容:
=COUNTIF(L5:L12,L5)
无论在L5中发生什么,都将被计算在整个范围内发现的次数。在整个列表中执行此操作。
完成后,您可以将其反弹到另一张纸上,然后删除重复的内容。
答案 1 :(得分:0)
您可以设置与工作表的ADO连接,并在其上运行查询,就像它是一个数据库一样。
Dim query_results as variant
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
Dim your_file, strSQL as string
your_file = "enter the full path of your excel file this is assuming is .xls"
strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & your_file & ";" & _
"Extended Properties=""Excel 12.0;HDR=YES"";"
cn.Open strCon
strSQL = "Select value, count(whatever_you're_counting) from [ExcelSheetName$] group by value"
Set rs = cn.Execute(strSQL)
query_results = rs.GetRows
rs.Close
'Code untested
此时你应该能够遍历query_results并提取值/计数并将它们放在另一张表中。