如何在Google表格/Excel中提取值为1的对应列名并合并?
嘿,这个需求我之前在处理产品属性表的时候刚好碰到过,分Google Sheets和Excel两种场景给你整理好公式,直接套用就行:
Google Sheets 解决方案
用TEXTJOIN搭配FILTER就能轻松实现,公式示例:
=TEXTJOIN(", ", TRUE, FILTER($B$1:$Z$1, B2:Z2=1))
拆解一下逻辑:
TEXTJOIN(", ", TRUE, ...):第一个参数是分隔符(这里用逗号加空格),第二个参数TRUE表示忽略空值,最后一个参数是要连接的内容FILTER($B$1:$Z$1, B2:Z2=1):筛选表头区域($B$1:$Z$1)中,对应当前行(B2:Z2)单元格值为1的列名
注意:根据你的实际表格调整表头区域($B$1:$Z$1)和当前行属性区域(B2:Z2)的范围,下拉公式就能批量处理所有行。
Excel 解决方案
分两种版本情况:
支持动态数组的Excel(365/2021及以后)
和Google Sheets的公式几乎一致,直接用:
=TEXTJOIN(", ", TRUE, FILTER($B$1:$Z$1, B2:Z2=1))
回车后公式会自动适配,下拉即可批量应用。
旧版Excel(2019及以前)
因为旧版没有FILTER函数,需要用TEXTJOIN搭配IF的数组公式:
=TEXTJOIN(", ", TRUE, IF(B2:Z2=1, $B$1:$Z$1, ""))
关键操作:输入完公式后,不要直接回车,需要按Ctrl+Shift+Enter组合键作为数组公式确认,之后下拉批量处理。
额外小技巧
- 如果需要更换分隔符,把
TEXTJOIN里的", "改成你想要的就行,比如用分号分隔就写"; ",用换行分隔就写CHAR(10)(记得开启单元格自动换行) - 列名包含空格或特殊字符也不影响,公式会完整提取
内容的提问来源于stack exchange,提问作者oneiroclaud
相关产品推荐
相关产品推荐

