比较两列,并在Excel中返回特定的相邻单元格

时间:2013-08-12 16:15:01

标签: excel vlookup formulas excel-match

我正在使用ifvlookupmatchiserror函数的组合,遗憾的是我无法找到正确的公式。

比较两列匹配很容易。一旦找到匹配,困难部分就会返回特定的细胞。

所以我正在处理的事情是这样的:

Header     Column A   Column B   Column C  Column D
Row 1      111        AAA        112
Row 2      222        BBB        111
Row 3      333        CCC        221
Row 4      444        DDD        333

我正在尝试将Column A中的列值与Column C进行匹配。因此,如果匹配,我希望Column B中的相应值填入Column D。这不是一个很好的解释,但允许我直观地向您展示我正在寻找的东西

Header     Column A   Column B   Column C  Column D
Row 2      111        AAA        112
Row 3      222        BBB        111       AAA
Row 4      333        CCC        221
Row 5      444        DDD        333       CCC

由于单元格A1与单元格C3匹配,我希望D返回B2

与行5相同。由于A4C5匹配,我想要B5

的值

如果这有意义,或者您需要进一步澄清,请告诉我。

4 个答案:

答案 0 :(得分:8)

this question非常相似,我建议在D栏中使用相同的公式,尽管对范围进行了一些更改:

=IFERROR(VLOOKUP(C1, A:B, 2, 0), "")

如果你想使用匹配,你也必须使用INDEX,如下所示:

=IFERROR(INDEX(B:B, MATCH(C1, A:A, 0)), "")

但这对我来说真的很长,你需要知道如何正确使用两个函数(如果你不知道IFERROR是如何工作的话,还是三个函数)!

注意:在某些情况下,=IFERROR()可以替代=IF()=ISERROR():)

答案 1 :(得分:1)

以下是D1中的内容:=VLOOKUP(C1, $A$1:$B$4, 2, FALSE)

然后,您应该可以将其复制到D列的其余部分。

答案 2 :(得分:0)

在单元格D2中并向下复制:

=IF(COUNTIF($A$2:$A$5,C2)=0,"",VLOOKUP(C2,$A$2:$B$5,2,FALSE))

答案 3 :(得分:0)

我建议你交换B和C列,因为我会解释。 然后在D2类型: = VLOOKUP(A2,B2:C4,2,FALSE)

最后,复制剩余单元格的公式。

说明: VLOOKUP将首先在B2到C4(第二个参数)的范围内找到A2的值。注意: VLOOKUP始终会搜索此范围内的第一列。 这就是您在执行任何操作之前必须交换两列的原因。

找到完全匹配后,它将返回相邻单元格中的值(第三个参数)。

这意味着,如果您将1作为第三个参数,则该函数将返回该范围的第一列中的值(将与您要查找的值相同)。如果放2,它将返回范围中第二列的值(找到值的相邻单元格中的值 - 右侧)。

FALSE表示您找到完全匹配。如果您输入TRUE,您将搜索近似匹配。