2

我有两个 Excel 表,我需要匹配三个值才能返回第四个。类似的列是月份、代理和子域。第四列称为差异。

4

4 回答 4

9

根据@MakeCents 的建议,连接会起作用,但如果您不想要帮助列,SUMPRODUCT也可以。

例子:

=SUMPRODUCT(--(A2:A12="d"),--(B2:B12="S"),--(C2:C12="Apr"),D2:D12)

将在 A2:A12 范围内搜索“d”,在 B2:B12 范围内搜索“S”,在 C2:C12 范围内搜索“Apr”,并返回对应于所有 3 个为真的 D2:D12 的值。如果多行匹配,它将为所有匹配的行添加 D2:D12 中的值。

用于将--True/False 结果更改为 0 和 1 以用于乘法

的限制SUMPRODUCT

  • 建议明确指定范围;仅使用列引用会更慢
    A1:A4000可以,A:A不行)
  • 如果任何值是错误 ,它将返回错误
  • 它只会返回数字结果 - 文本被评估为零
于 2013-08-21T14:27:18.343 回答
1

尽管我相信@MakeCents 关于如何执行此操作的评论/建议是我会采用的方法,因为它是最简单的,但您可以使用Index()andMatch()函数和数组公式以不同的方式完成此操作(尽管处理器密集度更高)。

例如,假设您要匹配的 3 列数据是 AC 列,并且您希望从 Sheet1 中的 D 列返回匹配值

现在,您要匹配的 3 个值位于 Sheet2 的单元格 A1、B1 和 C1 中,您可以使用以下公式:

=INDEX(Sheet1!D:D,MATCH(1,(Sheet1!A:A=A1)*(Sheet1!B:B=B1)*(Sheet1!C:C=C1),0))

并通过按+ +将其输入为数组公式CtrlShiftEnter

希望这可以帮助!

于 2013-08-21T14:32:57.140 回答
1

您正在寻找具有多个条件的查找

最强大的选择之一

=INDEX(D:D,SUMPRODUCT(--(A:A="d"),--(B:B="S"),--(C:C="Apr"),ROW(D:D)),0)

它不需要作为数组公式输入。取自[1] (blogs.office.com)

另请参阅这个非常完整的答案,它总结了这个和其他用于执行具有多个条件的查找的选项。

PS1:请注意,我使用了对完整列的引用,根据this

PS2:对于输出列不包含数字的情况,这可以被认为是Sean 对解决方案的增强。

参考

[1] 这篇文章由大白鲨奖获得者 JP Pinto 撰写,该奖获得者是在 VLOOKUP 周期间撰写的关于 VLOOKUP 的最佳文章。

于 2014-02-12T19:51:19.733 回答
0

试试这个

=IF(A4=Data!$A$4:$A$741,IF(B4=Data!$B$4:$B$741,"Hai"))
于 2014-12-01T00:34:24.470 回答