🧩 Функция LET: превращаем сложные формулы в понятный кодПривет, автоматизаторы! В прошлый раз мы разобрали неточный поиск в
VLOOKUP
на примере расчета премий. Сегодня сделаем наше решение ещё элегантнее с помощью функции
LET
!
🤔 Что такое LET и зачем она нужна?Представьте, что у вас есть сложная формула, где некоторые вычисления повторяются несколько раз или промежуточные результаты используются в разных местах. Без
LET
приходится:
- либо повторять одни и те же вычисления
- либо создавать дополнительные столбцы для промежуточных расчетов
LET
решает эти проблемы! Она позволяет:
1. Дать понятные имена промежуточным вычислениям
2. Использовать их результаты многократно
3. Сделать формулу читаемой и понятной
4. Не создавать лишних столбцов в таблице
📝 Как это выглядит:Было:=СУММ(A1:A10)/СЧЁТ(A1:A10)
Стало:=LET(
сумма; СУММ(A1:A10);
количество; СЧЁТ(A1:A10);
сумма/количество
)
В этом простом примере разница не так заметна. Но представьте, что нам нужно использовать сумму или количество несколько раз в формуле. С LET мы:
- Вычисляем их только один раз
- Даём понятные имена
- Используем везде, где нужно
🧑💻 Синтаксис:=LET(
имя1; значение1; // первая переменная
имя2; значение2; // вторая переменная
... // сколько нужно пар
результат // финальное выражение
)
💫 А теперь посмотрим, как LET преображает наш расчет зарплат:
=ArrayFormula(LET(
_суммы_продаж;
QUERY(Продажи;
"select Col1, sum(Col2)
where Col1 is not null
group by Col1
order by sum(Col2)
label Col1 '', sum(Col2) '' ";
1);
_имя; CHOOSECOLS(_суммы_продаж;1);
_сумма; CHOOSECOLS(_суммы_продаж;2);
_прем_кэфф; VLOOKUP(_сумма;Премии;2;1);
_должность; VLOOKUP(_имя;Должности;2;0);
_оклад; VLOOKUP(_должность;Оклады;2;0);
_премия; _оклад*_прем_кэфф;
_зарплата; _оклад+_премия;
{
{
"Должность"\
"Имя"\
"Сумма продаж"\
"Оклад"\
"Премия %"\
"Премия"\
"Итого ЗП"
};
{
_должность\
_суммы_продаж\
_оклад\
_прем_кэфф\
_премия\
_зарплата
}
}
))
📚 Что здесь происходит:1.
_суммы_продаж
- получаем базовые данные с помощью
QUERY
2.
_имя и _сумма
- разделяем результат на колонки
3.
_прем_кэфф
- находим % премии через неточный поиск
4.
_должность
и
_оклад
- получаем данные из справочников
5.
_премия
и
_зарплата
- считаем итоговые суммы
6. Формируем финальную таблицу с результатами
⭐️ Преимущества использования LET:1. Читаемость: каждое вычисление имеет понятное название
2. Производительность: промежуточные значения вычисляются один раз
3. Отладка: легко проверить каждую переменную
4. Поддерживаемость: просто вносить изменения
5. Компактность: всё в одной формуле, без вспомогательных ячеек
🎓 Где это особенно полезно:- Сложные финансовые расчеты
- Многоступенчатые вычисления
- Формулы с повторяющимися частями
- Любые формулы длиннее 2-3 операций
⚡️ Бонус-советы:1. Используйте понятные имена переменных
2. Группируйте связанные вычисления
3. Добавляйте пустые строки для читаемости
4. Начинайте имена временных переменных с "_"
Раздел: #формулы #решения
Функции: #LET #ARRAYFORMULA #QUERY #VLOOKUP #CHOOSECOLS
❔ Документация по функциям: LET, ARRAYFORMULA, QUERY, VLOOKUP, CHOOSECOLS🔗 Пример в Таблице чатаА как вы делаете сложные формулы понятнее? Поделитесь в комментариях!
Хотите больше крутых приёмов работы с Google Таблицами?💬 Чат📢 Канал#GoogleSheets #ПродвинутыеФормулы