Google Sheets中用ARRAYFORMULA基于多条件统计数组唯一值
用ARRAYFORMULA统计特定ID对应的唯一数值数量
适用场景
在Google Sheets中,TAB A为带唯一产品ID的原始数据,需在TAB B中批量统计每个指定ID对应目标列的唯一值数量。
公式实现(支持最新Sheets版本)
假设TAB A的产品ID列是A列,待统计的数值列是B列,TAB B的A列为需要统计的ID列表,在TAB B的B2单元格输入以下公式,即可自动填充整列:
=ARRAYFORMULA(IF(A2:A="", "", BYROW(A2:A, LAMBDA(id, COUNTA(UNIQUE(FILTER('TAB A'!B:B, 'TAB A'!A:A=id)))))))
公式拆解
ARRAYFORMULA:实现整列自动计算,无需手动下拉IF(A2:A="", "", ...):跳过空行,避免无效结果BYROW(A2:A, LAMBDA(id, ...)):遍历TAB B的每个ID,执行后续统计逻辑FILTER('TAB A'!B:B, 'TAB A'!A:A=id):筛选出当前ID对应的所有目标数值UNIQUE(...):去除筛选结果中的重复值COUNTA(...):统计去重后的有效数值数量
兼容旧版Sheets的替代公式
若不支持BYROW和LAMBDA函数,可使用以下公式:
=ARRAYFORMULA(IF(A2:A="", "", SUMPRODUCT(--(UNIQUE(FILTER('TAB A'!A:B, 'TAB A'!A:A=A2:A))<>"")/COUNTIF(FILTER('TAB A'!A:B, 'TAB A'!A:A=A2:A), FILTER('TAB A'!A:B, 'TAB A'!A:A=A2:A)))-1))
注:此公式会排除ID列本身的计数,仅统计目标数值列的唯一值数量。
内容的提问来源于stack exchange,提问作者Danillo Villas Neto
相关产品推荐
相关产品推荐

