Google Sheets替代VLOOKUP跨工作表匹配提取订单对应费用数据求助
Google Sheets多条件匹配替代VLOOKUP解决方案
推荐方案1:XLOOKUP(最简洁,Google Sheets全版本支持)
该方案无需辅助列,支持多条件精准匹配,灵活度远高于VLOOKUP。
单Payment Fee列公式(Sheet1 B2单元格输入)
=XLOOKUP(1, (Sheet2!B:B = A2) * (Sheet2!A:A = "Payment Fee"), Sheet2!C:C, "无匹配数据")
参数说明:
- 第一参数
1是匹配目标,两个判断条件都满足时乘积为1,即可命中对应行 (Sheet2!B:B = A2):匹配Sheet2和Sheet1一致的订单号(Sheet2!A:A = "Payment Fee"):匹配费用类型为Payment Fee的行Sheet2!C:C:命中后返回Sheet2 C列的金额- 最后一个参数是无匹配时的返回值,可自定义
适配Sheet1 C-H列通用公式
如果Sheet1 B-H列的表头和Sheet2中记录的费用类型名称完全一致,直接在B2输入以下公式,横向拖拽到H列、再纵向拖拽到所有数据行即可自动适配所有列的匹配规则:
=XLOOKUP(1, (Sheet2!B:B = $A2) * (Sheet2!A:A = B$1), Sheet2!C:C, "无匹配数据")
公式中
$A2锁定A列,横向拖拽时始终匹配A列的订单号;B$1锁定第1行,纵向拖拽时始终匹配当前列的表头作为费用类型筛选条件。
推荐方案2:INDEX+MATCH(兼容所有电子表格工具的通用写法)
如果需要兼容其他表格工具,可以使用经典的INDEX+MATCH多条件匹配方案,Sheet1 B2通用公式如下,同样支持横向、纵向拖拽适配所有列:
=IFERROR(INDEX(Sheet2!C:C, MATCH(1, (Sheet2!B:B = $A2) * (Sheet2!A:A = B$1), 0)), "无匹配数据")
内容的提问来源于stack exchange,提问作者Ammad Ejaz
相关产品推荐
相关产品推荐

