VLookUp介于2张之间

时间:2015-10-14 06:35:14

标签: excel vba excel-vba excel-2007

我有两张纸,它们都有销售订单,所以我必须做一个VLookUp,因为销售商在sheet2中的位置与在表单1中的位置不同。

我知道我必须做一个VLookUp,但我不知道该怎么做。

1 个答案:

答案 0 :(得分:1)

VLOOKUP function中,您需要提供要返回的值的 column_num 。在您的情况下,您可以使用MATCH function使用标题找到正确的列。

在Sheet1!B2中,使用此公式

=IFERROR(VLOOKUP(--RIGHT($A2, 9), Sheet2!$A:$N, MATCH(B$1, Sheet2!$1:$1, 0), FALSE), IFERROR(VLOOKUP(RIGHT($A2, 9), Sheet2!$A:$N, MATCH(B$1, Sheet2!$1:$1, 0), FALSE), ""))

目前还不清楚Sheet2!A:A中的值是否是文本看起来像数字或实际数字。以上将着眼于两者。如果您的系统使用分号作为列表分隔符而不是逗号,那么就是

=IFERROR(VLOOKUP(--RIGHT($A2; 9); Sheet2!$A:$N; MATCH(B$1; Sheet2!$1:$1; 0); FALSE); IFERROR(VLOOKUP(RIGHT($A2; 9); Sheet2!$A:$N; MATCH(B$1; Sheet2!$1:$1; 0); FALSE); ""))

向右和向下填充。每个公式都会尝试匹配Sheet1中的标题标签和Sheet2中的标题标签,以便返回正确的值。

RIGHT function将从Sheet1中的Sagsnr值中删除S-

IFERROR function将检查真实数字,然后检查看起来像数字的文本。如果两者都不匹配,则只返回零长度字符串(例如"")。

VLOOKUP with MATCH for column_num