Функция LET (LET)

Функция LET используется, для удобочитаемости производимых вычислений и увеличения производительности при больших объемах данных. По сути функция создает переменные с вычислениями и позволяет повторно их использовать в самой функции.

Описание функции

Функция LET на момент добавления в справочник (25 апреля 2020 года) находилась в «быстром кругу» тестирования программы Office Insider, это значит, что функция не только не доступна обычным пользователям Microsoft 365 (ранее Office 365), но и не все тестировщики имеют возможность ею воспользоваться.

Более того, Microsoft еще даже не определилась в какой категории будет находиться данная функция и, при попытке осуществить поиск в самом приложении Excel — выдает категорию «Рекомендованные», которая по сути является опциональной, если не было найдено точного соответствия. Естественно, вставить функции не вводом с клавиатуры, а через вкладку «Формулы» — не получается, она попросту отсутствует во всех категориях.

Поэтому данная функция помещена в категорию «Экспериментальные».

Итак, для чего предназначена функция LET. У нее два основных предназначений: первое — это разгрузить громоздкие вычисления, а второе — ускорить процесс вычислений. Кроме того, LET решает еще одну важную задачу для пользователя — а именно, упрощает повторные редактирования сложных функций.

Синтаксис

=LET(имя1; значение_имени1; вычисление_или_имя2; [значение_имени2;...] )

Аргументы

имя1значение_имени1вычисление_или_имя2
Обязательный аргумент. Имя, которое нужно назначить. Должно начинаться с буквы. Не может быть выводом формулы, или иметь имя, конфликтующее с существующим обозначением диапазонов в Excel. Например, имя может быть «a» (английская буква), но не может быть «a1», так, как это указывает на ячейку. Также имя не может быть буквой «с» (английская), т.к. это ведет к конфликту использования стиля ссылок R1C1
Обязательный аргумент. значение, присвоенное для имени1. Это может как константа (например просто число, или текст), так и формула, или ссылка на ячейку (ну, а эта ячейка может содержать свои вычисления).
Обязательный аргумент. Данное поле может использоваться для конечного вычисления с применением других функций Excel и предопределенных в формуле переменных. В этом случае это должен быть последний аргумент функции.

Также данное поле может использоваться для определения имени второй переменной функции (имя2), в этом случае случае следующим аргументом будет идти ее значение, а последующим вычисление, или имя3. Всего можно добавить до 126 переменных в функцию.

Замечания

  • На момент добавления заметки функция доступна для части участников программы Office insider, поэтому может быть не доступна в вашей версии Microsoft 365 (Office 365)
  • Функция LET анонсирована после выхода Office 2019, поэтому нужно использовать Office по подписке, либо дождаться следующего большого обновления Office
  • Последним аргументом функции всегда должно быть вычисление, которое возвращает результат.

Варианты использования LET

Самый простой вариант использования функции

=LET(a;4;a*23)

Сначала определяется переменная «а», равная значению 4, а в финальной части формулы эта переменная умножается на число 23. В данном случае, использование функции LET лишено смысла, поскольку формула очень простая, но здесь легче всего понять основы ее работы.

Вариант с определением диапазона

Второй пример уже лучше отображает суть использования LET. Данная формула взята из данного материала, где решаются задания мирового чемпионата по Excel — #ExcelWorldChamp.

=LET(a;F26:J26;(СУММ(a)-МАКС(a)-МИН(a))/(СЧЁТ(a)-2))

изначально формула выглядела вот так:

=(СУММ(F26:J26)-МАКС(F26:J26)-МИН(F26:J26))/(СЧЁТ(F26:J26)-2)

От LET получаем преимущество, т.к. один и тот же диапазон «F26:J26» используется в формуле несколько раз, поэтому, если нужно будет изменить формулу, придется изменить диапазон 4 раза и не ошибиться, при этом.

Переменная определяется формулой

Вот такая вот формула из того же примера #ExcelWorldChamp

=СЦЕП(ИНДЕКС(T03_01_02;ПОИСКПОЗ(ВПР(НАИБОЛЬШИЙ($P$4:$P$11;4);$P$4:$Q$11;2;ЛОЖЬ);T03_01_02[Athlete Number];0);1);"-";ВПР(НАИБОЛЬШИЙ($P$4:$P$11;4);$P$4:$Q$11;2;ЛОЖЬ))

может быть переписана как:

=LET(a;$P$4:$P$11; b;НАИБОЛЬШИЙ(a;4);d;$P$4:$Q$11;e;ВПР(b;d;2;ЛОЖЬ); СЦЕП(ИНДЕКС(T03_01_02;ПОИСКПОЗ(e;T03_01_02[Athlete Number];0);1);"-";e))

Не смотря, что формулы производят одно и тоже вычисление, вторая не только позволяет единожды определять диапазоны, как в примере выше (переменные a, d), но и присваивать переменным вычисления (переменные b и e). И здесь в полной мере раскрывается второе преимущество LET — громоздкие вычисления производятся единожды, а потом уже используется результат вычисления, что существенно ускоряет процесс работы в Excel.

Для тех пользователей, которые работают с тысячами или даже сотнями тысяч строк в Excel — это будет очень весомым аргументом использования LET.

Пример

Видео работы функции

officeref: