You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets中如何将单元格区域作为COUNTIFS函数的条件

解决方案:在Google Sheets中统计匹配任意变体的记录数

以下是几种无需手动逐个添加变体的高效公式方案,自动同步B列变体的更新:

  • 方法1:适配你最初的数组思路(SUM + COUNTIFS)
    对B列非空变体去重后,批量统计每个变体的符合条件记录数再求和:

    =SUM(COUNTIFS(A:A,UNIQUE(FILTER(B:B,B:B<>"")),C:C,"small"))
    

    说明:

    • FILTER(B:B,B:B<>"") 筛选出B列所有非空变体值
    • UNIQUE(...) 对变体去重,避免重复统计同一变体
    • COUNTIFS 对每个变体单独统计匹配A列且C列为"small"的记录数,返回结果数组
    • SUM 将数组结果相加得到总数量
  • 方法2:直观筛选统计(FILTER + ROWS)
    直接筛选符合条件的行后统计行数:

    =ROWS(FILTER(A:A,ISNUMBER(MATCH(A:A,FILTER(B:B,B:B<>""),0)),C:C="small"))
    

    说明:

    • MATCH 检查A列值是否存在于B列非空变体中,存在返回位置,否则返回错误
    • ISNUMBER 将匹配结果转为布尔值,筛选出A列属于变体的行
    • 叠加C:C="small"条件后,用ROWS统计筛选结果的行数
  • 方法3:数组运算统计(SUMPRODUCT)
    通过数组乘法直接计算符合条件的行数:

    =SUMPRODUCT(--(ISNUMBER(MATCH(A:A,FILTER(B:B,B:B<>""),0))),--(C:C="small"))
    

    说明:

    • --(...) 将布尔值TRUE/FALSE转为数字1/0
    • 两个数组相乘后,仅同时满足两个条件的位置会得到1
    • SUMPRODUCT对所有结果求和得到总数量

你之前遇到的问题说明

用数组形式的COUNTIFS只返回第一个变体结果,是因为COUNTIFS在条件为数组时会返回对应每个条件的结果数组,而非自动求和,只要用SUM包裹就能得到总数。手动相加多个COUNTIFS的方式变体更新时需手动修改公式,以上方案都会自动同步B列的变体变化,无需手动调整。

内容的提问来源于stack exchange,提问作者Heidi B.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 14:21:01