Функции Excel: полный справочник с примерами и инструкциями

Microsoft Excel — это не просто табличный редактор, а мощный инструмент для анализа данных, автоматизации расчётов и визуализации информации. Знание функций Excel позволяет экономить часы рутинной работы, сводя к минимуму ошибки в вычислениях. Однако многие пользователи используют лишь малую часть возможностей программы, ограничиваясь простейшими формулами вроде СУММ() или СРЗНАЧ(). Эта статья поможет разобраться в основных и продвинутых функциях Excel, их синтаксисе, нюансах применения и типичных ошибках.

Мы структурировали материал так, чтобы он был полезен как новичкам, так и опытным пользователям. Вы узнаете, как работают математические, логические, текстовые, статистические и другие категории функций, а также получите практические примеры их использования. Особое внимание уделено комбинациям функций для решения сложных задач — например, как извлечь данные из текста с помощью ПОИСКПОЗ() + ИНДЕКС() или автоматизировать отчёты с помощью ЕСЛИОШИБКА(). Готовы погрузиться?

1. Основы работы с функциями в Excel: синтаксис и правила

Любая функция в Excel состоит из трёх ключевых элементов: названия, скобок и аргументов. Например, в формуле =СУММ(A1:A10):

  • 🔹 СУММ — имя функции (регистр не важен, Excel преобразует его автоматически).
  • 🔹 (A1:A10) — аргумент, указывающий диапазон ячеек для суммирования.
  • 🔹 = — обязательный знак начала любой формулы.

Аргументы могут быть обязательными (без них функция не сработает) и необязательными (заключаются в квадратные скобки в справке). Например, у функции ПСТР(текст; начальная_позиция; [число_знаков]) третий аргумент можно опустить — тогда будет извлечено всё до конца строки.

⚠️ Внимание: Если после ввода формулы Excel выдаёт ошибку #ИМЯ?, проверьте:
  • 🔸 Правильность написания названия функции (например, ЕСЛИ, а не ЕСЛЬ).
  • 🔸 Соответствие разделителей аргументов языковой версии программы.
  • 🔸 Отсутствие пробелов внутри скобок (например, =СУММ( A1:A10 ) — ошибка).

Для ускорения работы используйте Мастер функций (Формулы → Вставить функцию или сочетание Shift + F3). Он поможет найти нужную функцию по категории или описанию, а также покажет синтаксис с примерами. Ещё один лайфхак: начинайте вводить название функции вручную — Excel подскажет варианты автозаполнения.

📊 Как часто вы используете функции Excel?
Ежедневно
Несколько раз в неделю
Редко
Никогда

2. Топ-10 самых востребованных функций Excel с примерами

Некоторые функции используются в 90% задач. Мы отобрали 10 самых универсальных, которые должен знать каждый пользователь. Их комбинации покрывают большинство бизнес-задач — от простых расчётов до сложного анализа данных.

Функция Назначение Пример использования
СУММ() Суммирует значения в диапазоне =СУММ(B2:B100) — сумма чисел в столбце B с 2 по 100 строку
ЕСЛИ() Возвращает одно значение, если условие истинно, и другое — если ложно =ЕСЛИ(A1>100; "Высокий"; "Низкий")
ВПР() Ищет значение в первом столбце таблицы и возвращает данные из указанной строки =ВПР("Яблоко"; A2:B10; 2; ЛОЖЬ) — найдёт цену яблока в таблице
СЧЁТЕСЛИ() Считает количество ячеек, соответствующих критерию =СЧЁТЕСЛИ(C2:C50; ">50") — количество значений больше 50
ИНДЕКС() + ПОИСКПОЗ() Альтернатива ВПР() с гибким поиском по строкам и столбцам =ИНДЕКС(B2:D10; ПОИСКПОЗ("Груша"; A2:A10; 0); 2)

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

3. Логические функции: ЕСЛИ(), И(), ИЛИ() и их комбинации

Логические функции позволяют создавать условные вычисления — например, присваивать категории клиентам по сумме покупок или проверять соответствие данных критериям. Базовая функция ЕСЛИ() имеет синтаксис:

=ЕСЛИ(логическое_выражение; значение_если_истина; [значение_если_ложь])

Пример: =ЕСЛИ(B2>1000; "VIP"; "Стандарт") — если сумма в ячейке B2 больше 1000, вернёт "VIP", иначе "Стандарт".

