Любой рабочий отчёт рано или поздно требует не просто цифры, а вывод. Кому начислить премию? Какие заказы просрочены? Что пора закупать? Ответы обычно ищут глазами: прокручивают таблицу и помечают строки вручную. Работает это только пока строк немного и данные не меняются.
Условные функции переносят эту логику из головы в ячейку. Вы один раз описываете правило — «если сумма больше 50 000, то премия, иначе нет» — и таблица применяет его к каждой строке сама, а при изменении чисел мгновенно пересчитывает вывод. После урока вы сможете размечать данные по любому правилу, объединять несколько условий и строить проверки с тремя и более вариантами ответа.
Что уже умеем
В прошлом уроке вы разобрались со ссылками: научились копировать формулы вниз по столбцу, закреплять ячейки знаком доллара, давать диапазонам имена и обращаться к другим листам. Это ровно тот навык, который нужен сейчас: условную формулу пишут один раз в первой строке и растягивают на всю таблицу, а порог сравнения удобно держать в отдельной ячейке с абсолютной ссылкой.
Все функции, которые вы знали до сих пор, только считали. Сегодня добавим функции, которые сравнивают и выбирают: IF, AND, OR, вложенные проверки и IFS, — а в конце научимся считать сразу по условию с помощью COUNTIF и SUMIF.
Что вы узнаете в рамках статьи
В этом уроке вы:
- разберётесь в устройстве функции
IFи её трёх аргументах; - научитесь писать условия для чисел, текста и пустых ячеек;
- объедините несколько условий через
ANDиOR; - построите проверку с несколькими вариантами через вложенный
IFиIFS; - научитесь возвращать из условия не только текст, но и вычисление;
- посчитаете количество и сумму по условию функциями
COUNTIFиSUMIF.
Ключевые термины
- Условие — выражение, которое может быть только верным или неверным, например
B2>50000. IF— функция, возвращающая одно значение, если условие верно, и другое, если неверно.TRUEиFALSE— логические значения «верно» и «неверно», результат проверки условия.AND— функция, дающаяTRUEтолько когда верны все условия.OR— функция, дающаяTRUEкогда верно хотя бы одно условие.- Вложенный
IF— одна функцияIF, подставленная внутрь другой для разбора нескольких вариантов. COUNTIFиSUMIF— функции, которые считают количество строк и сумму значений только по тем строкам, где выполнено условие.
Функция IF: три аргумента и одно решение
Функция IF устроена просто. В ней три аргумента: проверяемое условие, значение на случай, если оно верно, и значение на случай, если неверно.
=IF(условие; значение_если_верно; значение_если_неверно)
Заполните таблицу с результатами продавцов за месяц:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Продавец | Продажи | Статус | Премия |
| 2 | Анна | 78000 | Активен | |
| 3 | Борис | 42000 | Активен | |
| 4 | Вера | 91000 | Отпуск | |
| 5 | Глеб | 35000 | Активен | |
| 6 | Дина | 64000 | Отпуск | |
| 7 | Егор | 52000 | Активен |
Введите в D2 формулу и скопируйте её до D7:
=IF(B2>50000; "Премия"; "Без премии")
Таблица сравнит число в B2 с порогом и подставит подходящий текст. Ссылка B2 относительная, поэтому в D3 формула сама превратится в =IF(B3>50000; ...). Результат:
| Продавец | Премия |
|---|---|
| Анна | Премия |
| Борис | Без премии |
| Вера | Премия |
| Глеб | Без премии |
| Дина | Премия |
| Егор | Премия |
Текст в формуле обязательно берётся в двойные кавычки, а числа пишутся без них. Порог 50000 лучше вынести в отдельную ячейку и ссылаться на неё абсолютно, например $F$1: тогда при смене плана вы поправите одно число, а не шесть формул.
Из чего складывается условие
Условие — это сравнение. В Google Таблицах доступны такие операторы:
| Оператор | Значение | Пример | Когда верно |
|---|---|---|---|
> |
больше | B2>50000 |
продажи выше порога |
< |
меньше | B2<40000 |
продажи ниже порога |
>= |
больше или равно | B2>=50000 |
ровно 50000 подходит |
= |
равно | C2="Активен" |
статус совпадает |
<> |
не равно | C2<>"Отпуск" |
статус любой, кроме отпуска |
Отдельно стоит проверка на пустоту: B2<>"" означает «ячейка заполнена». При сравнении текста регистр букв не важен: C2="активен" сработает и для значения «Активен». А вот лишний пробел в конце значения проверку сломает — с такими случаями разберёмся в следующем уроке.
Несколько условий сразу: AND и OR
Часто одного условия мало: справедливее давать премию тем, кто и выполнил план, и работал весь месяц. Здесь нужна функция AND — она даёт TRUE, только если верны все перечисленные условия. Введите в D2 и скопируйте вниз:
=IF(AND(B2>50000; C2="Активен"); "Премия"; "Без премии")
Теперь премию получат только Анна и Егор. Вера с её 91 000 останется без премии: план перевыполнен, но она была в отпуске, и второе условие не сработало.
Функция OR работает наоборот: ей достаточно, чтобы сработало хотя бы одно условие. Отметим тех, с кем нужно поговорить, — отстающих или отсутствовавших:
=IF(OR(B2<50000; C2="Отпуск"); "Обсудить"; "Всё в порядке")
Метка «Обсудить» появится у Бориса, Веры, Глеба и Дины. Внутри AND и OR можно перечислять и больше двух условий.
Больше двух вариантов: вложенный IF и IFS
Функция IF выбирает только между двумя значениями. Если вариантов больше, вторую проверку подставляют вместо аргумента «иначе». Присвоим продавцам уровень:
=IF(B2>=75000; "Золото"; IF(B2>=50000; "Серебро"; "Бронза"))
Читается по цепочке: если продажи 75 000 и больше — «Золото»; иначе проверяем, дотягивают ли они до 50 000, и если да — «Серебро»; в остальных случаях — «Бронза». Анна и Вера получат «Золото», Дина и Егор — «Серебро», Борис и Глеб — «Бронзу».
Важен порядок условий: проверки идут сверху вниз, и срабатывает первая подходящая. Если поставить B2>=50000 первым, Анна с её 78 000 тоже попадёт в «Серебро» — её значение больше 50 000, и до проверки на золото дело не дойдёт.
Когда вариантов много, читать такую матрёшку тяжело. Тогда удобнее функция IFS: в ней условия и ответы перечисляются парами.
=IFS(B2>=75000; "Золото"; B2>=50000; "Серебро"; B2<50000; "Бронза")
Результат тот же, но формула плоская и понятная. Учтите: если ни одно условие не выполнится, IFS вернёт ошибку #N/A, поэтому последнюю пару делайте заведомо срабатывающей.
Условие, которое считает
Возвращать из IF можно не только текст, но и вычисление. Начислим 10 процентов от продаж тем, кто выполнил план:
=IF(AND(B2>50000; C2="Активен"); B2*0,1; 0)
У Анны получится 7800, у Егора — 5200, у остальных — 0. Такой столбец уже можно суммировать формулой =SUM(D2:D7) и получить бюджет премий — 13000.
До сих пор условие работало построчно: каждая формула смотрела на свою строку. Но часто нужен итог по всей таблице с оговоркой: сколько продавцов выполнили план, сколько заработали только активные. Для этого есть две функции, которые считают сразу по условию.
COUNTIF считает, в скольких ячейках диапазона условие выполнилось. Ей нужны два аргумента: где искать и что искать.
=COUNTIF(B2:B7; ">50000")
Получится 4 — план перевыполнили Анна, Вера, Дина и Егор. Обратите внимание на кавычки: условие со знаком сравнения записывается целиком как текст, вместе с оператором. С текстовым значением проще — =COUNTIF(C2:C7; "Активен") даст 4 активных сотрудника.
SUMIF вместо подсчёта строк складывает числа. У неё три аргумента: диапазон для проверки условия, само условие и диапазон, из которого брать суммы.
=SUMIF(C2:C7; "Активен"; B2:B7)
Формула проверит статусы в столбце C и сложит продажи только из подходящих строк — получится 207000 из общих 362000. Условие проверяется в одном столбце, а суммируется другой, и Таблицы сопоставляют их по номеру строки. Если проверяем и складываем один и тот же столбец, третий аргумент не нужен: =SUMIF(B2:B7; ">50000") даст 285000.
Именно так собирают короткие сводки под таблицей: пара строк с COUNTIF и SUMIF заменяет ручной пересчёт и обновляется сама при любой правке данных.
[Скриншот: столбец «Премия» с формулой IF в формульной строке и подсвеченными аргументами]
Частые ошибки
- Текст без кавычек. Запись
=IF(B2>50000; Премия; Нет)вернёт ошибку#NAME?: Таблицы решат, что «Премия» — имя диапазона. Любой текст в формуле берите в двойные кавычки. - Неверный порядок условий во вложенном
IF. Если сначала проверять мягкое условие, строгое уже никогда не сработает. Выстраивайте проверки от узкого к широкому. - Путаница между
ANDиOR. Задайте себе вопрос: нужно, чтобы выполнялись все условия, или достаточно любого? В первом случаеAND, во второмOR. - Условие в
COUNTIFбез кавычек. Запись=COUNTIF(B2:B7; >50000)не сработает: условие со знаком сравнения нужно целиком взять в кавычки —">50000".
Частые вопросы
- Чем
IFSотличается от вложенногоIF?
Результат одинаковый, разница в читаемости.IFSперечисляет пары «условие, ответ» подряд и не требует вложенности, поэтому удобнее при трёх и более вариантах. - Можно ли оставить ячейку пустой, если условие не выполнилось?
Да, укажите две кавычки подряд:=IF(B2>50000; "Премия"; ""). Ячейка будет выглядеть пустой — удобно, когда важно видеть только сработавшие строки. - Почему условие с текстом не срабатывает, хотя значение вроде бы совпадает?
Чаще всего в данных есть невидимый лишний пробел или опечатка. Проверить это помогут текстовые функции, о которых мы поговорим дальше.
Итоги
Поздравляем: ваша таблица научилась думать. Теперь вы умеете описывать правило функцией IF, составлять условия для чисел, текста и пустых ячеек, объединять требования через AND и OR и разбирать несколько вариантов вложенными проверками или функцией IFS. А ещё вы увидели, что условие может возвращать не только метку, но и расчёт, и научились считать итоги по условию через COUNTIF и SUMIF.
Это большой шаг: именно с условных функций начинается автоматизация отчётов. По пути мы дважды столкнулись с тем, что проверка текста ломается из-за лишних пробелов и разного написания. В следующем уроке займёмся этим вплотную: разберём текстовые функции, которые чистят данные, режут строки на части и собирают их обратно.