Как сделать функцию в Excel: полное руководство с примерами

Если при вводе формулы в Excel вы видите ошибку #ИМЯ? или результат вычислений не соответствует ожидаемому, проблема чаще всего кроется в неправильном синтаксисе функции. Даже одна лишняя запятая или пропущенная скобка может сломать всю логику. Например, формула =СУММ(A1:A10) вернёт сумму диапазона, а =СУММ(A1;A10) — ошибку, потому что в русскоязычной версии Excel разделителем аргументов служит точка с запятой, а не запятая. Эта статья поможет разобраться, как правильно составлять функции, избегать типичных ошибок и использовать их для автоматизации расчётов.

Функции в Excel — это готовые алгоритмы, которые выполняют вычисления, обработку текста, работу с датами и другие операции. Они делятся на категории: математические (СУММ, СРЗНАЧ), логические (ЕСЛИ, И), текстовые (ЛЕВСИМВ, ПОИСК) и т.д. Чтобы создать функцию, достаточно ввести её название в ячейку, открыть скобку, указать аргументы и закрыть скобку. Но на практике даже опытные пользователи допускают ошибки при вложенных формулах или работе с массивами. Далее разберём процесс по шагам — от базового синтаксиса до продвинутых техник.

1. Базовый синтаксис функций в Excel: правила написания

Любая функция в Excel начинается со знака равенства (=), после которого идёт её название. Например, =СЕГОДНЯ() возвращает текущую дату, а =ПИ() — число π. Аргументы функции указываются в круглых скобках и разделяются точкой с запятой (в русскоязычной версии) или запятой (в англоязычной). Если аргументов нет, скобки оставляют пустыми, как в примере с СЕГОДНЯ().

Важно помнить три ключевых правила:

  • 🔹 Регистр не важен: =сумм() и =СУММ() работают одинаково, но для удобства чтения лучше использовать заглавные буквы.
  • 🔹 Скобки обязательны: даже если у функции нет аргументов (например, =СЛЧИС()), их нельзя опускать.
  • 🔹 Разделитель аргументов: в русской версии Excel это точка с запятой (=ЕСЛИ(A1>10;"Да";"Нет")), в английской — запятая (=IF(A1>10,"Yes","No")).

Пример корректной функции для подсчёта среднего значения в диапазоне B2:B10:

=СРЗНАЧ(B2:B10)

Если вместо точки с запятой поставить запятую, Excel выдаст ошибку #ЗНАЧ!, потому что воспримет запятую как часть числа (например, 1,5 вместо двух отдельных аргументов).

⚠️ Внимание: Если после ввода функции результат не обновляется, проверьте настройки региональных параметров. В Файл → Параметры → Дополнительно → Параметры редактирования должен быть выбран правильный разделитель (точка с запятой для России).

2. Как вставить функцию через мастер функций

Для новичков удобнее использовать Мастер функций — встроенный инструмент, который помогает выбрать нужную функцию и заполнить её аргументы. Чтобы открыть его:

  1. Выделите ячейку, в которую нужно вставить функцию.
  2. Нажмите кнопку fx слева от строки формул или перейдите на вкладку Формулы → Вставить функцию.
  3. В открывшемся окне выберите категорию (например, Математические) и саму функцию (например, ОКРУГЛ).
  4. Заполните поля аргументов, следуя подсказкам, и нажмите ОК.

Мастер функций автоматически расставляет разделители и скобки, что снижает риск ошибок. Например, для функции ЕСЛИ он предложит три поля: Логическое выражение, Значение если истина и Значение если ложь. Это особенно полезно для сложных функций вроде ВПР или ИНДЕКС, где легко перепутать порядок аргументов.

Пример работы с мастером для функции СЧЁТЕСЛИ:

  1. Выберите категорию Статистические.
  2. Найдите функцию СЧЁТЕСЛИ и нажмите ОК.
  3. В поле Диапазон укажите A1:A10, в поле Критерий>5".
  4. Функция подсчитает количество ячеек в диапазоне A1:A10, значения в которых больше 5.

3. Популярные функции Excel и их применение

