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

Google Sheets聚合列统计:按A列值统计'x'符号数量

解决方案:用SQL或数组公式实现表格聚合与统计

SQL 实现

假设你的源表名为yellow_table,A列对应字段category,B-F列对应字段col_b、col_c、col_d、col_e、col_f,单元格值为x或空。

通用兼容方案(UNION ALL)

通过列转行将B-F列的内容转为行记录,再过滤x并按category分组统计:

SELECT
  category,
  COUNT(*) AS x_count
FROM (
  SELECT category, col_b AS value FROM yellow_table
  UNION ALL
  SELECT category, col_c AS value FROM yellow_table
  UNION ALL
  SELECT category, col_d AS value FROM yellow_table
  UNION ALL
  SELECT category, col_e AS value FROM yellow_table
  UNION ALL
  SELECT category, col_f AS value FROM yellow_table
) unpivoted
WHERE value = 'x'
GROUP BY category
ORDER BY category;

简洁方案(UNPIVOT语法)

适用于支持UNPIVOT的SQL方言(如SQL Server、BigQuery等):

SELECT
  category,
  COUNT(*) AS x_count
FROM yellow_table
UNPIVOT (
  value FOR cols IN (col_b, col_c, col_d, col_e, col_f)
) AS unpivoted_data
WHERE value = 'x'
GROUP BY category
ORDER BY category;

数组公式实现(电子表格工具)

Google Sheets 方案

假设源数据在A1:F区域,直接用QUERY+FLATTEN完成聚合统计:

=QUERY(FLATTEN(A2:A, B2:F), "SELECT Col1, COUNT(Col2) WHERE Col2 = 'x' GROUP BY Col1 LABEL Col1 '分类', COUNT(Col2) 'x数量'")

FLATTEN将A列与B-F列转为两列结构,QUERY负责过滤x并分组统计结果。

Excel 方案

动态数组版本(Excel 365/2021)

用LET整合逻辑,一次性生成结果:

=LET(
    categories, UNIQUE(A2:A),
    x_counts, BYROW(categories, LAMBDA(cat, COUNTIF(OFFSET(B2:F, MATCH(cat,A2:A,0)-1,0,COUNTIF(A2:A,cat)), "x"))),
    HSTACK(categories, x_counts)
)

UNIQUE提取A列唯一分类,BYROW遍历每个分类并统计对应区域的x数量,HSTACK合并结果为表格。

传统兼容版本(旧版Excel)

  1. 提取唯一分类(输入后按Ctrl+Shift+Enter):
=IFERROR(INDEX(UNIQUE(A$2:A$100), ROW(A1)), "")
  1. 对应分类统计x数量(同样按数组公式快捷键):
=IFERROR(SUMPRODUCT((A$2:A$100=D1)*(B$2:F$100="x")), "")

(注:D列为上述唯一分类输出列,可根据实际位置调整)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 14:10:50