如何在Google Sheets中生成组合统计图表与对应问题列表?
Google Sheets 按「参与者数量+严重程度」组合汇总问题描述方案
问题说明
现有表格含3列数据:A列(问题描述)、B列(参与者数量)、C列(严重程度)。已完成需求1(生成组合计数图表),但尝试用QUERY+MAP实现需求2(按组合列出对应所有问题描述)失败,以下是可行解决方法。
已尝试的无效公式:
=QUERY((MAP(B2:B6; C2:C6; LAMBDA(x; y; TEXTJOIN(CONCATENATE(CHAR(10);CHAR(10)); 1; FILTER(A2:A6; B2:B6=x; C2:C6=y)))); B2:C6); "select C,max(A) where A is not null group by C pivot B order by C desc")
=QUERY((MAP(B2:B6; C2:C6; LAMBDA(x; y; TEXTJOIN(CONCATENATE(CHAR(10);CHAR(10)); 1; FILTER(A2:A6; B2:B6=x; C2:C6=y)))); B2:C6); "select Col1,max(Col1) where Col1 is not null group by Col3 pivot Col2 order by Col3 desc")
可行解决方案
方案1:兼容全版本的QUERY+BYROW组合写法
=QUERY( {C2:C6, B2:B6, BYROW(UNIQUE({C2:C6, B2:B6}), LAMBDA(z, TEXTJOIN(CHAR(10)&CHAR(10), 1, FILTER(A2:A6, C2:C6=INDEX(z,1), B2:B6=INDEX(z,2)))))}, "select Col1, max(Col3) group by Col1 pivot Col2 order by Col1 desc", 1 )
- 逻辑:先提取所有唯一的「严重程度+参与者数量」组合,遍历每个组合筛选对应描述并拼接,最后用
QUERY透视成需求格式 - 注意:需确保单元格开启「自动换行」(右键单元格→格式设置→文本换行)
方案2:新版Google Sheets简化写法(PIVOTBY函数)
若你的Google Sheets已支持PIVOTBY函数,可使用更简洁的公式:
=PIVOTBY( C2:C6, B2:B6, A2:A6, LAMBDA(vals, TEXTJOIN(CHAR(10)&CHAR(10), 1, vals)), "desc", "asc" )
- 逻辑:直接指定行(严重程度)、列(参与者数量)分组依据,用自定义Lambda函数拼接对应问题描述,最后设置排序规则
内容的提问来源于stack exchange,提问作者Yahalnaut
相关产品推荐
相关产品推荐