В Excel более 400 встроенных функций, но для большинства задач хватает 20–30 самых востребованных. Ниже — таблица с примерами использования ключевых функций:

Категория Функция Пример Результат
Математические СУММ =СУММ(A1:A5) Сумма чисел в диапазоне A1:A5
Логические ЕСЛИ =ЕСЛИ(A1>10;"Больше 10";"Меньше или равно") Текст "Больше 10" или "Меньше или равно" в зависимости от значения A1
Текстовые СЦЕПИТЬ =СЦЕПИТЬ(A1;" ";B1) Объединение текста из A1 и B1 с пробелом
Даты и время ДАТА =ДАТА(2026;5;15) Дата 15 мая 2026 года
Поиск и ссылки ВПР =ВПР("Яблоко";B2:C10;2;ЛОЖЬ) Значение из второго столбца таблицы B2:C10, соответствующее "Яблоку"

Для работы с текстом полезны функции ЛЕВСИМВ (извлекает символы слева), ПРАВСИМВ (справа) и ПОИСК (находит позицию подстроки). Например, чтобы извлечь первые 3 символа из ячейки A1, используйте:

=ЛЕВСИМВ(A1;3)

Для финансовых расчётов пригодится ПЛТ (вычисляет платеж по кредиту) или БС (будущая стоимость инвестиций). Например, ежемесячный платёж по кредиту 100 000 рублей на 5 лет под 10% годовых:

=ПЛТ(10%/12;5*12;-100000)
📊 Какие функции вы используете чаще всего?
Математические (СУММ, СРЗНАЧ)
Логические (ЕСЛИ, И)
Текстовые (СЦЕПИТЬ, ПОИСК)
Даты и время (ДАТА, СЕГОДНЯ)

4. Вложенные функции: как комбинировать несколько формул

Вложенные функции — это когда результат одной функции становится аргументом другой. Например, можно объединить ЕСЛИ и И, чтобы проверить несколько условий:

=ЕСЛИ(И(A1>10;B1<5);"Подходит";"Не подходит")

Здесь И(A1>10;B1<5) возвращает ИСТИНА или ЛОЖЬ, а ЕСЛИ на основе этого выводит текст.

Глубина вложенности в современных версиях Excel ограничена 64 уровнями, но на практике уже после 3–4 уровней формула становится трудночитаемой. Чтобы упростить её, можно:

  • 📌 Разбить на промежуточные ячейки (например, сначала посчитать И(A1>10;B1<5) в ячейке C1, а затем использовать =ЕСЛИ(C1;"Да";"Нет")).
  • 📌 Использовать именованные диапазоны (вкладка Формулы → Присвоить имя).
  • 📌 Применять функцию ПУСТО для обработки ошибок (например, =ЕСЛИОШИБКА(формула;"Ошибка")).

Пример сложной вложенной функции для категоризации данных:

=ЕСЛИ(A1<100;"Мало";ЕСЛИ(A1<500;"Средне";"Много"))

Здесь первая ЕСЛИ проверяет, меньше ли значение 100, а если нет — вторая ЕСЛИ проверяет порог 500.

⚠️ Внимание: При копировании вложенных функций в другие ячейки проверяйте, не сбились ли относительные ссылки (например, A1 может превратиться в A2). Для фиксации строки или столбца используйте абсолютные ссылки с $ (например, $A$1).

5. Распространённые ошибки и как их исправить

Даже опытные пользователи сталкиваются с ошибками при работе с функциями. Вот самые частые из них и способы их устранения:

Ошибка Причина Решение
#ИМЯ? Опечатка в названии функции или несуществующее имя Проверьте регистр и язык (например, SUM вместо СУММ в русскоязычной версии)
#ЗНАЧ! Неверный тип аргумента (например, текст вместо числа) Используйте ЕСЛИОШИБКА или проверьте формат ячеек
#ДЕЛ/0! Деление на ноль Добавьте проверку: =ЕСЛИ(B1=0;0;A1/B1)
#ССЫЛКА! Удалена ячейка или столбец, на который ссылается формула Обновите ссылки или восстановите удаленные данные
#ЧИСЛО! Некорректное числовое значение (например, отрицательный корень) Проверьте логику формулы и диапазон значений

