条件成立时追加现有值:如何用IF+XLOOKUP实现Excel跨表匹配拼接字段
跨Sheet匹配并拼接列内容的正确实现方式
首先确认表格结构预设:
- Sheet1:第1行为表头,A列为
colors,B列为原始fruits,数据从第2行开始 - Sheet2:第1行为表头,A列为
darkcolors,B列为d,C列为e,数据从第2行开始
支持XLOOKUP的新版Excel(365/2021及以后)
在Sheet1的C2单元格(可直接替换B列公式,建议先使用辅助列验证)输入以下公式,下拉填充即可:
=B2&IFERROR("+"&TEXTJOIN("+",TRUE,XLOOKUP(A2,Sheet2!A:A,Sheet2!B:C)),"")
公式逻辑说明:
XLOOKUP(A2,Sheet2!A:A,Sheet2!B:C):用当前行的colors值匹配Sheet2的darkcolors列,匹配成功则返回对应行的d、e两列值TEXTJOIN("+",TRUE,xxx):将返回的d、e值用加号拼接,TRUE参数会自动忽略空值,避免生成多余加号- 外层嵌套
IFERROR:匹配失败时返回空字符串,不会修改原始fruits内容
不支持XLOOKUP的旧版Excel
使用VLOOKUP替代实现,公式如下:
=B2&IFERROR("+"&VLOOKUP(A2,Sheet2!A:C,2,FALSE)&"+"&VLOOKUP(A2,Sheet2!A:C,3,FALSE),"")
内容的提问来源于stack exchange,提问作者seeman
相关产品推荐
相关产品推荐

