嗨,我正在尝试通过将单元格 G2 中的投标截止日期与 vlookup 匹配来获得 X、Y 和 Z 的值。
但是,我真的迷路了,因为它返回了#n/a。
有谁知道可以做什么?
您不能使用 VLOOKUP 来匹配左侧的列,但是您可以使用 INDEX。在您输入问题的示例中,在单元格 G3 中输入:
=INDEX(A3:A10,MATCH(G2,E3:E10,0))
然后,您应该获得与在单元格 G2 中输入的日期结束的投标相关的“x”值。然后,您可以将 INDEX 中的第一个范围更改为相应的 y 和 z 值的 B 和 C 列。
请记住,INDEX 与 VLOOKUP 相同,因为它只会返回第一个值,如果两个投标在同一天完成,它只会返回它遇到的第一个,如果你有多个投标,也许 SUMIF 会更好,也许在 COUNTIF 旁边显示有多少。
编辑 - 对多列的进一步请求
如果要匹配开始和结束日期,则需要使用如下数组公式,其中您要查找的开始日期在单元格 G2 中,结束日期在单元格 G3 中:
=INDEX(A3:A10,MATCH(1,(G2=D3:D10)*(G3=E3:E10),0))
注意这是一个数组公式,因此当您键入公式时,您需要按 Ctrl + Shift + Enter,而不仅仅是 enter。
使用此方法,它检查两个真/假标准(分别为 1 和 0),因此它检查每一行,如果 D 和 E 列符合您的标准,它会执行 1*1 并匹配您输入的标准 1。任何其他组合将等于 0,例如,如果列 D 匹配但 E 不匹配则 1*0 = 0,如果都不匹配则 0*0 = 0。
使用它,您可以扩展查找,将 * 更改为 + 将返回 EITHER 列与条件匹配的第一行:
=INDEX(A3:A10,MATCH(1,(G2=D3:D10)+(G3=E3:E10),0))
您可以使用相同的方法将更多列添加到条件中,我不确定限制是什么。
我知道您没有完全匹配 G2 中的日期,您只需要获取它适合的范围。为此并返回您可以使用的正确“x”、“y”或“z”值LOOKUP
,例如获取“x”值
=LOOKUP(G2,D3:D10,A3:A10)
这将为您的示例数据提供 96.50
将A3:A10
范围分别更改B3:B10
为C3:C10
“y”和“z”值