Частая ошибка — несоответствие типов данных. Например, функция СУММ проигнорирует текстовые значения в диапазоне, а СРЗНАЧ учтёт их как 0. Чтобы этого избежать, используйте ЕСЛИ для фильтрации:

=СРЗНАЧ(ЕСЛИ(ЕОШИБКА(ЗНАЧЕН(A1:A10));"";A1:A10))

Эта формула преобразует текст в числа (где возможно) и игнорирует ошибки.

Как проверить, почему формула не работает?

1. Выделите ячейку с формулой и нажмите F9 — так вы увидите промежуточные результаты.

2. Перейдите на вкладку Формулы → Зависимости формул → Выделить предшествующие, чтобы отследить связи.

3. Используйте Оценка формулы (в той же вкладке), чтобы пошагово выполнить вычисления.

Ещё одна типичная проблема — автоматическое обновление ссылок при копировании формул. Например, если в ячейке B1 записана формула =A1*2, а её скопировать в B2, она превратится в =A2*2. Чтобы зафиксировать ссылку, используйте $:

=$A$1*2

Теперь при копировании ссылка на A1 не изменится.

6. Динамические массивы и новые функции в Excel 365

В Excel 365 и Excel 2021 появились динамические массивы — функции, которые автоматически "проливаются" на соседние ячейки. Например, УНИК извлекает уникальные значения из диапазона:

=УНИК(A1:A10)

Если в A1:A10 есть повторяющиеся данные, результат будет содержать только уникальные элементы, а Excel сам расширит диапазон вывода.

Другие полезные функции для работы с массивами:

  • 🔢 ФИЛЬТР — отфильтровывает данные по условию (например, =ФИЛЬТР(A1:B10;A1:A10>5)).
  • 🔢 СОРТ — сортирует диапазон (например, =СОРТ(A1:A10;1;-1) для сортировки по убыванию).
  • 🔢 ПОСЛЕД — возвращает последние n строк диапазона.

Динамические массивы упрощают работу с большими наборами данных, но требуют осторожности:

  • ⚠️ Они могут перезаписать данные в соседних ячейках.
  • ⚠️ Не все старые функции (например, ВПР) корректно работают с массивами.
  • ⚠️ В файлах, сохранённых в формате .xls (а не .xlsx), динамические массивы не поддерживаются.

Убедитесь, что файл сохранён в формате .xlsx или .xlsm

Проверьте, нет ли важных данных справа/снизу от формулы (они могут быть перезаписаны)

Используйте @ для возврата одного значения (например, =@УНИК(A1:A10))

Тестируйте формулы на копии данных-->

Пример комбинации ФИЛЬТР и СОРТ для вывода отсортированных данных по условию:

=СОРТ(ФИЛЬТР(A1:B10;A1:A10>100);2;1)

Эта формула сначала отфильтрует строки, где значение в первом столбце больше 100, а затем отсортирует результат по второму столбцу.

7. Оптимизация производительности: как ускорить работу функций

Если книга Excel тормозит при пересчёте формул, проблема может крыться в:

  • 🐢 Слишком большом количестве вложенных функций (особенно ЕСЛИ, ВПР).
  • 🐢 Летучих функциях (например, СЕГОДНЯ(), СЛЧИС()), которые пересчитываются при каждом изменении листа.
  • 🐢 Ссылках на целые столбцы (например, A:A вместо A1:A1000).

Чтобы ускорить работу:

  1. Заменяйте вложенные ЕСЛИ на ВЫБОР или ПРОСМОТР.
  2. Используйте Диспетчер имён (вкладка Формулы) для создания именованных диапазонов вместо ссылок на ячейки.
  3. Отключите автоматический пересчёт: Формулы → Параметры вычислений → Вручную (не забывайте нажимать F9 для обновления).
  4. Для больших таблиц используйте Power Query (вкладка Данные → Получить данные).

Пример оптимизации: вместо

=ЕСЛИ(A1=1;"Один";ЕСЛИ(A1=2;"Два";ЕСЛИ(A1=3;"Три";"Другое")))

