2014-10-31 104 views
0

我在电子表格中的每一行使用VLOOKUP列。 对于每一行,如果满足两个条件,我需要从另一个工作表中返回一个值: 1)同一行的A列中的值=参考范围中的值 2)列O中值的范围= “AH”Excel 2013 - 具有多个条件的VLOOKUP

所以下面的工作可以返回上面我的第一条标准的值,但我不想返回值,除非匹配行的O:O中的值是“AH”。我搜索了几个网站和教程,但似乎没有参考我正在尝试做的事情。他们要么计算或总结价值,我不想做任何奇特的计算。我只是想返回值,如果他们是“AH”的匹配记录在另一个表中。

= VLOOKUP($ A2,Cohort_Major_IDST $ A:$ AF,15,FALSE)

很多感谢,

林赛罗

回答

0

这是一个棘手的和有几种方法解决它。

第一种方法是在要查找的工作表中创建一个“键”,将A中的值与O中的值连接到该范围前面的新列(插入A列)然后查找类似=Vlookup($A2 & "AH", Cohort_Major_IDST!$A:$AG, 6, FALSE)

第二是让偷偷摸摸与SUMPRODUCT返回,其中两个条件中的行,INDEX来获取值:

=INDEX(Cohort_Major_IDST!$AH, 0, SUMPRODUCT(($A2=Cohort_Major_IDST!A:A)*(Cohort_Major_IDST!O:O="AH")*ROW(Cohort_Major_IDST!A:A))) 

SUMPRODUCT这里着眼于多重标准类似的r时代(这里的相似范围是列A和O)。如果标准符合一行,则它从ROW(Cohort_Major_IDST!A:A)中获取值。

第二种方法更好,因为它不涉及在您的范围中插入多余的列,因此您可以不改变原始数据。尽管它看起来并不那么友好,但如果数据中的多个标准有多个匹配项,它也会失败。它将添加所有ROW()返回的结果...所以请确保您的查找是唯一的。

+0

非常感谢你JN!出于某种原因,我无法使用您的sumproduct解决方案工作。但是我能够使用下列方法使它工作: – user3795203 2014-10-31 18:39:19

+0

= INDEX(Cohort_Major_IDST!O:O,MATCH(1,IF(Cohort_Major_IDST!A:A = [@ [id_num]],IF(Cohort_Major_IDST!O:O = “AH”,1)),0))唯一的问题是它似乎真的使系统执行这个计算。 – user3795203 2014-10-31 18:40:00