альтернатива многим вложенным IFs
когда вам требуется длинный ряд вложенных IFs, есть другой подход, который не ограничивает вас вложенным IF пределом. Он использует подход "выбора", который также может быть проще создать, потому что он визуально более прост.
вложенные IFs последовательно оценивают условия, пока не найдут истинные. Логика и значения выхода смешанная серия. Альтернативный подход оценивает все условия в один шаг и использует результат, чтобы выбрать правильное значение из списка.
он сочетает в себе два метода, выбрать функцию и логическое выражение. В Excel 2003 можно выбрать до 29 значений. Excel 2007 и более поздние версии позволяют выбрать до 254 элементов без использования инструкций IF.
функция выбора
у вас есть длинная формула, поэтому я не буду воспроизводить все это, но вот подход (заполнитель" индекс рассказано в следующей части):
=CHOOSE(<index>,"Error",Dropdowns!C8,Dropdowns!C9,Dropdowns!C10, ...)
весь ваш список, если значения результатов оператора получает включены. Это работает так: "индекс" вычисляется из всех условий, которые являются частью вложенной цепочки IF. Результатом будет порядковый номер значения в списке выбора.
Индекс
индекс использует Булеву арифметику (вычисления, основанные на 0/1 значениях истинных/ложных условий). Индекс строится как выражение вида это:
1 + condition1 * 1 + condition2 * 2 + condition3 * 3 + ...
начальный 1 будет объяснен через минуту. Остальное - это все ваши условия теста IF в связанном порядке для соответствия списку результатов. Каждый тест имеет значение 1 или 0, которое затем умножается на соответствующий номер индекса (1, 2, 3, ... после каждого условия). Поскольку только один из этих тестов будет истинным, это определяет значение индекса (сумма нулей для всех ложных условий плюс значение индекса для истинного).
подстановка условий теста из вашего вложенного IF примера будет выглядеть так:
1 + (D2=1)*1 + AND(D2=2,D3="I")*2 + AND(D2=2,D3="II")*3 + ...
все выражение заменит <index>
заполнитель в Формуле, показанной под заголовком выбрать функцию. Затем функция Choose выбирает целевое значение из списка на основе индекса.
ваше состояние ошибки, если ни один из тестов не верны, который будет давать нулевую сумму. Индекс является номером позиции значения в список, который начинается с 1. При добавлении 1 к расчету индекса (показанному как первый член) условие ошибки оценивается как 1, а все остальные результаты увеличиваются на 1. Поэтому первым результатом в списке будет сообщение об ошибке.