Vlookup with Hlookup 错误的单元格值 (Excel)
Vlookup with Hlookup wrong cell value (Excel)
我正在尝试结合使用 VLOOKUP 和 HLOOKUP 从 table 中提取值,但它总是给我错误的单元格 - 将单元格值偏移一个 -
等式是
=VLOOKUP(G22,A5:Z18,HLOOKUP(H22,B3:Z4,1,FALSE),FALSE)
红色记录的单元格。是正确的答案,但它总是 return 绿色圆圈中的值
我的代码有什么问题?
INDEX/MATCH 通过 VLOOKUP 或 HLOOKUP
根据经验,只有当您有更多行并且您想要 return 来自除第一行以外的任何值时,才使用 HLOOKUP
才有意义。类似地,只有当您有更多列并且您想要 return 来自除第一列之外的任何值时,使用 VLOOKUP
才有意义。
通过将 INDEX
与 MATCH
结合使用,可以更灵活地处理查找。
=INDEX(A3:Z18,MATCH(G22,A3:A18,0),MATCH(H22,A3:Z3,0))
如果有人在G22
中输入3
,就会显示错误。一种简单的错误处理方法是使用 IFERROR
函数。
=IFERROR(INDEX(A3:Z18,MATCH(G22,A3:A18,0),MATCH(H22,A3:Z3,0)),"")
仔细研究图像。在查找 完全匹配 时,我从不使用 VLOOKUP
或 HLOOKUP
,因为 INDEX
和 MATCH
涵盖了所有内容。这并不意味着您应该放弃使用它们,因为它们是熟悉索引、偏移量等的好工具。
如果您有 Excel 365,则可以按照 This reference 的示例 5 中所述使用 Xlookup。请注意,Xlookup 可以 return 二维数组中的整列:
=XLOOKUP(G22,A5:A18,XLOOKUP(H22,B3:K3,B5:K18))
或者如果数据实际上是 table,其中 Phi 是第一列,mm 是 headers,这将是:
=XLOOKUP(G22,Table1[φ],XLOOKUP(H22,Table1[#Headers],Table1))
注意 如果 mm 在 headers 中,它们被格式化为文本,因此必须格式化 H22 以反映这一点或使用
=XLOOKUP(G22,A5:A18,XLOOKUP(TEXT(H22,"general"),B3:K3,B5:K18))
和
=XLOOKUP(G22,Table1[φ],XLOOKUP(TEXT(H22,"general"),Table1[#Headers],Table1))
我正在尝试结合使用 VLOOKUP 和 HLOOKUP 从 table 中提取值,但它总是给我错误的单元格 - 将单元格值偏移一个 -
等式是
=VLOOKUP(G22,A5:Z18,HLOOKUP(H22,B3:Z4,1,FALSE),FALSE)
红色记录的单元格。是正确的答案,但它总是 return 绿色圆圈中的值 我的代码有什么问题?
INDEX/MATCH 通过 VLOOKUP 或 HLOOKUP
根据经验,只有当您有更多行并且您想要 return 来自除第一行以外的任何值时,才使用
HLOOKUP
才有意义。类似地,只有当您有更多列并且您想要 return 来自除第一列之外的任何值时,使用VLOOKUP
才有意义。通过将
INDEX
与MATCH
结合使用,可以更灵活地处理查找。=INDEX(A3:Z18,MATCH(G22,A3:A18,0),MATCH(H22,A3:Z3,0))
如果有人在
G22
中输入3
,就会显示错误。一种简单的错误处理方法是使用IFERROR
函数。=IFERROR(INDEX(A3:Z18,MATCH(G22,A3:A18,0),MATCH(H22,A3:Z3,0)),"")
仔细研究图像。在查找 完全匹配 时,我从不使用
VLOOKUP
或HLOOKUP
,因为INDEX
和MATCH
涵盖了所有内容。这并不意味着您应该放弃使用它们,因为它们是熟悉索引、偏移量等的好工具。
如果您有 Excel 365,则可以按照 This reference 的示例 5 中所述使用 Xlookup。请注意,Xlookup 可以 return 二维数组中的整列:
=XLOOKUP(G22,A5:A18,XLOOKUP(H22,B3:K3,B5:K18))
或者如果数据实际上是 table,其中 Phi 是第一列,mm 是 headers,这将是:
=XLOOKUP(G22,Table1[φ],XLOOKUP(H22,Table1[#Headers],Table1))
注意 如果 mm 在 headers 中,它们被格式化为文本,因此必须格式化 H22 以反映这一点或使用
=XLOOKUP(G22,A5:A18,XLOOKUP(TEXT(H22,"general"),B3:K3,B5:K18))
和
=XLOOKUP(G22,Table1[φ],XLOOKUP(TEXT(H22,"general"),Table1[#Headers],Table1))