Наглядность в сложных формулах

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

comfort-formulas1.png

Оперативно разобраться в такой "красоте", обычно, может только ее автор. Да и то - если не больше недели прошло. Для остальных же работа с такой формулой - сущее мучение и обычно происходит по принципу "работает - не трогай".

Программисты, однако, давно нашли способ удобного представления вложенных друг в друга объектов (процессов, циклов, вычислений). В большистве языков программирования (в том числе и в VBA) для этого успешно используется два основных приема:

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

 comfort-formulas2.png

Нечто похожее можно изобразить и с формулами в Excel.

Переносы и отступы

Для разбиения длинной формулы на несколько отдельных строк, например, по отдельным функциям или аргументам, можно использовать сочетание клавиш ALT+Enter, предварительно установив курсор в строке формул в нужное место. Саму строку формул (начиная с версии Excel 2007) можно спокойно увеличить по высоте, потянув за нижний край:

comfort-formulas3.png

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

comfort-formulas4.png

Комментарии

Примечания или комментарии к фрагментам формул можно делать с помощью функции Ч (N), которая превращает любой текст в ноль, т.е. никак не повлияет на результат:

comfort-formulas5.png

Если же формула или аргумент должен выдавать не число, а текст, то функцию Ч плюсовать уже нельзя - получим ошибку ЗНАЧ, т.к. нельзя складывать числа и текст. Для комментирования текста вместо нее можно использовать функцию ПОВТОР (REPT). Она, по идее, повторяет заданный текст N-ое количество раз, но N мы можем задать равное нулю и приклеить получившуюся пустую строку к нашей формуле с помощью символа склеивания &:

comfort-formulas6.png

В комплексе, все вышеперечисленное позволяет ощутимо облегчить понимание сложных формул в "тяжелых случаях":

comfort-formulas7.png

Допускаю, что кому-то это покажется "захламлением" формулы избыточной информацией, лишним усложнением. К сожалению, более удобного способа для повышения наглядности сложных формул в Excel пока нет. Но если уж мне и придется столкнуться в чьем-нибудь файле с трехэтажной формулой пяти уровней вложенности, то я предпочту, чтобы ее автор пользовался чем-то подбным из перечисленного.

Ссылки по теме

  



25.04.2018 00:44:37
Действительно, очень крутая штука, часто применяю ее на практике, особенно когда формула длинная. Ведь потом, возвращаясь через время даже к собственноручно написанной формуле, бывает очень трудно разобраться что к чему:)
08.08.2018 12:41:33
Очень здорово! Красота должна быть везде. Спасибо!
Да, это хорошо.
Наверх