Excel - это просто!

A+ A A-

Условия без функции IF (ЕСЛИ)

Позвольте начать эту статью с нескольких очевидных предпосылок:

во-первых, в эксель встроено несколько функций, которые выдают своим результатом TRUE (ИСТИНА) или FALSE (ЛОЖЬ),

во-вторых, TRUE (ИСТИНА) математически равно единице, а FALSE (ЛОЖЬ) - нулю,

в-третьих, эти значения можно использовать в вычислениях,

и последнее, чтобы получить значения TRUE (ИСТИНА) или FALSE (ЛОЖЬ), необязательно прибегать к помощи функций, достаточно сравнить два значения.

Так, например, такая формула многим может показаться дикой, но в экселе она работает: "=(2*2)=5". Соответственно, она будет выдавать результатом FALSE (ЛОЖЬ). Вместо цифр можно подставлять ссылки на другие ячейки. Для чего это может потребоваться и как это использовать. Позвольте сделать для вас пару иллюстрированных примеров.

Пример первый. Взять значение если выполняется условие

Предположим, что у нас есть список транзакций, часть из которых носит характер прямых затрат, а часть - косвенных. Надо разделить эти затраты на две колонки.

В этом примере колонки A:D - даны, E:F - расчетные.

Формула, которая видна в строке формул - как раз-таки делает расчет для ячеек в колонках E:F. Давайте разберем, как она работает. 

Выражение $D:$D=$1:$1 сравнивает значение в колонке D со значением в строке 1. Если оно совпадает, то формула выдает TRUE (ИСТИНА или единица), если нет - FALSE (ЛОЖЬ или ноль). Если умножить ее на сумму из колонки C, то мы получим сумму при совпадении вышеуказанных столбца и строки.

Пример второй. Значения с разным параметром обрабатываются по-разному

Давайте усложним предыдущий пример. Предположим, нам надо рассчитать сумму отнесенных затрат: если затраты прямые - берем всю сумму, если косвенные - только 30% от этой суммы.

 

Здесь используются два взаимоисключающих условия (значение в колонке D не может быть равно и "Прям" и "Косв" для одной строки), поэтому задвоения затрат не произойдет. Первая часть формулы проверяет на то, являются ли затраты прямыми: если да, то берет всю сумму. Вторая часть, соответственно, проверяет, являются ли они косвенными: если да, то она берет 30% от суммы.

Обратите внимание, что формула разбита на две строки. Это сделано, чтобы было удобнее ее читать. Подробнее о чтении сложных формул - в этой статье.

Пример третий. Взять значение, если есть совпадение в другом списке

Предположим, что у нас где-то отдельно есть список счетов, которые мы хотим взять в учет для дальнейших расчетов. Обычно такой счет будет на отдельном листе рабочей книги. Но для примера я его вставил на тот же лист. Пожалуйста, в работе не делайте так, старайтесь по жизни руководствоваться принципом "Один лист - одна таблица!". Всегда!

Небольшая вводная по использованным функциям. VLOOKUP (ВПР) - ищет значение соответствующее искомому в заданном диапазоне (подробнее об использовании этой функции читайте в этой статье). Она выдает значение или ошибку #N/A, если совпадения нет.

Функция ISNA выдает TRUE (ИСТИНА), если параметр равен #N/A, FALSE (ЛОЖЬ) в обратном случае.

Функция NOT делает из TRUE - FALSE и наоборот.

Таким образом, NOT(ISNA(VLOOKUP(B:B;F:F;1;FALSE))) проверяет, есть ли в колонке F значение из колонки B: если есть, она выдает TRUE, если нет - FALSE. А если это умножить на сумму, то в ячейке будет сумма, только если счет есть в "другом списке".

 

Если у вас остались вопросы по этой теме или есть вопрос по любой другой, пожалуйста, задавайте их в комментариях, на страницах наших групп ВКонтакте или на Facebook или присылайте их мне на E-mail edward@youcanexcel.ru.

Последние новости

Как быстро удалить тысячи строк из громадной таблицы по филь…

Пошаговая инструкция по удалению множества строк, которые перемешаны в огромном массиве данных. Так, чтобы компьютер не ...

О нас

Напишите мне edward@youcanexcel.ru

О проекте

Копирование материалов сайта разрешено только с согласия владельца с размещением ссылки на источник.

Веб-сайт оптимизирован под разрешение не менее 1024x768.

Сайт отражается некорректно? Должно быть вы пользуетесь Internet explorer. Установите себе хороший браузер!