如何使用ARRAYFORMULA在Google Sheets中统计唯一值出现次数
Google Sheets 用ARRAYFORMULA批量统计值出现次数方法

逐行返回对应值的全列出现次数(直接生成C列结果)
把下面的公式直接粘贴到C列第一个数据行(通常是C2单元格,和A列第一个数据对齐),公式会自动向下溢出计算所有行的结果,不需要手动下拉填充:
=ARRAYFORMULA(IF(A2:A="",,COUNTIF(A:A,A2:A)))
公式逻辑说明:
IF(A2:A="",,)做空值校验,A列对应行没有内容时,C列自动留空,不会输出无意义的0COUNTIF(A:A,A2:A)会逐行读取A列当前单元格的值,统计该值在整个A列的总出现次数,外层套ARRAYFORMULA后即可触发批量计算,一次性返回整列结果
直接输出去重值+对应频次表
如果你不需要逐行匹配,而是想直接得到所有不重复数据+对应出现次数的汇总表,可以用下面的公式,粘贴到空白单元格即可自动生成整张汇总表:
=ARRAYFORMULA(QUERY({A:A,COUNTIF(A:A,A:A)},"select Col1,Col2 where Col1 is not null group by Col1,Col2 label Col1 '数据值',Col2 '出现次数'",1))
注意事项
- 如果你的数据不在A列、表头行不是第1行,只需要把公式里的
A:A、A2:A替换成实际的数据范围即可,比如数据存储在B列、第一个数据在B3单元格,就对应替换为B:B、B3:B - 公式不要放在统计范围所在的列,避免触发循环引用报错
内容的提问来源于stack exchange,提问作者Bruce L
相关产品推荐
相关产品推荐

