Просмотрите несортированный список, чтобы найти значение больше или равно - PullRequest
1 голос
/ 12 апреля 2019

У меня есть список несортированных количеств в столбце 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 ]

2 голосов
/ 12 апреля 2019

Также Вы можете использовать формулу массива с INDEX и MATCH, как это -

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

Используйте CTRL + SHIFT + ENTER для выполнения.

2 голосов
/ 12 апреля 2019

Возможно использование INDEX, AGGREGATE, ROW и IFERROR:

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

Разбивка ключевой части AGGREGATE(15,6,ROW(A1:A3)/(A2:A4>=E3),1) вниз, используя сценарий 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...