Программирование на минималках или функция LET в Excel Сразу оговорюсь, что этот пост для счастливых обладателей офиса версии от 2021 и моложе, а также офиса 365 (а то бывает обидно, когда читаешь, потом понимаешь, что оно тебе не подойдет) Новые версии эксель умеют работать с динамическими массивами (что важно – без бесячих 😡 формул массивов).
(В следующей ➡️ статье мы как раз познакомимся с некоторыми из них)
А здесь, в канале – самая, на мой взгляд, спорная функция из «новеньких» - функция LET.
Что делает LET?
Функция назначает имена массивам и результатам вычислений, хранит их в виде переменных и производит любые заданные вычисления с этими переменными.
Если сейчас, как говорится, нифига не понятно, но очень интересно 🙄, то покажу на примере.
В этой таблице на картинке нужно рассчитать сумму «К выплате» как оклад+премия+доплата за стаж.
В стандартном варианте формула выглядит так:
=E5+E5F5+G5 Но если мы используем функцию LET, то так: =LET(оклад;E5:E9;процент_премии;F5:F9;доплата_стаж;G5:G9;оклад+окладпроцент_премии+доплата_стаж)
Здесь массивам присваиваются имена переменных, например, массиву E5:E9 присвоено имя «оклад». А затем происходят вычисления уже с этими переменными, а не с ячейками. Зачем оно надо:
☑️ Читаемость - формулы читаются как предложения
☑️ Производительность - переменные хранятся только внутри этой формулы, не занимая лишнее место в оперативной памяти.
☑️ Поддержка - легче вносить правки и делать отладку вычислений, потому что разбираешься не с безымянными массивами, а с именованным. Ведь это только данный пример такой примитивный - лишь для понимания - а в реальной работе вычисления бывают значительно более «многоэтажные». И чтобы разобрать этот клубок из вложенных формул, не один пузырек новопассита улетит… Здесь же как будто более наглядно.
Но спорно. Мне сложно судить о практической пользе этой «продвинутой» формулы, т.к. на моем рабочем ноуте, к сожалению, старинный 2019-й эксель 😢
Но интересно. Немного похоже на программирование, где так же объявляются переменные, и все действия уже происходит с ними, а не напрямую с массивами.
В общем, кто дочитал, сегодня стал чуть-чуть продвинутее 💙 А вы используете LET? Хотя бы слышали про нее? Делитесь примерами в комментариях! 👇
· 04.02
О функции LET впервые слышу - спасибо за наводку👍 Выглядит интересно, но пока не понимаю практической пользы. Что мешает отдельно создать именованные диапазоны (переменные) с говорящими именами и во всех формулах одной книги использовать их? Даже больше скажу, внутри именованного диапазона уже может быть формула какого-то расчета. В общем, надо подумать над вариантами юз кейсов...
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён
· 04.02
Я так понимаю, вопрос в быстодействии. В функции let имя массива живет только внутри функции, а при создании именованных диапазонов они доступны для всего файла, и когда их много, тормозят его. Хотя я тоже пока не поняла, так ли нужна эта фанкция 🤔
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён
· 04.02
Да, возможно вопрос в быстродействии. Жаль проверить не получится, у меня более ранняя версия. А так было бы интересно потестить на досуге 😃
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён
· 04.02
Мне кажется, чтобы понять разницу, именованных диапазонов должно быть прям очень много и сам документ огромным. Но водможно вдияет на размер файла, надо бы проверить
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён