Excel 365 统计动态唯一数组元素在原列表出现次数问题求助
问题原因分析
- 第一个公式
=COUNT(MATCH(A20,Defects!E:E,0))逻辑错误:MATCH函数仅返回第一个匹配项的行号,COUNT对单个数值计数结果自然恒为1 - 第二个公式报错/显示为文本有两个常见原因:
- 单元格格式提前设置为了「文本」,输入任何内容都会按纯文本展示不会触发公式计算
- 公式多写了一个右括号,你写的
=COUNTIF(Defects!E:E,A1))末尾多了一个),语法错误导致无法正常解析
解决方案
方案1:一键动态生成完整结果(推荐,适用于Excel 365/2021及以上版本)
直接在Report工作表你要放置结果的左上角单元格输入以下公式,会自动溢出「公司名称+计数」的完整动态数组,源数据更新后结果自动同步,无需手动下拉调整:
=HSTACK(SORT(UNIQUE(Defects!E:E,,TRUE),,1),COUNTIF(Defects!E:E,SORT(UNIQUE(Defects!E:E,,TRUE),,1)))
方案2:配合已生成的A列公司名单独计算计数
如果已经在Report工作表A列生成了动态的唯一公司名列表,可在B列对应起始单元格(比如A1是第一个公司名就输在B1)输入对应公式:
- 手动下拉版本:
- 先选中B列所有要放计数的单元格,将格式改为「常规」
- 输入公式
=COUNTIF(Defects!E:E,A1),按回车后下拉到需要的行即可
- 自动溢出版本(无需手动下拉,适配A列动态数组长度):
注:公式中的=BYROW(A1#,LAMBDA(x,COUNTIF(Defects!E:E,x)))A1#要替换为你A列第一个动态数组单元格的实际位置,比如你原来的UNIQUE公式输在A20就写A20#
内容的提问来源于stack exchange,提问作者user3179585
相关产品推荐
相关产品推荐

