我有两个电子表格,我想比较多个列。如何使用Vlookup或其他类型的公式来获得正确的结果?
表1包含以下信息。
表2包含以下信息;并且column H
是预期结果列。
我希望能够在表格2中输入一个公式,以便从表格1(A列)中提取与表格1中的相同描述和费用编号相匹配的行号。
答案 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中检索相关信息。
=CONCATENATE(B2,C2)
(假设您的数据从第二行开始,占第一行中的标题。如果不使用=CONCATENATE(B1,C1)
)。这将合并B列和C列的值。=VLOOKUP(CONCATENATE(A2,D2),Sheet1!$A:$D,2,FALSE)
并填写此公式如果您愿意,可以通过右键单击列标题然后隐藏来隐藏我们在步骤1中创建的列。
现在,有关魔法(VLOOKUP
)的解释:
第一个参数是您要查找的值。在这种情况下,我们希望找到合并的费用编号+描述,因为这些是我们创建的帮助列中的值。
第二个论点是"在Sheet1,A到D"列中查找。这是包含您要查找和检索的信息的表。
第三个参数说"如果A列中有匹配(请记住这是我们通过组合费用编号+描述而得到的帮助列),然后返回左边第二列中的值"
FALSE
的最后一个参数意味着找到与我正在查找的值完全匹配,而不是近似值。
还有一个step-by-step illustration of this method也可以派上用场。