Для проверки нескольких условий одновременно используйте:

  • 🔹 И() — возвращает ИСТИНА, если все условия истинны. Пример: =ЕСЛИ(И(A2>10; B2<5); "Да"; "Нет").
  • 🔹 ИЛИ() — возвращает ИСТИНА, если хотя бы одно условие истинно. Пример: =ЕСЛИ(ИЛИ(A2=1; A2=3); "Особый"; "Обычный").
  • 🔹 НЕ() — инвертирует результат. Пример: =ЕСЛИ(НЕ(A2=0); "Ненулевое"; "Ноль").

⚠️ Внимание: Избегайте вложенных ЕСЛИ() глубиной более 3–4 уровней. Такие формулы сложно читать и отлаживать. Вместо этого используйте:
  • 🔸 Функцию ВЫБОР() для множественного выбора (например, =ВЫБОР(A1; "Мало"; "Средне"; "Много")).
  • 🔸 Таблицы подстановки или ПРОСМОТР() для сложных правил.

Продвинутый пример: проверка сложного условия с И() и ИЛИ():

=ЕСЛИ(И(ИЛИ(A2="Да"; A2="Одобрено"); B2>100); "Принято"; "Отклонено")

Эта формула возвращает "Принято", если в ячейке A2 стоит "Да" или "Одобрено", и значение в B2 больше 100. Во всех остальных случаях — "Отклонено".

Убедиться, что все условия покрыты (нет "дыр" в логике)|Проверить граничные значения (например, ровно 1000 в примере выше)|Использовать F9 для пошагового вычисления формулы|Тестировать на реальных данных, а не только на тестовых-->

4. Текстовые функции: обработка строк и извлечение данных

Текстовые функции незаменимы для очистки данных, извлечения фрагментов строк или форматирования текста. Например, если вам нужно получить первые 3 символа из ячейки или заменить часть текста, эти функции сэкономят часы ручной работы. Рассмотрим самые полезные:

  • 🔹 ЛЕВСИМВ(), ПРАВСИМВ() — возвращают заданное количество символов с начала или конца строки. Пример: =ЛЕВСИМВ(A1; 3) из "Апельсин" вернёт "Апе".
  • 🔹 ПСТР() — извлекает фрагмент текста с указанной позиции. Пример: =ПСТР("123-456-789"; 5; 3) вернёт "456".
  • 🔹 ПОДСТАВИТЬ() — заменяет часть текста. Пример: =ПОДСТАВИТЬ(A1; " "; "") уберёт все пробелы.
  • 🔹 СЖПРОБЕЛЫ() — удаляет лишние пробелы (в начале, конце и между словами).
  • 🔹 НАЙТИ(), ПОИСК() — возвращают позицию подстроки в тексте (разница: НАЙТИ чувствительна к регистру).

Практический пример: извлечение домена из email. Если в ячейке A1 содержится ivanov@example.com, формула =ПРАВСИМВ(A1; ДЛСТР(A1)-НАЙТИ("@";A1)) вернёт example.com. Разберём её пошагово:

  1. НАЙТИ("@";A1) находит позицию символа "@" (например, 7).
  2. ДЛСТР(A1) возвращает общую длину строки (17).
  3. ДЛСТР(A1)-НАЙТИ("@";A1) вычисляет количество символов после "@" (17-7=10).
  4. ПРАВСИМВ() извлекает последние 10 символов.

Как извлечь все email из текста?

Используйте комбинацию функций для поиска по шаблону:

=ЕСЛИОШИБКА(

ПСТР(

$A1;

ПОИСК("@"; $A1) - ДЛСТР($A1) + ПОИСК(" "; $A1 & "@") + 1;

ПОИСК(" "; ПСТР($A1; ПОИСК("@"; $A1); 100) & " ") - 1

);

""

)

Эта формула ищет текст между пробелом и "@", а затем до следующего пробела. Для массовой обработки скопируйте её вниз и отфильтруйте пустые ячейки.

5. Функции даты и времени: расчёты с календарём

Excel хранит даты как числа (количество дней с 1 января 1900 года), а время — как дробную часть (например, 44197,5 = 12:00 1 января 2021 года). Это позволяет выполнять арифметические операции: прибавлять дни, вычислять разницу между датами или определять день недели.

Ключевые функции для работы с датами:

  • 🔹 СЕГОДНЯ() — возвращает текущую дату (обновляется при пересчёте листа).
  • 🔹 ДАТА() — создаёт дату из года, месяца и дня. Пример: =ДАТА(2026; 12; 31).
  • 🔹 ДЕНЬНЕД() — возвращает день недели (1=воскресенье, 7=суббота). Для русского формата используйте =ТЕКСТ(A1; "ДДДД") ("понедельник").
  • 🔹 РАЗНДАТ() — вычисляет разницу между датами в годах, месяцах или днях. Пример: =РАЗНДАТ(A1; B1; "d") — разница в днях.
  • 🔹 ДАТАМЕС() — добавляет месяцы к дате. Пример: =ДАТАМЕС(A1; 3) — дата через 3 месяца.

