如何在Google Sheets中用数组公式统计列表中值的出现次数?
数组公式实现列表值出现次数统计
针对Excel 365/2021及后续版本(动态数组)
直接在结果列第一个单元格输入以下公式,公式会自动溢出填充所有结果:
=BYROW(A2:A7, LAMBDA(cell, COUNTIF(A$2:INDEX(A2:A7, ROW(cell)-ROW(A$2)+1), cell)))
- 逻辑:用
BYROW遍历A2:A7的每个单元格,对每个单元格cell,统计从A$2到当前单元格所在行的范围内,与cell值相同的单元格数量,完全匹配你示例中COUNTIF($A$2:$A2,A2)逐行递增范围的效果。
针对旧版Excel(需按数组公式快捷键)
在结果列第一个单元格输入以下公式,然后按Ctrl+Shift+Enter完成数组公式输入,再下拉填充:
=SUM(--(A$2:INDEX(A$2:A$7,ROW()-ROW(A$2)+1)=A2))
- 逻辑:用
INDEX动态定位当前行的范围终点,通过--将布尔判断结果转为1或0,最后用SUM求和得到当前值的累计出现次数,输出结果和示例一致。
两种公式最终输出结果如下:
| data | result |
|---|---|
| a | 1 |
| a | 2 |
| b | 1 |
| c | 1 |
| d | 1 |
| d | 2 |
内容的提问来源于stack exchange,提问作者user14484722
相关产品推荐
相关产品推荐

