我在 Excel 中遇到了一些难题。下面是示例和说明。
第 1 页:
A 列 | B 列 | C 列 | D 列
_ 名称 _ | _ 日期._ | _ 费用.._ | _ 代码 _
第 2 页:
A 列 | B 列
_ 代码 _ | _ 代码描述
我想在工作表 1 的 E 列中针对工作表 2 的 A 列测试 D 列中的代码。
例如:如果 Sheet1!D4 等于 Sheet2!A:A 范围内的任何值(比如 A37),则返回 B37 作为 Sheet1!E4 中的值。
我本来想做一个 if 函数,但是没有成功。VLookup 不起作用,因为这个 Sheet 无法按代码排序。
我原来的想法: =IF(B4 = Sheet2!A2:A162,Sheet2!B2:B162,)
我知道这行不通,所以请不要指出它的愚蠢之处。这只是我最初的想法,显然在圣诞节临近之际,我的大脑已经停止工作了。而且是失去理智了。
答案1
此公式应该有效。如果有任何问题,请尝试使用命名范围。
=IFERROR(INDEX('Sheet2'!$B$2:$B$162,MATCH('Sheet1'!$D2,'Sheet2'!$A$2:$A$162,0)),"")
答案2
只要您将最后一个参数设置为 FALSE,VLOOKUP 就能正常工作。例如,设置E4
为=VLOOKUP(D4, Sheet2!A:B, 2, FALSE)
。