⚠️ Внимание: Функция РАЗНДАТ() не имеет автозаполнения в Excel — её нужно вводить вручную. Она поддерживает следующие единицы измерения:
  • 🔸 "y" — полные годы.
  • 🔸 "m" — полные месяцы.
  • 🔸 "d" — дни.
  • 🔸 "ym" — месяцы без учёта лет.
  • 🔸 "yd" — дни без учёта лет.
  • 🔸 "md" — дни без учёта месяцев и лет.

Пример расчёта стажа сотрудника:

=ЕСЛИ(

РАЗНДАТ(B2; СЕГОДНЯ(); "y")=0;

ТЕКСТ(РАЗНДАТ(B2; СЕГОДНЯ(); "m"); "0 месяцев");

ТЕКСТ(РАЗНДАТ(B2; СЕГОДНЯ(); "y"); "0 лет ") &

ТЕКСТ(РАЗНДАТ(B2; СЕГОДНЯ(); "ym"); "0 месяцев")

)

Эта формула вернёт строку вида "2 года 3 месяца" или "5 месяцев", если стаж меньше года.

6. Функции поиска и ссылок: ВПР(), ИНДЕКС(), ПОИСКПОЗ()

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

ВПР() (Вертикальный поиск) ищет значение в первом столбце таблицы и возвращает данные из указанной строки. Синтаксис:

=ВПР(искомое_значение; таблица; номер_столбца; [интервальный_просмотр])

Пример: =ВПР("Яблоко"; A2:B10; 2; ЛОЖЬ) найдёт цену яблока во втором столбце таблицы A2:B10. Последний аргумент ЛОЖЬ обеспечивает точный поиск (без него Excel вернёт приблизительное совпадение).

Недостатки ВПР():

  • 🔸 Искомое значение должно быть в первом столбце таблицы.
  • 🔸 Не работает с данными слева от искомого столбца.
  • 🔸 Медленно обрабатывает большие массивы данных.

Альтернатива — комбинация ИНДЕКС() + ПОИСКПОЗ(), которая лишена этих ограничений.

Пример использования ИНДЕКС() + ПОИСКПОЗ() для поиска цены товара по названию (данные в A2:B10, где A — названия, B — цены):

=ИНДЕКС(B2:B10; ПОИСКПОЗ("Груша"; A2:A10; 0))

Здесь ПОИСКПОЗ() находит позицию "Груши" в диапазоне A2:A10, а ИНДЕКС() возвращает значение из столбца B на этой позиции. Преимущества:

  • 🔹 Работает с данными в любом столбце.
  • 🔹 Быстрее обрабатывает большие таблицы.
  • 🔹 Позволяет искать по строкам и столбцам одновременно (двумерный поиск).

7. Обработка ошибок: ЕСЛИОШИБКА(), ЕНД(), ЕПУСТО()

