Excel公式需求:匹配列标题并返回对应行值
查找指定列标题并返回当前行对应值(逗号分隔)
适用于Excel 365/2021及后续版本
直接用TEXTJOIN结合条件判断即可,公式如下:
=TEXTJOIN(", ", TRUE, IF($A$1:$BC$1="OA.5", $A2:$BC2, ""))
$A$1:$BC$1:替换为你的实际标题行范围,用绝对引用锁定行,避免下拉公式时偏移$A2:$BC2:当前行的数据范围,行号为相对引用,下拉时自动匹配对应行TEXTJOIN的第二个参数TRUE会自动忽略空值,避免出现多余逗号- 直接回车生效,无需按组合键
适用于旧版Excel(2019及更早)
旧版无TEXTJOIN函数,可使用PHONETIC结合数组公式实现(需按Ctrl+Shift+Enter确认输入):
=SUBSTITUTE(TRIM(PHONETIC(IF($A$1:$BC$1="OA.5", " "&$A2:$BC2, ""))), " ", ", ")
- 如果数据包含数字,可将
$A2:$BC2替换为TEXT($A2:$BC2, "G")(通用格式),确保数字能被PHONETIC识别 - 同样要注意标题行的绝对引用,保证下拉时范围正确
注意事项
- 若当前行没有匹配
OA.5标题的列,公式会返回空值,不会产生错误 - 根据实际表格范围调整公式中的列边界(比如把
BC换成实际的最后一列字母)
内容的提问来源于stack exchange,提问作者Nick
相关产品推荐
相关产品推荐

