3种方式Vlookup或Index无法正常工作

时间:2017-10-07 12:21:24

标签: excel vba excel-vba excel-formula excel-2010

我正在尝试查找两列,以查看其他列中是否存在团队。在这种情况下,J2:J9N2:N9中存在R2:R9。 到目前为止,我尝试使用如下的简单Vlookup公式:

=VLOOKUP(J4,N$2:O$40000,R$2:S$40000,1,0)

虽然我不相信vlookup仅限于一列。 我也尝试过:

=INDEX(N$2:O$40000,MATCH(J4,R$2:S$40000,1),0) 

虽然这不能给我我想要的东西。是我可以提出的问题,或者您是否只能查看Team NZN:O是否出现在N:O中,而是查看R:Sgregexpr中是否存在它是不可能的N / A?我在这里做错了什么。

由于

更新:理想情况下我想要它是否存在以在列中显示团队名称,否则显示类似于列M所做的#N / A,除非它检查它是否存在于所有列中

enter image description here

4 个答案:

答案 0 :(得分:2)

如果您只需要检查其他组中是否存在“后退”组中的团队,则无需在查找中包含“O”和“S”列。

以下是使用COUNTIFS的解决方案:

=COUNTIFS(M:M,J2,R:R,J2)

如果团队出现在其他两列中,它将返回1,如果其中任何一列中都没有,则返回0。

如果你喜欢留言,那么你可以用CHOOSE包装上面的COUNTIFS函数:

=CHOOSE(COUNTIFS(M:M,J2,R:R,J2)+1, "Not present in both", "Present in both")

结果如下:

╔═══╦════════════╦═════════════════════╦════════╦═══╦═══╦═══════╦═══╦═══╦═══╦═══╦════════╗
║   ║     H      ║          I          ║   J    ║ K ║ L ║   M   ║ N ║ O ║ P ║ Q ║   R    ║
╠═══╬════════════╬═════════════════════╬════════╬═══╬═══╬═══════╬═══╬═══╬═══╬═══╬════════╣
║ 1 ║ Solution 1 ║     Solution 2      ║ Back   ║   ║   ║ Draw  ║   ║   ║   ║   ║ Lay    ║
║---║------------║---------------------║--------║---║---║-------║---║---║---║---║--------║
║ 2 ║     1      ║ Present in both     ║ Melb   ║   ║   ║ Melb  ║   ║   ║   ║   ║ Melb   ║
║ 3 ║     0      ║ Not present in both ║ Aus    ║   ║   ║ Aus   ║   ║   ║   ║   ║ Paysan ║
║ 4 ║     1      ║ Present in both     ║ Nz     ║   ║   ║ Int   ║   ║   ║   ║   ║ Circi  ║
║ 5 ║     1      ║ Present in both     ║ Syd    ║   ║   ║ Syd   ║   ║   ║   ║   ║ Syd    ║
║ 6 ║     0      ║ Not present in both ║ Circ   ║   ║   ║ Circ  ║   ║   ║   ║   ║ Nz     ║
║ 7 ║     0      ║ Not present in both ║ Oeste  ║   ║   ║ Oeste ║   ║   ║   ║   ║ Gois   ║
║ 8 ║     0      ║ Not present in both ║ Gois   ║   ║   ║ Gois  ║   ║   ║   ║   ║ Parana ║
║ 9 ║     0      ║ Not present in both ║ Parana ║   ║   ║ Nz    ║   ║   ║   ║   ║ Nz     ║
╚═══╩════════════╩═════════════════════╩════════╩═══╩═══╩═══════╩═══╩═══╩═══╩═══╩════════╝

答案 1 :(得分:1)

有点不清楚你是否只是在列之后搜索,如果存在则在指定列中找到与J的第一个匹配并检索相邻值。我是这样,您可以尝试使用IFERROR嵌套VLOOKUP。

例如:

=IFERROR(VLOOKUP($J4,N:O,2,FALSE),VLOOKUP($J4,Q:R,2,FALSE))

如果要搜索其他列,您可以嵌套更多VLOOKUP。 如果没有找到,你将获得#N / A返回。

答案 2 :(得分:0)

另一个获得TRUEFALSE答案的解决方案:

=IFNA(MATCH(J4,$N$2:$N$40000,0)+MATCH(J4,$R$2:$R$40000,0),0)>0

答案 3 :(得分:0)

您可以使用此公式,如图所示:

=IF(ISNUMBER(MATCH(J2,$N$2:$N$9,0)+MATCH(J2,$R$2:$R$9,0)),"Present","Not Present")