Мне нужно VLOOKUP значение X в таблице, когда (IF) столбец Y этой таблицы является неполноценным для значения Z.

Написание этой формулы возвращает первое значение таблицы, а не то, что мне нужно:
=IF(PI_UWF!S:S < Search!$L$19 ; VLOOKUP(O18;PI_UWF!$C:$Q;15;FALSE) ; "boh")

  • Значение X = VLOOKUP(O18;PI_UWF!$C:$Q;15;FALSE)
  • Столбец Y = PI_UWF!S:S
  • Значение Z = Search!$L$19

Как мне это сделать?

2 ответа2

0

Вы придерживаетесь неправильной логики, проверка критериев вне VLOOKUP не будет работать.

Вместо VLOOKUP используйте INDEX и MATCH, чтобы вы могли создать более гибкую формулу:

=INDEX(PI_UWF!Q:Q;MATCH(O18,IF(PI_UWF!S:S<Search!L19,PI_UWF!C:C,""),0))
Это формула массива, поэтому нажмите CTRL+SHIFT+ENTER после ее вставки.

Как это устроено:

  • IF(PI_UWF!S:S<Search!L19,PI_UWF!C:C,"") - выбирает значение из C:C, только если S:S уступает Search!L19
  • MATCH(O18,IF(...),0) - соответствует значению из отфильтрованного списка
  • =INDEX(PI_UWF!Q:Q;MATCH(...)) - выбирает правильное значение из Q:Q

(поскольку у меня нет примеров данных, я не смог проверить решение, возможно, есть небольшие проблемы, но концепция верна).

0

Не рекомендуется использовать =IF(PI_UWF!S:S < Search!$L$19;;) Не знаю, хотите ли вы сравнить его с суммой столбца или одним значением. И будет совсем ненадежным.

Есть много функций, которые вы можете использовать, в зависимости от того, что вы хотите сделать.
Если вы хотите сравнить Z с суммой Y вы можете использовать SUM()

Этим вы можете заменить PI_UWF!S:S с SUM(PI_UWF!S:S) который бы дал вам:

=IF(SUM(PI_UWF!S:S) < Search!$L$19 ; VLOOKUP(O18;PI_UWF!$C:$Q;15;FALSE) ; "boh")

Скорее всего, вы хотите сравнить Z с каждой ячейкой Y Для этого вы можете использовать что-то вроде COUNTIF(range, criteria) .

=COUNTIF(PI_UWF!S:S;">="&Search!$L$19) Подсчитает количество ячеек в Y со значением, равным или превышающим Z
Если это значение равно 0, вы знаете, что каждая ячейка в Y меньше, чем Z Это означает:

=IF(COUNTIF(PI_UWF!S:S;">="&Search!$L$19)>0;"Not inferior";"Inferior")

или в вашем случае

=IF(COUNTIF(PI_UWF!S:S;">="&Search!$L$19)>0;"boh";VLOOKUP(O18;PI_UWF!$C:$Q;15;FALSE))

Удачи!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .