0

我需要根据两个工作表之间的 VLOOKUP 查询为行分配状态。问题是标识符并不总是唯一的。但是,标识符 + 日期值应该是唯一的。我想使用:

=VLOOKUP(A3&H3,'OtherSheet'!D:E,1,FALSE)  

其中 A3 是标识符,H3 是相应的日期。另一张表中的 D 是标识符,E 是日期列。但是,我不断收到#N/A。

这是否意味着“标识符+日期”没有匹配项,或者 Excel 在 D 或 E 列中寻找“标识符+日期”?如果后者为真,如何让 Excel 在匹配搜索模式时连接 D 和 E?

4

3 回答 3

1

不使用 CTRL+Shift+Enter 也可以解决。

使用此公式将匹配 othersheet 的 D 列中的 A3 和 H3 与 othersheet 的 E 列中的日期。

=INDEX(OtherSheet!F:F,MATCH(1,INDEX((OtherSheet!D:D=A3)*(OtherSheet!E:E=H3),),0))

该公式将从 OtherSheet 的 F 列返回数据。您可以根据需要修改范围OtherSheet!F:F

于 2018-01-22T08:22:13.710 回答
0

该公式希望在OtherSheet仅包含标识符的 ColumnD 中找到与 H3(标识符和日期)连接的 A3,因此将不可避免地失败。是的,Excel 正在 D 列中查找“标识符+日期”。

Excel 会很高兴地将 A3 与 H3 'on the fly'(在公式中)连接起来,但不会很乐意OtherSheet以相同的方式连接 ColumnD 和 ColumnE 值。传统的解决方案,因为在这种情况下通常最简单,是通过添加一个辅助列来为 VLOOKUP 做准备,该列连接 D 和 E 值,同时将这些值保留在与所寻找的值相同的行中。

因为 VLOOKUP 只会向右看,所以这通常是添加到要搜索的值左侧​​的列,所以说在 C 中或通过在 C 的右侧插入一列。但是,因为你只是检查单个列的位置并不重要。您可以将此 (in OtherSheet) 添加为 ColumnZ,其公式如下:

=D2&E2  

抄下来以适应*。同样,因为您只检查单个列,所以将这样的公式放在哪一行并不重要。

但是,因为仅检查 A3&H3 是否存在于OtherSheet一个简单的替代方案中可能是应用 COUNTIFS:

=COUNTIFS(OtherSheet!D:D,A3,OtherSheet!E:E,H3)

除此以外的任何结果0都应表明正在测试的组合存在于OtherSheet- 不需要辅助列。

*根据标识符的格式,连接可能会引入歧义。例如,与 11/1/15 连接的 ID90 可能无法与与 1/1/15 连接的 ID901 区分开来,因此,如果采用这种方法在 VLOOKUP 公式(A3&"|"&H3而不是仅A3&H3)和因此也在帮助列中,说=D2&"|"&E2

于 2015-03-24T07:20:48.067 回答
0

您可能希望改用索引/匹配。在搜索多个事物时,Vlookup 很棘手。这是您使用索引/匹配的方式:

在不知道电子表格的设置方式的情况下,您可以这样做:

如果我理解正确,您想使用 A3 在 中查找匹配OtherSheet!D项,并在 中查找 H3 的匹配项OtherSheet!E。索引匹配非常适合这一点。而不是 vLookup,使用

=Index(OtherSheet!D:D&","&Text(OtherSheet!E:E,"mm-dd-yyyy"),Match(A3&H3,OtherSheet!D&OtherSheet!E,0)), 并输入CTRL+SHIFT+ENTER

Index()返回的是连接的标识符和日期,用逗号分隔。但是,如果您有这样的表:

在此处输入图像描述

该索引/匹配公式将返回“蝙蝠侠”。要返回的索引是命名范围 G2:G5。您正在寻找 A1(标识符)和 B1(日期)上的匹配项,然后您正在搜索(按照您刚刚放置的顺序)在 E2:E5 范围内的标识符和要成为的日期在 F2:F5 中。当两者都匹配时,它返回 G2:G5 中的名称。

这是一个关于使用索引/匹配的网站的链接,以及另一个和它相对于 vlookup 的优势。

于 2015-08-24T04:47:04.543 回答