В Excel 2026 доступно 450+ встроенных функций, но 80% пользователей регулярно используют не более 20 из них. Проблема в том, что без понимания синтаксиса и логики работы даже простые формулы вроде =СУММЕСЛИМН() или =ВПР() вызывают ошибки #ЗНАЧ! или #Н/Д. Эта статья структурирует функции по категориям, раскрывает их назначение и показывает, как избежать типичных ошибок при вводе аргументов.
Мы сосредоточимся на практике: каждый раздел содержит не только описание синтаксиса, но и реальные примеры применения. Например, как с помощью =ЕСЛИОШИБКА() скрыть ошибки в отчетах или как =ТЕКСТСОЕД() объединяет данные из нескольких ячеек без потери форматирования. Для удобства функции сгруппированы по задачам: математические вычисления, работа с текстом, датами, логические проверки и поиск данных.
Особое внимание уделено скрытым возможностям: например, мало кто знает, что =СЧЁТЕСЛИМН() может обрабатывать до 127 критериев одновременно, а =ПОИСКПОЗ() в 10 раз быстрее =ВПР() при работе с большими массивами. В конце статьи — чек-лист для проверки формул и FAQ по решению распространённых ошибок.
Базовые математические функции: СУММ, СРЗНАЧ, ОКРУГЛ
Математические функции — основа любой таблицы. Даже если вы никогда не использовали Excel для сложных расчётов, =СУММ() и =СРЗНАЧ() пригодятся для быстрого анализа данных. Главное правило: всегда проверяйте диапазоны ячеек в аргументах. Ошибка в одной букве (например, B2:B100 вместо B2:B10) исказит результат.
Функция =ОКРУГЛ() часто вызывает путаницу из-за второго аргумента — количества знаков после запятой. Например, =ОКРУГЛ(3,14159; 2) вернёт 3,14, а =ОКРУГЛ(3,14159; -1) — 0. Это не ошибка: отрицательное значение округляет до десятков, сотен и т.д. Используйте =ОКРУГЛВВЕРХ() и =ОКРУГЛВНИЗ() для принудительного округления в нужную сторону.
- 📌 =СУММ(число1; [число2]; ...) — складывает значения. Поддерживает до 255 аргументов. Пример:
=СУММ(A1:A10; C1:C5). - 📊 =СРЗНАЧ(число1; [число2]; ...) — вычисляет среднее арифметическое. Игнорирует пустые ячейки и текст.
- 🔄 =ОКРУГЛ(число; количество_знаков) — округляет до указанного десятичного знака. Для округления до целого используйте 0.
- ➗ =ОСТАТ(число; делитель) — возвращает остаток от деления (аналог операции
%в программировании).
| Функция | Пример | Результат | Типичная ошибка |
|---|---|---|---|
| =СУММ(A1:A3) | Ячейки содержат 5, 10, 15 | 30 | #ЗНАЧ!, если в диапазоне есть текст |
| =СРЗНАЧ(B2:B5) | Ячейки: 10, 20, "", 40 | 23,33 | Пустые ячейки игнорируются |
| =ОКРУГЛ(3,567; 1) | — | 3,6 | Округление до 0 знаков даст 4 |
| =ОСТАТ(10; 3) | — | 1 | #ДЕЛ/0! при делении на 0 |
⚠️ Внимание: Если=СУММ()возвращает 0 вместо ожидаемого результата, проверьте формат ячеек. Текстовые значения (например, "100 руб") не суммируются. Используйте=ЗНАЧЕН()для преобразования текста в числа.
Логические функции: ЕСЛИ, И, ИЛИ, НЕ
Логические функции позволяют создавать условные вычисления — основа для автоматизации отчётов. Самая популярная — =ЕСЛИ(), но её часто используют неэффективно. Например, вместо вложенных =ЕСЛИ() (которые сложно читать) лучше применить =ВЫБОР() или =ПРОСМОТР().
Функции =И() и =ИЛИ() возвращают ИСТИНА/ЛОЖЬ и чаще всего используются внутри =ЕСЛИ(). Типичная ошибка — забыть, что =И() требует выполнения всех условий, а =ИЛИ() — хотя бы одного. Например, =ЕСЛИ(И(A1>10; B1<5); "Да"; "Нет") вернёт "Да" только если оба условия истинны.
- 🔠 =ЕСЛИ(условие; значение_если_истина; значение_если_ложь) — базовая условная функция. Поддерживает до 64 уровней вложенности (но не рекомендуется использовать больше 3).
- 🔗 =И(условие1; [условие2]; ...) — возвращает
ИСТИНА, если все аргументы истинны. - 🔀 =ИЛИ(условие1; [условие2]; ...) — возвращает
ИСТИНА, если хотя бы один аргумент истинный. - ❌ =НЕ(значение) — инвертирует логическое значение (
ИСТИНА→ЛОЖЬ).
Пример сложного условия с ЕСЛИ и И
=ЕСЛИ(И(A1>=100; B1<>"Отменено"; C1="Да"); "Принято"; "Отклонено")
Эта формула проверяет три условия одновременно.
⚠️ Внимание: Вложенные=ЕСЛИ()тормозят производительность таблицы. Если у вас более 5 уровней вложенности, замените их на=ВПР(),=ИНДЕКС()/=ПОИСКПОЗ()или=ВЫБОР().
Функции для работы с текстом: ЛЕВСИМВ, ПРАВСИМВ, СЦЕПИТЬ
Текстовые функции в Excel решают 90% задач по очистке и преобразованию данных. Например, =ЛЕВСИМВ() и =ПРАВСИМВ() извлекают подстроки, а =ПОДСТАВИТЬ() заменяет символы. Главный нюанс: все текстовые функции чувствительны к регистру, кроме =НАЙТИ() и =ПОИСК().
Функция =СЦЕПИТЬ() (или её аналог =ТЕКСТСОЕД() в новых версиях) объединяет текст из нескольких ячеек. Разница в том, что =ТЕКСТСОЕД() игнорирует пустые ячейки и поддерживает разделители. Например, =ТЕКСТСОЕД("; "; A1; B1; C1) вернёт "значение1; значение2", если C1 пустая.
- 📝 =ЛЕВСИМВ(текст; количество_символов) — возвращает заданное количество символов с начала строки. Пример:
=ЛЕВСИМВ("Excel"; 3)→ "Exc". - 📝 =ПРАВСИМВ(текст; количество_символов) — аналогично, но с конца строки.
- 🔍 =НАЙТИ(искомый_текст; текст; [нач_позиция]) — возвращает позицию подстроки (с учётом регистра).
- 🔗 =ПОДСТАВИТЬ(текст; старый_текст; новый_текст; [номер_вхождения]) — заменяет текст. Пример:
=ПОДСТАВИТЬ("2023 год"; "2023"; "2026").
| Задача | Функция | Пример | Результат |
|---|---|---|---|
| Извлечь домен из email | =ЛЕВСИМВ(A1; НАЙТИ("@"; A1)-1) | A1="user@gmail.com" | "user" |
| Убрать пробелы | =СЖПРОБЕЛЫ(A1) | A1=" текст " | "текст" |
| Объединить с разделителем | =ТЕКСТСОЕД(", "; A1; B1) | A1="Иван"; B1="Петров" | "Иван, Петров" |
Функции даты и времени: СЕГОДНЯ, ДАТА, ДЕНЬНЕД
Работа с датами в Excel требует понимания внутреннего формата: все даты хранятся как числа (количество дней с 1 января 1900 года). Например, 1 января 2026 года — это число 45292. Функция =СЕГОДНЯ() возвращает текущую дату, но не обновляется вручную — только при пересчёте листа или открытии файла.
Для вычисления разницы между датами используйте =ДАТАЗНАЧ() (преобразует текст в дату) и простую разность ячеек. Например, =B1-A1, где A1 и B1 содержат даты, вернёт количество дней между ними. Функция =ДЕНЬНЕД() возвращает день недели (1=воскресенье, 7=суббота), что полезно для создания графиков работы.
- 📅 =СЕГОДНЯ() — текущая дата. Не имеет аргументов.
- ⏳ =ДАТА(год; месяц; день) — создаёт дату из компонентов. Пример:
=ДАТА(2026; 12; 31). - 🔢 =ДЕНЬ(дата), =МЕСЯЦ(дата), =ГОД(дата) — извлекают компоненты даты.
- 📊 =РАЗНДАТ(нач_дата; кон_дата; единица) — вычисляет разницу в годах ("Y"), месяцах ("M") или днях ("D").
✅ Убедитесь, что ячейки отформатированы как "Дата" (не "Текст").
✅ Для текущего времени используйте =ТДАТА() (обновляется автоматически).
✅ Разница между датами в Excel всегда возвращается в днях.
✅ Используйте =РАЗНДАТ() для точного подсчёта лет/месяцев.-->
⚠️ Внимание: Функция=РАЗНДАТ()не документирована в справке Excel, но работает во всех версиях. Она чувствительна к порядку аргументов:=РАЗНДАТ("31.12.2026"; "01.01.2026"; "D")вернёт 365, а обратный порядок — ошибку.
Функции поиска и ссылок: ВПР, ИНДЕКС, ПОИСКПОЗ
Функции поиска — самые мощные инструменты Excel, но и самые сложные. =ВПР() (Вертикальный просмотр) ищет значение в первом столбце таблицы и возвращает данные из указанного столбца. Главная ошибка новичков — не фиксировать диапазон поиска (забывают про $A$1:$D$100), из-за чего формула ломается при копировании.
Комбинация =ИНДЕКС() + =ПОИСКПОЗ() заменяет =ВПР() и работает в 10 раз быстрее на больших массивах. Например:
=ИНДЕКС(B2:B100; ПОИСКПОЗ(E1; A2:A100; 0)) ищет значение из E1 в столбце A и возвращает соответствующее значение из столбца B. Аргумент 0 в =ПОИСКПОЗ() означает точный поиск.
- 🔍 =ВПР(искомое_значение; таблица; номер_столбца; [интервальный_просмотр]) — ищет значение в первом столбце. Аргумент
ЛОЖЬ(или 0) для точного поиска. - 📍 =ИНДЕКС(массив; номер_строки; [номер_столбца]) — возвращает значение из массива по индексам.
- 📌 =ПОИСКПОЗ(искомое_значение; массив; [тип_сопоставления]) — возвращает позицию элемента в массиве.
- 🔗 =ГПР() — горизонтальный аналог
=ВПР()(ищет в первой строке).
| Функция | Пример | Результат | Когда использовать |
|---|---|---|---|
| =ВПР("Яблоко"; A2:B10; 2; ЛОЖЬ) | В A2:A10 есть "Яблоко" в A5, в B5 — 100 | 100 | Простой поиск в таблице |
| =ИНДЕКС(B2:B10; 3) | — | Значение из 3-й строки столбца B | Извлечение данных по номеру строки |
| =ПОИСКПОЗ(50; C2:C10; 1) | C2:C10 = {10, 30, 50, 70} | 3 | Поиск позиции с приблизительным совпадением |
Функции для работы с ошибками: ЕСЛИОШИБКА, ЕОШИБКА, ЕНД
Ошибки в Excel (#Н/Д, #ДЕЛ/0!, #ЗНАЧ!) портят внешний вид отчётов и мешают анализу. Функция =ЕСЛИОШИБКА() позволяет заменять их на пользовательский текст или пустую строку. Например, =ЕСЛИОШИБКА(A1/B1; "") скрывает ошибку деления на ноль.
Менее известные функции:
- =ЕНД() проверяет конкретно ошибку #Н/Д (например, от =ВПР()).
- =ЕОШИБКА() возвращает ИСТИНА для любой ошибки.
Их удобно комбинировать с =ЕСЛИ() для сложной обработки. Например:
=ЕСЛИ(ЕНД(A1); "Данные отсутствуют"; А1).
- ❌ =ЕСЛИОШИБКА(значение; значение_если_ошибка) — универсальная обработка всех ошибок.
- 🔍 =ЕНД(значение) — проверяет только
#Н/Д. - ⚠️ =ЕОШИБКА(значение) — возвращает
ИСТИНАдля любой ошибки. - 📌 =ЕПУСТО(значение) — проверяет пустую ячейку (не ошибку!).
⚠️ Внимание: =ЕСЛИОШИБКА() скрывает все ошибки, включая критические (например, #ССЫЛКА!). Используйте её осознанно — иногда лучше увидеть ошибку и исправить её причину.
Статистические функции: СЧЁТ, СЧЁТЕСЛИ, МАКС, МИН
Статистические функции упрощают анализ данных. =СЧЁТ() подсчитывает количество числовых ячеек, а =СЧЁТЕСЛИ() — количество ячеек, соответствующих критерию. Например, =СЧЁТЕСЛИ(A1:A10; ">100") вернёт количество значений больше 100.
Функции =МАКС() и =МИН() находят крайние значения, но мало кто знает, что они игнорируют пустые ячейки и текст. Для работы с текстом используйте =МАКСА() и =МИНА() — они учитывают логические значения (ИСТИНА=1, ЛОЖЬ=0).
- 📊 =СЧЁТ(значение1; [значение2]; ...) — считает числовые ячейки.
- 🔢 =СЧЁТЕСЛИ(диапазон; критерий) — считает ячейки по условию. Пример:
=СЧЁТЕСЛИ(A1:A10; "Да"). - 📈 =СЧЁТЕСЛИМН(диапазон_условия1; условие1; ...) — поддерживает несколько критериев.
- ↗️ =МАКС(число1; [число2]; ...) и =МИН() — крайние значения.
Как посчитать уникальные значения
=СУММ(1/СЧЁТЕСЛИ(A1:A10; A1:A10))
Введите эту формулу как массивную (нажмите Ctrl + Shift + Enter).
FAQ: Ответы на частые вопросы
Как в Excel посчитать количество ячеек с конкретным текстом?
Используйте =СЧЁТЕСЛИ(диапазон; "текст"). Например, =СЧЁТЕСЛИ(A1:A100; "Да") вернёт количество ячеек со словом "Да". Для учёта регистра используйте формулу массива:
=СУММ(--(ТОЧНО("да"; A1:A100)))
Введите её с Ctrl + Shift + Enter.
Почему =ВПР возвращает #Н/Д, хотя данные есть?
Причины:
- В первом столбце таблицы нет искомого значения (проверьте опечатки и пробелы).
- Аргумент
интервальный_просмотрустановлен вИСТИНА(или 1), но данные не отсортированы. - Диапазон поиска не зафиксирован (нет знаков
$), и при копировании формулы он сдвинулся.
Решение: используйте =ЕСЛИОШИБКА(ВПР(...); "Не найдено") для маскировки ошибки.
Как объединить текст из нескольких ячеек с разделителем?
В Excel 2019+ используйте =ТЕКСТСОЕД("; "; A1; B1; C1). В старых версиях:
=СЦЕПИТЬ(A1; "; "; B1; "; "; C1)
Или для динамического диапазона (только как формула массива):
=СЦЕПИТЬТЕКСТ("; "; ИСТИНА; A1:C1)
Как посчитать разницу между датами в годах?
Используйте =РАЗНДАТ(A1; B1; "Y"), где A1 — начальная дата, B1 — конечная. Для месяцев используйте "M", для дней — "D". Альтернатива:
=ЦЕЛОЕ((B1-A1)/365)
Но этот метод неточен из-за високосных годов.
Как сделать так, чтобы формула не менялась при копировании?
Зафиксируйте ссылки знаком $. Например:
=СУММ($A$1:A1)— фиксирует первую ячейку.=СУММ(A$1:A1)— фиксирует строку 1, но позволяет менять столбец.
Быстрое фиксирование: выделите ссылку в строке формул и нажмите F4.