Vlookup внутри нескольких ifs и и в формуле ошибки - PullRequest
0 голосов
/ 02 мая 2019

У меня есть 2 таблицы, которые содержат несколько значений, и мне нужно получить точное значение из второй таблицы в первую на e

=VLOOKUP(A3,$I$9:$R$18,IF(D3=23800,10,IF(D3>10000,9,IF(AND(7000<D3,D3<10000),8,IF(AND(5000<D3,D3<7000),7,IF(AND(3000<D3,D3<5000),6,IF(AND(1000<D3,D3<3000,5,IF(AND(500<D3,D3<1000,4,IF(D3<500,3,2)))))))))

это мой код, и я получаю сообщение об ошибке каждый раз, когда пытаюсь это исправить. Как я могу решить мою проблему в коде. Заранее спасибо

1 Ответ

3 голосов
/ 02 мая 2019

Если вы нарушите формулу, как показано ниже, вы заметите, что вам не хватает двух заключительных скобок:

=VLOOKUP(
  A3,
  $I$9:$R$18,
  IF(
    D3=23800,
    10,
    IF(
      D3>10000,
      9,
      IF(
        AND(7000<D3,D3<10000),
        8,
        IF(
          AND(5000<D3,D3<7000),
          7,
          IF(
            AND(3000<D3,D3<5000),
            6,
            IF(
              AND(1000<D3,D3<3000,        <= here
              5,
              IF(
                AND(500<D3,D3<1000,       <= here
                4,
                IF(
                  D3<500,
                  3,
                  2
                )
              )
            )
          )
        )
      )
    )
  )
)

Я бы предложил, чтобы вместо всех этих вложенных IF s была таблица поиска, это также могло бы помочь сделать логику более понятной. Например, последний IF имеет: если D3 меньше 500, то он должен вернуть 3, иначе 2. Если D3 не меньше 500, это, безусловно, означает, что он больше 500, что на самом деле падает условие, которое было проверено ранее, когда у вас было AND(500<D3,D3<1000), так что ...

=VLOOKUP(D3,$G$3:$H$10,2,1)

enter image description here

В этом случае ваша формула может выглядеть следующим образом:

=VLOOKUP(A3,$I$9:$R$18,VLOOKUP(D3,$G$3:$H$10,2,1))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...