如何在Google Sheets中跨工作表匹配字典表id与数据值?
Google Sheets跨工作表匹配ID的解决方案
以下几个函数都能满足你的需求,根据使用习惯选择即可:
1. XLOOKUP(推荐,直观灵活)
XLOOKUP支持反向查找,无需调整字典表的列顺序,直接按需求匹配:
- 单单元格公式(下拉填充整列):
=XLOOKUP(C2, '字典表'!B:B, '字典表'!A:A, "无匹配") - 数组公式(一次性填充整列,无需下拉):
=ARRAYFORMULA(XLOOKUP(C2:C, '字典表'!B:B, '字典表'!A:A, "无匹配"))
参数说明:
C2:数据表中当前行的value值'字典表'!B:B:字典表的value列'字典表'!A:A:字典表要返回的id列"无匹配":未找到对应值时显示的内容,可自定义
2. VLOOKUP(经典函数)
VLOOKUP要求查找值在匹配范围的首列,因此需要临时重组字典表的列顺序:
- 单单元格公式:
=VLOOKUP(C2, {'字典表'!B:B, '字典表'!A:A}, 2, FALSE) - 数组公式:
=ARRAYFORMULA(IF(C2:C="", "", VLOOKUP(C2:C, {'字典表'!B:B, '字典表'!A:A}, 2, FALSE)))
参数说明:
{'字典表'!B:B, '字典表'!A:A}:临时重组的范围,将value列放在首列2:要返回的列(重组后的第二列即原id列)FALSE:启用精确匹配模式
3. INDEX + MATCH(灵活组合)
这个组合适配复杂场景,比VLOOKUP更灵活:
- 单单元格公式:
=INDEX('字典表'!A:A, MATCH(C2, '字典表'!B:B, 0)) - 数组公式:
=ARRAYFORMULA(IF(C2:C="", "", INDEX('字典表'!A:A, MATCH(C2:C, '字典表'!B:B, 0))))
参数说明:
MATCH(C2, '字典表'!B:B, 0):定位value在字典表中的行号INDEX('字典表'!A:A, ...):根据行号提取对应的id
注意:将公式里的
C2、'字典表'!A:A、'字典表'!B:B替换为你实际的单元格/列范围即可。
内容的提问来源于stack exchange,提问作者Alvaro Pedraza
相关产品推荐
相关产品推荐

