在Excel中跨越几列的VLOOKUP

时间:2014-03-25 17:17:34

标签: excel excel-vba vlookup vba

我试图在一张工作表中查找数据并在另一张工作表中找到它,然后显示一个列值,如果下一列中的其他元素匹配,则b / c重复一些数字。这是一个例子。谢谢你的帮助。

第一张

Column G (DocNum)     H (Date)      I (Amount)        J (Action)

    00381959           20140221     $247.25      
    00381959           20140221     $5000.00  
    00381959           20130930     $25.56   
    00321201           20130815     $15000.00  
    00740022           20121212     $1525.00

第二张(数千个DocNums)需要将Action计划填充到Sheet One上。

第二张

Column F (DocNum)     G (Date)       H (Amount)    I (Action)

    00381959           20140221     $247.25       Explanation 1  
    00381959           20140221     $5000.00      Explanation 2   
    00381959           20130930     $25.56        Explanation 3  
    00321201           20130815     $15000.00     Explanation 4  
    00740022           20121212     $1525.00      Explanation 5 

所以我想一个匹配单词的公式:查看Sheet One G:G表2中的F:我和如果比较表一G,H,I =表二F,G,H,那么我(意思是填写表2中的说明到表1)。

2 个答案:

答案 0 :(得分:1)

您需要添加“关键”列,例如A列:

sheet Two
A2 = F2&G2&H2

然后执行你的VLOOKUP找到密钥:

Sheet One
J2=vlookup(G2&H2&I2;Two!A:I;9;false)

易于阅读,易于检查您的密钥是否定义,易于维护!

答案 1 :(得分:0)

在第一张J2中使用此内容:

=INDEX(Two!I:I,MATCH(G2 & H2 & I2,Two!F:F & Two!G:G & Two!H:H,0))

并按 CTRL + SHIFT + ENTER 进行评估,然后将其向下拖动。

为了使公式更快,我建议你使用确切的范围:

=INDEX(Two!$I$1:$I$100,MATCH(G2 & H2 & I2,Two!$F$1:$F$100 & Two!$G$1:$G$100 & Two!$H$1:$H$100,0))