лучше использовать:

=ВЫБОР(A1;"Один";"Два";"Три";"Другое")
⚠️ Внимание: Если в книге много летучих функций (например, СЕГОДНЯ()), сохраните её в формате .xlsm и добавьте макрос для принудительного пересчёта только при открытии файла. Это сократит нагрузку во время работы.

8. Продвинутые техники: массивы, LAMBDA и пользовательские функции

Для автоматизации повторяющихся задач в Excel 365 доступны пользовательские функции на основе LAMBDA. Например, можно создать функцию для расчёта НДС:

=LAMBDA(сумма;ставка; сумма*(1+ставка))

Чтобы присвоить ей имя (например, С_НДС), используйте Диспетчер имён:

  1. Перейдите на вкладку Формулы → Диспетчер имён → Создать.
  2. В поле Имя введите С_НДС.
  3. В поле Диапазон вставьте формулу =LAMBDA(сумма;ставка; сумма*(1+ставка)).
  4. Теперь можно использовать =С_НДС(A1;0,2) для расчёта суммы с 20% НДС.

Другие продвинутые техники:

  • 🛠️ Формулы массива: для обработки нескольких значений одновременно. Например, =СУММ(A1:A10*B1:B10) (вводится с Ctrl+Shift+Enter в старых версиях).
  • 🛠️ Power Query: для импорта и преобразования данных из внешних источников.
  • 🛠️ VBA-макросы: для создания собственных функций (требует знания программирования).

Пример формулы массива для подсчёта количества уникальных значений в диапазоне A1:A10:

=СУММ(1/СЧЁТЕСЛИ(A1:A10;A1:A10))

Эта формула работает так: СЧЁТЕСЛИ(A1:A10;A1:A10) возвращает массив количества повторений каждого элемента, а 1/... и СУММ преобразуют его в количество уникальных значений.

Часто задаваемые вопросы

Как сделать функцию, которая игнорирует ошибки в данных?

Используйте ЕСЛИОШИБКА. Например:

=ЕСЛИОШИБКА(A1/B1;0)

Эта формула вернёт 0, если при делении возникнет ошибка (например, деление на ноль).

Можно ли создать свою функцию без VBA?

Да, в Excel 365 для этого предназначена функция LAMBDA. Например, чтобы создать функцию для возведения числа в квадрат:

  1. Перейдите в Формулы → Диспетчер имён → Создать.
  2. Введите имя (например, КВАДРАТ).
  3. В поле формулы укажите =LAMBDA(x; x^2).

Теперь можно использовать =КВАДРАТ(A1).

Почему функция ВПР не находит значение, хотя оно есть в таблице?

Частые причины:

  • Четвёртый аргумент ВПР установлен в ИСТИНА (поиск приблизительного совпадения), а нужно ЛОЖЬ (точный поиск).
  • В данных есть скрытые пробелы или разные регистры. Используйте СЖПРОБЕЛЫ и ПРОПНАЧ для очистки.
  • Диапазон поиска не отсортирован (важно для приблизительного поиска).

Проверьте формулу: =ВПР("искомое значение";A1:B10;2;ЛОЖЬ).

Как заставить функцию обновляться автоматически при изменении данных?

По умолчанию Excel обновляет формулы автоматически. Если этого не происходит:

  • Проверьте настройки: Формулы → Параметры вычислений → Автоматически.
  • Если используются летучие функции (например, СЕГОДНЯ()), они обновляются при любом изменении листа или открытии файла.
  • Для принудительного пересчёта нажмите F9.
Можно ли использовать функции Excel в Google Таблицах?

Да, большинство функций Excel поддерживаются в Google Таблицах, но есть различия:

  • Разделитель аргументов — всегда запятая (даже в русскоязычной версии).
  • Некоторые функции имеют другие названия (например, ИНДЕКС+ПОИСКПОЗ вместо ВПР).
  • Динамические массивы работают иначе (например, UNIQUE вместо УНИК).

Пример: формула =СУММ(A1:A10) в Google Таблицах записывается как =SUM(A1:A10).