Ошибки в Excel (#ДЕЛ/0!, #Н/Д, #ЗНАЧ!) могут портить внешний вид отчётов и мешать анализу. Функции обработки ошибок помогают маскировать их или заменять на осмысленные значения.

Основные функции:

  • 🔹 ЕСЛИОШИБКА() — возвращает заданное значение, если формула содержит ошибку. Пример: =ЕСЛИОШИБКА(A1/B1; 0) вернёт 0 вместо #ДЕЛ/0!.
  • 🔹 ЕНД() — проверяет, является ли значение ошибкой #Н/Д (например, от ВПР()).
  • 🔹 ЕПУСТО() — проверяет, пуста ли ячейка.
  • 🔹 ЕОШ(), ЕЧИСЛО(), ЕТЕКСТ() — проверяют тип данных.

Пример использования ЕСЛИОШИБКА() для защиты от ошибок деления:

=ЕСЛИОШИБКА(

(B2 - A2) / A2;

ЕСЛИ(A2=0; "Деление на ноль"; "Ошибка данных")

)

Эта формула вычисляет процентное изменение между B2 и A2. Если A2=0, вернёт "Деление на ноль", при других ошибках — "Ошибка данных".

Для проверки типа ошибки используйте комбинацию функций:

=ЕСЛИ(

ЕНД(A1); "Нет данных";

ЕСЛИ(

ЕОШИБКА(1/(A1=0)); "Деление на ноль";

ЕСЛИ(

ЕЧИСЛО(A1); A1;

"Не число"

)

)

)

Эта конструкция последовательно проверяет:

  1. Является ли значение ошибкой #Н/Д.
  2. Является ли значение нулём (проверка через 1/(A1=0) возвращает #ДЕЛ/0!, если A1=0).
  3. Является ли значение числом.

8. Продвинутые приёмы: массивы, ЛЯМБДА() и динамические формулы

Современные версии Excel (2019, 2021, 365) поддерживают динамические массивы и функции ЛЯМБДА(), которые позволяют создавать пользовательские функции прямо в ячейках. Это открывает возможности для сложных вычислений без VBA.

Динамические массивы автоматически "проливаются" на соседние ячейки, если результат содержит несколько значений. Например, формула:

=СОРТ(B2:B100; ; -1)

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

  • 🔹 ФИЛЬТР() — фильтрует данные по критерию. Пример: =ФИЛЬТР(A2:B10; A2:A10="Да").
  • 🔹 УНИК() — возвращает уникальные значения. Пример: =УНИК(A2:A100).
  • 🔹 ПОСЛЕД() — извлекает последние N строк массива.

Функция ЛЯМБДА() позволяет создавать собственные функции без VBA. Например, формула для расчёта НДС:

=ЛЯМБДА(сумма; ставка;

ЕСЛИ(сумма<0; "Ошибка";

сумма * (1 + ставка/100)

)

)(A1; 20)

Здесь мы определяем функцию с двумя параметрами (сумма и ставка), а затем сразу же вызываем её с аргументами A1 и 20. Чтобы сделать функцию повторно используемой, присвойте ей имя через Диспетчер имён (Формулы → Диспетчер имён → Создать).

Как создать свою функцию для расчёта скидки?

1. Перейдите в Формулы → Диспетчер имён → Создать.

2. В поле "Имя" введите Скидка.

3. В поле "Диапазон" введите:

=ЛЯМБДА(цена; процент;

ЕСЛИ(процент<0; "Ошибка";

ЕСЛИ(процент>100; "Ошибка";

цена * (1 - процент/100)

))

)

4. Теперь в любой ячейке можно использовать =Скидка(A1; 15) для расчёта цены со скидкой 15%.

Динамические массивы и ЛЯМБДА() требуют Excel 365 или Excel 2021. В более ранних версиях аналогичный функционал реализуется через Ctrl + Shift + Enter (формулы массива), но это менее удобно.

FAQ: Ответы на частые вопросы

Как в Excel посчитать количество ячеек с текстом?

Используйте функцию СЧЁТЗ() для подсчёта непустых ячеек или СЧИТАТЬПУСТОТЫ() для пустых. Чтобы посчитать только текстовые ячейки (исключая числа и даты), примените формулу массива:

=СУММ(--(ЕТЕКСТ(A1:A100)))

Введите её как формулу массива (Ctrl + Shift + Enter в Excel 2019 и старше).

Почему ВПР() возвращает #Н/Д, хотя данные есть?

Причины ошибки #Н/Д в ВПР():

  • 🔹 Искомое значение отсутствует в первом столбце таблицы (проверьте опечатки и регистр).
  • 🔹 Четвёртый аргумент установлен в ЛОЖЬ, а точного совпадения нет.
  • 🔹 Диапазон поиска не зафиксирован (используйте $A$2:$B$100).
  • 🔹 В данных есть скрытые символы (пробелы, неразрывные пробелы). Используйте СЖПРОБЕЛЫ() для очистки.

Решение: оберните ВПР() в ЕСЛИОШИБКА() или используйте ИНДЕКС() + ПОИСКПОЗ().

Как объединить текст из нескольких ячеек?

Используйте:

  • 🔹 СЦЕПИТЬ() (устаревшая, но работает во всех версиях): =СЦЕПИТЬ(A1; " "; B1).
  • 🔹 ОБЪЕДИНИТЬ() (Excel 2016+): =ОБЪЕДИНИТЬ(A1; B1; C1) (автоматически добавляет разделитель).
  • 🔹 Оператор &: =A1 & " " & B1.

Для объединения с переносом строки используйте СИМВОЛ(10):

=СЦЕПИТЬ(A1; СИМВОЛ(10); B1)

Не забудьте включить перенос текста в ячейке (Главная → Перенос текста).

Можно ли в Excel использовать функции из Google Sheets?

Нет, синтаксис функций в Excel и Google Sheets отличается. Например:

  • 🔹 В Google Sheets для объединения текста используется =CONCATENATE() или =JOIN(), в Excel — =СЦЕПИТЬ() или =ОБЪЕДИНИТЬ().
  • 🔹 Функция QUERY() (для SQL-подобных запросов) есть только в Google Sheets.
  • 🔹 В Excel 365 появились аналогичные функции (например, ФИЛЬТР()), но их синтаксис отличается.

Для переноса формул между системами используйте ручную замену или специализированные конвер