Избегайте двойных, идентичных аргументов в IF - PullRequest
2 голосов
/ 05 июля 2019

Это изображение иллюстрирует бюджет, где значения для Yearly, Quartly, Monthly и т. Д. Делятся на месячное значение и затем суммируются:

enter image description here

Если ничего не набрано, то я не хочу видеть 0.Вместо этого я просто хочу, чтобы поле оставалось пустым.Как показано в строке 4.

Поэтому я использую IF, где я сначала проверяю, дает ли расчет ноль, A2/12+B2/3+C2>0.Если это не так, то я показываю результат A2/12+B2/3+C2;иначе ничего не отображается: " ".

=IF(A2/12+B2/3+C2>0 ; A2/12+B2/3+C2 ; " ")

У меня вопрос, могу ли я избежать вычисления дважды в формуле? A2/12+B2/3+C2 записывается дважды.В моем реальном сценарии у меня есть довольно большие вычисления, и кажется довольно утомительным и подверженным ошибкам, что, когда мне нужно что-то исправить в вычислениях, я должен скопировать / вставить это, чтобы оно было одинаковым в обоих местах формулы.

Есть ли более разумный способ добиться этого?Разумный способ выполнить расчет, но избежать нулевого случая?Способ, который не включает дублирование расчета?

Ответы [ 2 ]

2 голосов
/ 05 июля 2019

с подходом IF это неизбежно, но есть разные способы, такие как, например:

=REGEXREPLACE(""&(A2/12+B2/3+C2); "^0$"; )

0

2 голосов
/ 05 июля 2019

Я думаю, что самый простой подход здесь - это вообще не использовать формулы или IF операторы.Я бы порекомендовал подход форматирования чисел, который позволяет вам отображать значения различными способами.Вы можете найти его здесь в menu format > number > more formats > custom number format) и использовать его так:

#,##0.00_);"("#,##0.00")";""_)
...