excel 中的 LOOKUP 问题

Jon*_*han 5 microsoft-excel-2007 worksheet-function microsoft-excel

我目前在 excel 中遇到了 LOOKUP 函数的问题

有时它会找到正确的数据,有时则不会。

我在下面做了一个图片示例,顶部的两个示例给出了错误的结果,而底部的两个示例给出了正确的结果。

我的语法或使用 LOOKUP 是否不正确?我应该如何纠正它以获得预期的结果?

我无法弄清楚我在那里做错了什么

这是数据的 csv 表(我的德国计算机也在公式中使用“;”分隔符,您可能需要对其进行编辑)

;"LOOKUP(C2;D2:D4;A2:A4)";;;;;
D4;"=LOOKUP(C2;D2:D4;A2:A4)";3400;3400;;;
CI;;;2390;;;
F5;;;900;;;
;"LOOKUP(C6;D6:D11;A6:A11)";;;;;
D4;"=LOOKUP(C6;D6:D11;A6:A11)";3600;900;;;
F4;;;3600;;;
CI;;;2390;;;
D4;;;900;;;
B4;;;2250;;;
D4;;;900;;;
;;;;;;
;;;;;;
;"LOOKUP(C15;D15:D17;A15:A17)";;;;;
D4;"=LOOKUP(C15;D15:D17;A15:A17)";3600;900;;;
F4;;;3600;;;
CI;;;2390;;;
;;;;;;
;"LOOKUP(C20;D20:D27;A20:A27)";;;;;
D4;"=LOOKUP(C20;D20:D27;A20:A27)";3600;900;;;
F4;;;3600;;;
F6;;;3650;;;
F5;;;3700;;;
CI;;;2390;;;
D4;;;900;;;
B4;;;2250;;;
D4;;;900;;;
Run Code Online (Sandbox Code Playgroud)

Pet*_*erH 8

如果我了解您要做什么,我建议您使用INDEXand MATCH

请参阅我的示例,您可以在第一个示例中使用它:

=INDEX(A2:A4,MATCH(C2,D2:D4,0),1)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

您还可以使用OFFSET经常被忽视的内容:

=OFFSET(A2,MATCH(C2,D2:D4,0)-1,0)
Run Code Online (Sandbox Code Playgroud)


Pet*_*erH 8

LOOKUP失败的原因是因为 lookup_vector 中的值必须按升序排列

..., -2, -1, 0, 1, 2, ..., AZ, FALSE, TRUE;

否则,LOOKUP可能不会返回正确的值

查看链接了解更多信息:

https://support.office.com/en-gb/article/LOOKUP-function-446d94af-663b-451d-8251-369d5e3864cb