按WH_Code统计带True/False参数的唯一产品数量(COUNTIFS失效)
解决方案:谷歌表格按WH_Code统计多列区域数据
由于COUNTIFS要求条件区域与统计区域维度匹配,无法直接处理多列的WH_Breakdown(C:NX),可以用以下两种方法实现需求:
方法1:使用QUERY函数(推荐)
在空白单元格输入以下公式,会自动生成包含统计结果的表格:
=QUERY({FLATTEN(A:A), FLATTEN(B:B), FLATTEN(C:NX)}, "SELECT Col1, COUNT(DISTINCT Col2), COUNTIF(Col3, TRUE), COUNTIF(Col3, FALSE) WHERE Col1 IS NOT NULL AND Col2 IS NOT NULL GROUP BY Col1 LABEL Col1 'WH_Code', COUNT(DISTINCT Col2) 'Total Unique', COUNTIF(Col3, TRUE) 'True', COUNTIF(Col3, FALSE) 'False'")
公式说明:
{FLATTEN(A:A), FLATTEN(B:B), FLATTEN(C:NX)}:将WH_Code列、产品名称列、多列参数区域统一转成单列,构建维度匹配的二维数组SELECT ... GROUP BY Col1:按WH_Code分组,统计唯一产品数、True和False的数量LABEL:设置表头名称,匹配需求的输出格式
方法2:使用UNIQUE+SUMPRODUCT数组公式
- 提取唯一WH_Code列表,在空白单元格输入:
=UNIQUE(FILTER(A:A, A:A<>""))
- 计算对应WH_Code的唯一产品总数(假设WH_Code在D列,公式放在E列):
=SUMPRODUCT(1/COUNTIFS(FILTER(B:B, A:A=D2), FILTER(B:B, A:A=D2)))
下拉填充公式即可批量计算
3. 计算True的数量:
=SUMPRODUCT(--(FILTER(C:NX, A:A=D2)=TRUE))
- 计算False的数量:
=SUMPRODUCT(--(FILTER(C:NX, A:A=D2)=FALSE))
最终输出示例
| WH_Code | Total Unique | True | False |
|---|---|---|---|
| 828 | 2308 | 1821 | 487 |
| 857 | 2308 | 1821 | 488 |
| 642 | 2294 | 1806 | 488 |
| 408 | 2308 | 1821 | 487 |
| 519 | 2294 | 1807 | 487 |
内容的提问来源于stack exchange,提问作者Bungs
相关产品推荐
相关产品推荐

