COUNT UNIQUE FILTER公式计算异常求助:签约地主数统计错误
问题分析与解决方案
核心问题
你的公式存在两个关键问题:
- 未识别工作表筛选状态:默认
FILTER函数会包含所有行(包括筛选隐藏的行),导致筛选后可见的签约记录未被统计。 - 手动减1排除表头易出错:用
-1强行排除表头,当FILTER无结果时会得到负数,且若表头被误纳入筛选结果,会导致统计偏差。
修正公式
情况1:需要统计筛选可见行中代理人的已签约唯一地主数
使用以下公式,自动识别可见行并排除表头:
=COUNTA(UNIQUE(FILTER(Master!$B:$B, (Master!$M:$M=Metrics!$A17)* (Master!$N:$N="Signed")* (SUBTOTAL(103, OFFSET(Master!$B1, ROW(Master!$B:$B)-ROW(Master!$B1), 0))=1) )))
SUBTOTAL(103,...):判断每行是否为可见行(返回1表示可见,0表示隐藏),确保仅统计筛选后的有效行。- 无需手动
-1:表头行的M列值不等于代理人名称,会被FILTER自动排除。
情况2:无需考虑筛选状态,仅统计所有行中的有效数据
将公式范围限定为数据区域(而非整列),直接排除表头:
=COUNTA(UNIQUE(FILTER(Master!$B2:$B1000, (Master!$M2:$M1000=Metrics!$A17)* (Master!$N2:$N1000="Signed") )))
- 把
$B2:$B1000、$M2:$M1000、$N2:$N1000替换为你实际的数据行范围即可。
验证逻辑
- 针对Kevin的情况,使用修正后的公式后,筛选可见的签约记录会被正确识别,统计结果将显示为1。
- 无签约记录的代理人,公式会返回0,不会出现统一为1的错误。
内容的提问来源于stack exchange,提问作者Kolev_I_N
相关产品推荐
相关产品推荐

