Excel:如何用单个公式统计第一列对应第二列的唯一值数量
用单个Excel公式统计分组下的唯一值数量
当然可以用单个Excel公式实现这个需求,根据你的Excel版本不同,公式有所区别:
适用Excel 365/2021及以上版本(支持动态数组)
假设第一列数据在A:A,第二列在B:B,输入以下公式会自动生成所有分组的统计结果:
=BYROW(UNIQUE(A:A),LAMBDA(x,COUNTA(UNIQUE(FILTER(B:B,A:A=x)))))
公式逻辑:
UNIQUE(A:A)提取第一列的所有唯一分组值BYROW遍历每个分组值x,用FILTER(B:B,A:A=x)筛选出该分组对应的第二列数据- 对筛选结果用
UNIQUE去重,再用COUNTA统计去重后的数量
适用旧版Excel(无动态数组支持)
假设数据范围是A2:A26和B2:B26,在对应分组的单元格(比如C2)输入以下数组公式,按Ctrl+Shift+Enter确认后下拉填充:
=SUM(IF(FREQUENCY(IF(A$2:A$26=A2,B$2:B$26,""),B$2:B$26)>0,1))
公式逻辑:
IF(A$2:A$26=A2,B$2:B$26,"")筛选出当前分组对应的第二列数据FREQUENCY统计这些数据的出现频率,频率大于0的即为唯一值SUM统计频率大于0的数量,也就是唯一值的个数
内容的提问来源于stack exchange,提问作者SaPires
相关产品推荐
相关产品推荐

