6

我正在使用if, vlookup, match,iserror函数的组合,不幸的是我无法找到正确的公式。

比较两列是否匹配很容易。一旦找到匹配项,困难的部分就是返回一个特定的单元格。

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

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 AColumn 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

由于 CellsA1匹配 cell C3,我想D返回B2

与 Row 相同5。由于A4C5匹配,我想要的价值B5

让我知道这是否有意义,或者您是否需要进一步澄清。

4

4 回答 4

8

与此问题非常相似,我建议在 D 列中使用相同的公式,尽管对范围进行了一些更改:

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

如果你想使用 match,你也必须使用INDEX,像这样:

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

但这对我来说真的很长,您需要知道如何正确使用两个功能(或三个,如果您不知道如何IFERROR工作)!

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

于 2013-08-12T16:43:27.793 回答
1

这是D1中需要做的事情: =VLOOKUP(C1, $A$1:$B$4, 2, FALSE)

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

于 2013-08-12T16:23:10.937 回答
1

出于我将解释的原因,我建议您交换 B 和 C 列。然后在 D2 中输入: =VLOOKUP(A2, B2:C4, 2, FALSE)

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

解释: VLOOKUP 将首先在 B2 到 C4 范围内找到 A2 的值(第二个参数)。注意:VLOOKUP 始终搜索此范围内的第一列。这就是为什么在做任何事情之前必须交换两列的原因。

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

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

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

于 2015-12-28T10:49:11.443 回答
0

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

=IF(COUNTIF($A$2:$A$5,C2)=0,"",VLOOKUP(C2,$A$2:$B$5,2,FALSE))
于 2013-08-12T16:28:55.480 回答