可使用FILTER与UNIQUE嵌套配合ROWS、SUMPRODUCT与COUNTIFS组合、或高级筛选加SUBTOTAL三种方法统计满足条件的唯一值数量:第一种公式为=ROWS(UNIQUE(FILTER(A2:A100,B2:B100="是"))),第二种为=SUMPRODUCT((B2:B100="是")/COUNTIFS(A2:A100,A2:A100,B2:B100,"是")),第三种需通过高级筛选提取不重复记录后用=SUBTOTAL(103,D2:D100)统计。

如果您在Excel中需要统计一组数据中满足特定条件的唯一值数量,仅使用COUNT函数配合UNIQUE函数无法直接实现条件筛选,因为UNIQUE函数本身不支持内置条件判断。以下是几种可行的替代方法:
一、使用FILTER与UNIQUE嵌套配合ROWS
该方法先用FILTER按条件筛选出目标数据子集,再用UNIQUE提取其中的唯一值,最后用ROWS统计行数,从而得到满足条件的唯一值数量。
1、假设数据在A2:A100列,条件列为B2:B100,需统计B列等于“是”的对应A列中唯一值个数。
2、在空白单元格输入公式:=ROWS(UNIQUE(FILTER(A2:A100,B2:B100="是")))。
3、按Enter确认,结果即为满足条件的唯一值数量。
二、使用SUMPRODUCT与COUNTIFS组合
该方法通过逻辑判断构建布尔数组,结合COUNTIFS对每个唯一值检查其是否满足条件且首次出现,避免重复计数。
1、仍以A2:A100为数据列、B2:B100为条件列为例。
2、输入公式:=SUMPRODUCT((B2:B100="是")/COUNTIFS(A2:A100,A2:A100,B2:B100,"是"))。
3、确保A列中无空单元格,否则需额外处理空值;公式将自动忽略分母为零的错误并返回正确计数。
三、借助高级筛选+SUBTOTAL函数手动辅助法
当不适用动态数组函数(如FILTER/UNIQUE)时,可利用Excel界面功能提取符合条件的唯一值列表,再用SUBTOTAL统计可见行数。
1、选中A1:B100区域,点击【数据】→【高级筛选】。
2、勾选“将筛选结果复制到其他位置”,在“条件区域”填入B1:B2(B1为标题“条件”,B2为“是”),在“复制到”指定空白列首单元格(如D1)。
3、勾选“选择不重复的记录”,点击确定,D列将生成去重后的符合条件值。
4、在任意单元格输入:=SUBTOTAL(103,D2:D100),其中103表示COUNTA且忽略隐藏行。










