Excel: Как упростить растущую вложенную формулу IF и formula?

у меня есть число IF и формула, и они достигнут предела.
Что самое лучшее решение замены?

EG.

IF(AND(AC9=1,AC4=(AB4+7)),1&"b",
IF(AND(AC9=2,AC4=(AB4+7)),2&"b",
IF(AND(AC9=3,AC4=(AB4+7)),3&"b",
IF(AND(AC9=4,AC4=(AB4+7)),4&"b",
IF(AND(AC9=5,AC4=(AB4+7)),5&"b",)))))

или проще

IF(AB18=1,(100%+AB17)*($D1*AB16),
IF(AB18=2,(100%+AB17)*($E1*AB16),
IF(AB18=3,(100%+AB17)*($F1*AB16),
IF(AB18=4,(100%+AB17)*($G1*AB16),
IF(AB18=5,(100%+AB17)*($H1*AB16),)))))

все переменные хранятся в нескольких строках
Верхний ряд пронумерован 1,2,3,4 etc.

вложенные функции работают нормально, но количество опций, которые я могу предложить, ограничено.
Есть ли какие-то конкретные функции, к которым мы можем обратиться в таких ситуациях?

30
задан Marco-UandL
17.11.2022 7:47 Количество просмотров материала 3010
Распечатать страницу

2 ответа

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

Я сохранил все в начале таблицы для простоты. Ваш AC9 - мой C1. Ваш AC4 - мой D1. Я просто вставил результат в D1 равный AB4+7 (Я только что придумал, каким будет результат).

enter image description here

вы хотите присвоить значения, если AC9 является числом в определенном диапазоне, а AC4 равен определенному значение. Я обрабатываю требование AND, объединяя их.

столбцы F и G содержат таблицу выбора. При необходимости таблицу можно развернуть. В таком случае можно использовать формулу, которую реплицируют для заполнения таблицы по мере необходимости. Например, формула F1 может быть:

=ROW()&$AB+7

копирование этого столбца будет использовать номер строки, чтобы увеличить целевое значение AC9, и объединить, что к целевому значению AB4+7.

Колонка G содержит нужное значение. Таким образом, вы можете использовать формулу, как:

=ROW()&"b"

копирование, что вниз столбец будет заполнить вам результирующие значения.

чтобы сделать поиск, моя формула в A1:

=IFERROR(VLOOKUP($C&$D,$F:$G,2,0),"")

это создает значение поиска, объединяя текущие значения C1 и D1 в моей электронной таблице и сравнивая их со значениями в столбце F, ища точное соответствие. Если он находит совпадение, он извлекает связанное значение из столбца G.

если совпадения нет, поиск приведет к ошибке. Обертывание VLOOKUP с IFERROR присваивает нулевой результат, если есть ошибка (нет совпадения).

ваш второй пример даже не требует конкатенации, просто таблица подстановки, содержащая числа для сравнения AB18 и связанный с ними расчет в качестве результата.

0
отвечен fixer1234 2022-11-18 15:35

fixer123 могут предоставить лучшее решение для вас, используя ВПР на стол.

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

=IF(AND(AC9<=5,AC4=(AB4+7)),AC9&"b")

ваш другой пример вы могли бы достичь с чем-то вроде этого, который определяет адрес ячейки умножить на

=IF(AB18<=5,(100%+AB17)*(INDIRECT(ADDRESS(271,AB18+3))*AB16))
1
отвечен datatoo 2022-11-18 17:52

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх