Excel多列匹配将Home/Host对应国家填入指定列的方法咨询
解决方案
结论
该需求无需VBA,仅用Excel公式即可实现,针对不同Excel版本有对应适配方案:
方案1:适用于Excel 365/2021及以上版本(支持XLOOKUP函数)
E列(Home对应国家)E2单元格输入公式:=XLOOKUP(1,($A$2:$A$100=A2)*($C$2:$C$100="Home"),$B$2:$B$100,"")
F列(Host对应国家)F2单元格输入公式:=XLOOKUP(1,($A$2:$A$100=A2)*($C$2:$C$100="Host"),$B$2:$B$100,"")
注:公式中的
$A$2:$A$100、$B$2:$B$100、$C$2:$C$100请替换为你实际的数据范围,绝对引用符号$不可省略,避免下拉填充时范围偏移。
方案2:适用于Excel 2019及更早版本
E列E2单元格输入公式:=IFERROR(INDEX($B$2:$B$100,MATCH(1,($A$2:$A$100=A2)*($C$2:$C$100="Home"),0)),"")
输入完成后按Ctrl+Shift+Enter组合键触发数组运算生效。
F列F2单元格输入公式:=IFERROR(INDEX($B$2:$B$100,MATCH(1,($A$2:$A$100=A2)*($C$2:$C$100="Host"),0)),"")
同样按Ctrl+Shift+Enter组合键确认。
操作步骤
- 调整公式中的数据范围匹配你的实际表格行数
- 将对应公式输入到首行数据的E、F单元格,按要求确认生效
- 选中E、F列首行已输入公式的单元格,下拉填充到所有数据行即可
注:如果同一人员同一标签对应多个国家,公式默认返回第一个匹配到的结果,与示例输出逻辑一致。
内容的提问来源于stack exchange,提问作者steveP
相关产品推荐
相关产品推荐

