Excel Vlookup在列不匹配时产生#N / A错误,而是索引?

时间:2018-03-15 17:17:47

标签: excel vlookup

我在工作簿中有两张表,其中包含来自不同日期的数据,以便为所需数据添加新列。但是,我只需要处理原始数据拉动(因为原始拉动后添加了新项目,可以忽略这些项目)。因此,表1包含53,875个订单项,而表2包含54134个订单项。

第一列是用户ID,因此我在该列上对两个工作表进行了排序。

我想做的是从第2页的第L列获取数据,然后将其插入第1页的空白列Sheet1!Ax = Sheet2!Ax。我想出的公式是:

=VLOOKUP(Sheet1!A1,Sheet2!A1:L1,12,0)

然后,我将其填入第一张纸中的其余空白单元格。它工作正常,直到Sheet 2中的第一个新数据项无法匹配Sheet 1.之后,每个单元格都有#N / A错误。

Vlookup是用于此任务的正确工具,还是其他工具?

2 个答案:

答案 0 :(得分:3)

您也可以使用:

=INDEX(Sheet2!L$1:L$54134,MATCH(Sheet1!$A1,Sheet2!A$1:A$54134,0))

未经测试但应该有效,我倾向于发现它比vlookup更稳定,也可能更快。

答案 1 :(得分:3)

如果可以,使用表而不是范围 - 表将自动扩展为新数据,绝对范围不会。

单击“源”范围内的任意位置,从主页功能区(“样式”组下方)中选择“格式为表格”。然后为你的“目标”范围做同样的事情。

现在您有两个表,您可以使用表公式,再也不用担心“向下拖动公式”,因为公式会自动应用于整个列!

假设您在KeyTable1中有一个Table2列,并且您在Column1中为每个{{{}找到相应的Table2值1}} Key;公式可能如下所示:

Table1

=VLOOKUP([@Key],Table2[[#All],[Key]:[Column1]],2,FALSE)

如果标题发生变化,则公式会自动更新。如果在=VLOOKUP([@Key],Table2[[#All],[Key]:[Column1]],2,FALSE) 中添加了数据,则查找公式会自动添加到新行中。如果在Table1中添加了数据,则无需调整公式!

爱表,他们会爱你的回来!