如何比较Excel中的多个字段

时间:2015-04-13 20:50:02

标签: excel vlookup

我有两个电子表格,我想比较多个列。如何使用Vlookup或其他类型的公式来获得正确的结果?

表1包含以下信息。


表2包含以下信息;并且column H是预期结果列。

我希望能够在表格2中输入一个公式,以便从表格1(A列)中提取与表格1中的相同描述和费用编号相匹配的行号。

3 个答案:

答案 0 :(得分:1)

尝试将其作为数组公式(输入公式时按Ctrl + Shift + Enter而不是Enter):

=INDEX(Sheet1!$A$2:$A$7,MATCH(D2&A2,Sheet1!$B$2:$B$7&Sheet1!$C$2:$C$7,0))

答案 1 :(得分:0)

假设您将此公式放在 SHEET 2 column E中,那么:

=INDEX(Sheet1!$A:$A,MATCH(1,(Sheet1!$B:$B=Sheet2!$D2)*(Sheet1!$C:$C=$A2),0))

将其放入 E2 ,然后由于这是一个数组公式,所以按 ctrl + shift + 输入来计算公式。 然后复制并向下拖动公式以查找其他结果。

答案 2 :(得分:0)

我将展示一种替代阵列功能的方法。这应该可以正常工作,但它是计算密集型的,因为它会查看两个条件列中的所有值,以查找您要查找的内容。对于几百行,这很好,但如果您使用数十万行,那么您可能会看到性能问题。数组函数可能很昂贵。

我要做的第一件事是创建一个帮助列,它将Charge号和Description字段组合到Sheet1上的一个字段中。这将是您从Sheet1获取所需信息的价值。为了使用VLOOKUP,这需要是您正在查找的表格中最左侧的列(sheet1中的表格)。然后我在Sheet2上使用VLOOKUP公式从Sheet1中检索相关信息。

  • 在Sheet1上,右键单击A列标题,然后选择“插入”(这将在左侧添加新列)
  • 在此新列A中,键入公式=CONCATENATE(B2,C2)(假设您的数据从第二行开始,占第一行中的标题。如果不使用=CONCATENATE(B1,C1))。这将合并B列和C列的值。
  • 在Sheet2上,在要从Sheet1显示行号的任何单元格中输入以下公式:=VLOOKUP(CONCATENATE(A2,D2),Sheet1!$A:$D,2,FALSE)并填写此公式

如果您愿意,可以通过右键单击列标题然后隐藏来隐藏我们在步骤1中创建的列。

现在,有关魔法(VLOOKUP)的解释:

第一个参数是您要查找的值。在这种情况下,我们希望找到合并的费用编号+描述,因为这些是我们创建的帮助列中的值。

第二个论点是"在Sheet1,A到D"列中查找。这是包含您要查找和检索的信息的表。

第三个参数说"如果A列中有匹配(请记住这是我们通过组合费用编号+描述而得到的帮助列),然后返回左边第二列中的值"

FALSE的最后一个参数意味着找到与我正在查找的值完全匹配,而不是近似值。

还有一个step-by-step illustration of this method也可以派上用场。