Excel公式重复计数问题:统计含至少一个目标关键词的单元格数
用COUNTIFS统计包含至少一个指定关键词的单元格数量
当前使用的公式:
=SUMPRODUCT(COUNTIFS('Data'!$G:$G,{"*" & Settings!$E$5 & "*","*" & Settings!$E$6 & "*","*" & Settings!$E$7 & "*"}))
该公式会统计所有关键词的出现总次数(示例中结果为8),但我们需要的是包含至少一个目标季度月份的单元格数量(示例中正确结果为4),且因存在其他条件需保留COUNTIFS函数,可按以下方式调整:
数据说明
Data工作表G列数据
| Column G |
|---|
| 2024 September, 2024 August |
| 2024 August |
| 2024 May |
| 2023 September |
| 2024 September, 2024 August, 2023 May |
| 2024 September, 2024 August, 2024 July |
Settings工作表第三季度月份数据
| 3rd Quarter Months |
|---|
| 2024 July |
| 2024 August |
| 2024 September |
调整后的公式
基础版(适配多数Excel版本)
=SUMPRODUCT(--(MMULT(--COUNTIFS('Data'!$G:$G, "*"&Settings!$E$5:$E$7&"*"), {1;1;1}) > 0))
带额外条件的版本(假设需同时满足'Data'!$A:$A="指定条件")
=SUMPRODUCT(--(MMULT(--COUNTIFS('Data'!$G:$G, "*"&Settings!$E$5:$E$7&"*", 'Data'!$A:$A, "指定条件"), {1;1;1}) > 0))
原理说明
原公式的问题在于:将每个关键词的匹配次数直接相加,导致单个单元格内包含多个关键词时会被重复计数。
调整后的逻辑:
- 用
COUNTIFS分别检查每个单元格是否匹配三个季度月份中的任意一个,返回一组0/1值 - 用
MMULT将每个单元格的三个匹配结果求和,若结果>0则说明该单元格至少包含一个目标关键词 - 用
--将逻辑值转换为数值1/0,最后通过SUMPRODUCT求和得到符合条件的单元格总数
内容的提问来源于stack exchange,提问作者DanCue
相关产品推荐
相关产品推荐

