向下查找未排序的列表以查找大于或等于的值

时间:2019-04-12 03:41:09

标签: excel excel-formula

A列中有一个未分类数量的列表,在B列中有它们的对应值。

我需要一个非数组Excel公式,该公式返回第一个值是greater than or equals to输入数量。

例如:

Minimum Qty: 6

方案1:

enter image description here

Output Value: B

方案2:

enter image description here

Output Value: B

方案3:

enter image description here

Output Value: B

方案4:

enter image description here

Output Value: Nil

到目前为止,我已经尝试过Index/Match公式,但是似乎只有small than or equal to有效。 greater than or equals to似乎不适用于未排序的列表。

enter image description here

2 个答案:

答案 0 :(得分:2)

也许使用INDEXAGGREGATEROWIFERROR

=IFERROR(INDEX(B2:B4,AGGREGATE(15,6,ROW(A1:A3)/(A2:A4>=E3),1)),"Nil")

使用场景1分解关键部分AGGREGATE(15,6,ROW(A1:A3)/(A2:A4>=E3),1)

  1. ROW(A1:A3)/(A2:A4>=E3):这是{1;2;3}/{2;6;3}>=6
  2. {2;6;3}>=6的值为{FALSE;TRUE;FALSE}
  3. {1;2;3}/{FALSE;TRUE;FALSE}的值为{#DIV/0!;2;#DIV/0!}
  4. AGGREGATE的第一个参数-15-表示我们正在使用SMALL功能。
  5. AGGREGATE的第二个参数-6-表示将忽略错误。
  6. AGGREGATE的最后一个参数-1-对应于k的第二个参数(SMALL),即SMALL(array, k)
  7. 因此忽略错误,SMALL({#DIV/0!;2;#DIV/0!}, 1) = 2
  8. 对于其他情况类似:
    • 方案2:SMALL({#DIV/0!;2;3}, 1) = 2
    • 场景3:SMALL({#DIV/0!;2;#DIV/0!}, 1) = 2
    • 方案4:SMALL({#DIV/0!;#DIV/0!;#DIV/0!}, 1)引发#NUM!错误,因此IFERROR返回Nil

场景1:

enter image description here

方案2:

enter image description here

方案3:

enter image description here

方案4:

enter image description here

答案 1 :(得分:2)

您还可以像这样将数组公式与INDEXMATCH一起使用-

=IFERROR(INDEX($B$2:$B$4, MATCH(TRUE, $A$2:$A$4>=E3,0)), "Nil")

使用 CTRL + SHIFT + ENTER 执行。