Google Sheets按日期统计Column-B唯一值:公式返回0的原因排查
问题分析与解决
原始数据
| Column-A | Column-B |
|---|---|
| 1-Jan-2024 | Banana |
| 1-Jan-2024 | Papaya |
| 1-Jan-2024 | Banana |
| 1-Jan-2024 | Pear |
| 2-Jan-2024 | Watermelon |
| 2-Jan-2024 | Papaya |
| 2-Jan-2024 | Papaya |
| 2-Jan-2024 | Watermelon |
需求
按Column-A的日期,统计对应Column-B的唯一值数量,预期结果:1-Jan-2024对应3,2-Jan-2024对应2。
错误公式问题原因
你使用的公式:
=IFERROR(ROWS(UNIQUE(FILTER(a2:a9,b2:b9="1-Jan-2024"))),0)
返回0的核心原因是FILTER的参数逻辑完全搞反了:
- FILTER的第一个参数是要提取的目标范围,第二个参数是筛选条件范围+判断规则
- 你要实现的是「筛选Column-A等于1-Jan-2024的行,统计这些行里Column-B的唯一值数量」,但公式里:
- 提取范围写的是
a2:a9(Column-A),不是需要统计的Column-B - 筛选条件写的是
b2:b9="1-Jan-2024"——Column-B里全是水果,根本没有日期,这个条件永远不成立,FILTER返回空集合,ROWS(UNIQUE(空))自然是0
- 提取范围写的是
正确公式写法
方式1:修正原公式逻辑
把提取范围改成Column-B,筛选条件改成Column-A等于目标日期:
=IFERROR(ROWS(UNIQUE(FILTER(B2:B9,A2:A9="1-Jan-2024"))),0)
无需按Ctrl-Shift-Enter,Google Sheets现在支持直接输入该公式。
方式2:用更简洁的COUNTUNIQUEIFS函数
Google Sheets有专门的条件统计唯一值函数,写法更直观:
=COUNTUNIQUEIFS(B2:B9,A2:A9,"1-Jan-2024")
该函数直接返回符合条件的Column-B唯一值数量,无需嵌套ROWS和UNIQUE。
内容的提问来源于stack exchange,提问作者Suryani Sonya
相关产品推荐
相关产品推荐

