Формула Excel проверяет, превышает ли оценка значение, и возвращает максимальное значение. - PullRequest
1 голос
/ 22 мая 2019

Я пытаюсь построить Excel-формулу, которая проверяет, больше ли часть условия, чем 5, без дублирования формулы.Например, если формула возвращает 10, то она должна вернуть 5 (максимум 5).Если это 3, тогда просто верните 3.

Я мог бы просто расширить формулу с помощью IF(), но тогда мне нужно было бы продублировать формулу, чтобы использовать ее в моем условии, и если условие ложно,тогда мне нужно было бы иметь точную копию формулы еще раз.Читаемость будет просто вдвое ужаснее.

Я ищу функцию Max () или какой-нибудь умный способ справиться с этим, где она сначала оценивает условие и возвращает максимальное значение, если условиелучше чем.Любые предложения?

Это моя формула:

IF(DA5746/1000>=1;DA5746/1000;1)*IF(CX5746<>"";1,1;1)*IF(M5746<>"";1,25;1)*IF(CL5746>0;IF(CL5746>1;CL5746;1+CL5746);1))

Это формула, которую я хотел бы избежать

IF(IF(DA5746/1000>=1;DA5746/1000;1)*IF(CX5746<>"";1,1;1)*IF(M5746<>"";1,25;1)*IF(CL5746>0;IF(CL5746>1;CL5746;1+CL5746);1))>5;5;IF(DA5746/1000>=1;DA5746/1000;1)*IF(CX5746<>"";1,1;1)*IF(M5746<>"";1,25;1)*IF(CL5746>0;IF(CL5746>1;CL5746;1+CL5746);1))) 

Псудо-решение:

IF([condition]>5;5;[reuse condition])

Редактировать: Я знаю, что могу иметь две отдельные ячейки, где первая ячейка содержит длинную формулу, а другой просто относится к этому.Это не решение, которое я ищу.

1 Ответ

2 голосов
/ 22 мая 2019

Обычный способ - использовать отдельную ячейку для большой формулы или что-то вроде:

=MIN(big_formula,5)

так в вашем случае (с; разделителем) :

=MIN(IF(DA5746/1000>=1;DA5746/1000;1)*IF(CX5746<>"";1,1;1)*IF(M5746<>"";1,25;1)*IF(CL5746>0;IF(CL5746>1;CL5746;1+CL5746);1));5)

Примечание:

Ключ должен избегать использования IF.

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