Google Sheet自动提取每行标记为1的分类名称解决方案问询
Google Sheet行匹配分类表头提取方案
方案1:单单元格聚合展示所有匹配分类
适用于需要把同一行所有符合条件的分类合并到一个单元格的场景。
假设你的分类表头位于第1行的B1:D1范围,待判断的数值行从第2行开始,结果输出到E列,在E2单元格输入以下公式后下拉即可:
=TEXTJOIN("、", TRUE, FILTER($B$1:$D$1, B2:D2=1, ""))
参数说明:
- 第一个参数
、是分类之间的分隔符,你可以按需换成逗号、空格等其他符号 - 第二个参数
TRUE表示自动忽略空值,不会出现多余的分隔符 - FILTER部分会自动筛选出当前行值为1的列对应的表头
方案2:匹配分类拆分到单独列
适用于需要把每个符合条件的分类分别放在不同列的场景。
在首个结果列(比如E2)输入以下公式,先向右拉到你预估最多匹配分类的列数,再整体向下拉即可:
=IFERROR(INDEX($B$1:$D$1, SMALL(IF(B2:D2=1, COLUMN($B$1:$D$1)-COLUMN($B$1)+1, ""), COLUMN(A1))), "")
通用注意事项
- 公式中
$B$1:$D$1是分类表头的固定范围,你需要根据自己表格的实际列数修改范围,注意不要遗漏绝对引用符号$,避免下拉时表头范围偏移 - 如果需要排除非1的其他异常值,可以在筛选条件中新增判断规则,比如添加
B2:D2<>""排除空白单元格的干扰 - 如果你的表格是带表头的结构化区域,可以直接替换范围为对应的结构化引用,公式适配性更强
内容的提问来源于stack exchange,提问作者Manel
相关产品推荐
相关产品推荐

