Excel 365:如何根据A列值为1拼接对应B列单词?
Excel 365 拼接符合条件单元格的解决方案
针对你的需求,直接使用TEXTJOIN函数就能解决,这是Excel 365专门适配带分隔符拼接场景的函数,比CONCAT更贴合你的需求。
正确公式
=TEXTJOIN(" + ", TRUE, IF(A1:A7=1, B1:B7, ""))
输入后直接按回车即可(Excel 365支持动态数组,无需按Ctrl+Shift+Enter)。
公式说明
" + ":指定拼接时的分隔符,即你需要的「 + 」格式;TRUE:设置为忽略空单元格,A列值为0时生成的空内容会被自动跳过,不会出现多余分隔符;IF(A1:A7=1, B1:B7, ""):判断A列单元格是否为1,是则返回对应B列的单词,否则返回空值。
原公式问题分析
你之前使用的=CONCAT(IF(A1:A7=1,B1:B7," + "))存在两个核心问题:
- 符合条件的单词之间未添加分隔符,导致WHITE、BLUE、GREEN直接连在一起;
- A列值为0时会插入「 + 」,这些多余的分隔符无法被过滤,最终出现
BROWN + + WHITEBLUEGREEN +的错误结果。
内容的提问来源于stack exchange,提问作者Rasec Malkic
相关产品推荐
相关产品推荐

