Excel 2016多特定字符串无重复计数问题求解
解决Excel 2016中多关键词无重复计数问题
第一步:整理可灵活编辑的关键词列表
找个空白工作表(比如Sheet2),把CPT、DCP等29个关键词依次列在A列(A1到A29)。为了后续增删方便,选中这个关键词区域,在公式栏左边的名称框里输入Keywords回车,给它起个名字。以后要加/删关键词,直接改Sheet2的A列,再通过「公式」选项卡的「名称管理器」调整Keywords的范围就行。
第二步:用高效公式统计符合条件的单元格
在要显示结果的单元格里输入下面的公式(注意把G2:G1001换成你实际的数据范围,别用整列G:G,不然容易卡崩):
=SUMPRODUCT(--(MMULT(--ISNUMBER(SEARCH(Keywords,'Geotech Data'!G2:G1001)),ROW(Keywords)^0)>0))
公式说明:
SEARCH(Keywords, ...):逐个检查每个关键词在目标单元格里有没有出现,有就返回位置,没有就报错。--ISNUMBER(...):把“找到”转成1,“没找到”转成0,生成一个关键词数量×数据行数的二维数组。MMULT(..., ROW(Keywords)^0):把每个单元格对应的所有关键词匹配结果加起来,只要和大于0,就说明这个单元格至少含一个关键词。SUMPRODUCT最后把所有符合条件的单元格数加起来——哪怕一个单元格里有好几个关键词,也只算一次,满足无重复计数的要求。
第三步:适配透视表更新
只要你的Excel开了「自动重算」(文件→选项→公式→勾选“自动重算”),透视表更新后,这个公式会自动跟着刷新结果。
备用方案(怕卡的话用这个)
如果上面的公式还是有点卡,就整个辅助列:
- 在'Geotech Data'表的空白列(比如H列)第一行输入
=SUMPRODUCT(--ISNUMBER(SEARCH(Keywords,G2)))>0,下拉填充到所有数据行。 - 然后统计H列里TRUE的数量:
=COUNTIF('Geotech Data'!H:H,TRUE)
这个方案计算量更小,数据更新也能自动同步。
内容的提问来源于stack exchange,提问作者Rhys Peddie
相关产品推荐
相关产品推荐

