如何在Excel中匹配供应商与市场,返回对应存在的水果单元格结果?
解决供应商-水果匹配缺失值问题
函数方案
方案1:INDEX + MATCH(全Excel版本兼容)
假设原始数据区域为$A$2:$D$5(A列是供应商名称,B-D列为水果品类,单元格有值代表供应商供应该水果),目标表中需匹配的供应商在单元格F2,可使用以下公式:
=IFERROR(INDEX($B$1:$D$1,MATCH(TRUE,INDEX($B$2:$D$5,MATCH(F2,$A$2:$A$5,0),0)<>"",0)),"")
逻辑说明:
- 先通过
MATCH(F2,$A$2:$A$5,0)定位目标供应商在原始表中的行号 - 再用
INDEX($B$2:$D$5,行号,0)提取该供应商对应的所有水果列数据 - 接着用
MATCH(TRUE,...<>"",0)找到该行第一个非空的水果列位置 - 最后通过
INDEX($B$1:$D$1,...)提取对应水果名,IFERROR处理无匹配场景,返回空值
方案2:XLOOKUP(Excel 365/2021及以上版本适用)
新版Excel可使用更简洁的公式:
=IFERROR(XLOOKUP(TRUE,INDEX($B$2:$D$5,MATCH(F2,$A$2:$A$5,0),0)<>"",$B$1:$D$1,""),"")
直接定位供应商行内第一个非空单元格对应的水果表头,无匹配时返回空值
多水果拼接(若供应商对应多个水果)
如果需要将供应商所有供应的水果拼接显示,可使用TEXTJOIN:
=IFERROR(TEXTJOIN(", ",TRUE,IF(INDEX($B$2:$D$5,MATCH(F2,$A$2:$A$5,0),0)<>"",$B$1:$D$1,"")),"")
注:旧版Excel需按Ctrl+Shift+Enter作为数组公式输入,新版Excel无需额外操作
关键提示
- 确保原始表与目标表的供应商名称完全一致(无空格、大小写统一)
- 公式中的单元格区域需根据实际表格调整,添加绝对引用(
$)避免填充时区域偏移
内容的提问来源于stack exchange,提问作者ponmani
相关产品推荐
相关产品推荐

