Чем заменить функцию в excel счет если

Обновлено: 05.07.2024

Функция ЕСЛИ позволяет выполнять логические сравнения значений и ожидаемых результатов. Она проверяет условие и в зависимости от его истинности возвращает результат.

=ЕСЛИ(это истинно, то сделать это, в противном случае сделать что-то еще)

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

Используйте функцию ЕСЛИ вместе с функциями И, ИЛИ и НЕ, чтобы оценивать несколько условий.

ЕСЛИ(И()): ЕСЛИ(И(лог_выражение1; [лог_выражение2]; …), значение_если_истина; [значение_если_ложь]))

ЕСЛИ(ИЛИ()): ЕСЛИ(ИЛИ(лог_выражение1; [лог_выражение2]; …), значение_если_истина; [значение_если_ложь]))

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

Имя аргумента

лог_выражение (обязательно)

Условие, которое нужно проверить.

значение_если_истина (обязательно)

Значение, которое должно возвращаться, если лог_выражение имеет значение ИСТИНА.

значение_если_ложь (необязательно)

Значение, которое должно возвращаться, если лог_выражение имеет значение ЛОЖЬ.

Общие сведения об использовании этих функций по отдельности см. в следующих статьях: И, ИЛИ, НЕ. При сочетании с оператором ЕСЛИ они расшифровываются следующим образом:

И: =ЕСЛИ(И(условие; другое условие); значение, если ИСТИНА; значение, если ЛОЖЬ)

ИЛИ: =ЕСЛИ(ИЛИ(условие; другое условие); значение, если ИСТИНА; значение, если ЛОЖЬ)

НЕ: =ЕСЛИ(НЕ(условие); значение, если ИСТИНА; значение, если ЛОЖЬ)

Примеры

Ниже приведены примеры распространенных случаев использования вложенных операторов ЕСЛИ(И()), ЕСЛИ(ИЛИ()) и ЕСЛИ(НЕ()). Функции И и ИЛИ поддерживают до 255 отдельных условий, но рекомендуется использовать только несколько условий, так как формулы с большой степенью вложенности сложно создавать, тестировать и изменять. У функции НЕ может быть только одно условие.

Примеры использования функции ЕСЛИ с И, ИЛИ и НЕ для оценки текстовых и числовых значений

Ниже приведены формулы с расшифровкой их логики.

Если A2 (25) больше нуля и B2 (75) меньше 100, возвращается значение ИСТИНА, в противном случае возвращается значение ЛОЖЬ. В этом случае оба условия имеют значение ИСТИНА, поэтому функция возвращает значение ИСТИНА.

Если A3 ("синий") = "красный" и B3 ("зеленый") равно "зеленый", возвращается значение ИСТИНА, в противном случае возвращается значение ЛОЖЬ. В этом случае только одно условие имеет значение ИСТИНА, поэтому возвращается значение ЛОЖЬ.

Если A4 (25) больше нуля или B4 (75) меньше 50, возвращается значение ИСТИНА, в противном случае возвращается значение ЛОЖЬ. В этом случае только первое условие имеет значение ИСТИНА, но поскольку для ИЛИ требуется, чтобы только один аргумент был истинным, формула возвращает значение ИСТИНА.

Если значение A5 ("синий") равно "красный" или значение B5 ("зеленый") равно "зеленый", возвращается значение ИСТИНА, в противном случае возвращается значение ЛОЖЬ. В этом случае второй аргумент имеет значение ИСТИНА, поэтому формула возвращает значение ИСТИНА.

Если A6 (25) НЕ больше 50, возвращается значение ИСТИНА, в противном случае возвращается значение ЛОЖЬ. В этом случае значение не больше чем 50, поэтому формула возвращает значение ИСТИНА.

Если значение A7 ("синий") НЕ равно "красный", возвращается значение ИСТИНА, в противном случае возвращается значение ЛОЖЬ.

Обратите внимание, что во всех примерах есть закрывающая скобка после условий. Аргументы ИСТИНА и ЛОЖЬ относятся ко внешнему оператору ЕСЛИ. Кроме того, вы можете использовать текстовые или числовые значения вместо значений ИСТИНА и ЛОЖЬ, которые возвращаются в примерах.

Вот несколько примеров использования операторов И, ИЛИ и НЕ для оценки дат.

Примеры использования функции ЕСЛИ с И, ИЛИ и НЕ для оценки дат

Ниже приведены формулы с расшифровкой их логики.

Если A2 больше B2, возвращается значение ИСТИНА, в противном случае возвращается значение ЛОЖЬ. В этом случае 12.03.14 больше чем 01.01.14, поэтому формула возвращает значение ИСТИНА.

Если A3 больше B2 И меньше C2, возвращается значение ИСТИНА, в противном случае возвращается значение ЛОЖЬ. В этом случае оба аргумента истинны, поэтому формула возвращает значение ИСТИНА.

Если A4 больше B2 ИЛИ меньше B2+60, возвращается значение ИСТИНА, в противном случае возвращается значение ЛОЖЬ. В этом случае первый аргумент равен ИСТИНА, а второй — ЛОЖЬ. Так как для оператора ИЛИ требуется, чтобы один из аргументов был истинным, формула возвращает значение ИСТИНА. Если вы используете мастер вычисления формул на вкладке "Формулы", вы увидите, как Excel вычисляет формулу.

Если A5 не больше B2, возвращается значение ИСТИНА, в противном случае возвращается значение ЛОЖЬ. В этом случае A5 больше B2, поэтому формула возвращает значение ЛОЖЬ.

Использование операторов И, ИЛИ и НЕ с условным форматированием

Вы также можете использовать операторы И, ИЛИ и НЕ в формулах условного форматирования. При этом вы можете опустить функцию ЕСЛИ.

На вкладке Главная выберите Условное форматирование > Создать правило. Затем выберите параметр Использовать формулу для определения форматируемых ячеек, введите формулу и примените формат.


Вот как будут выглядеть формулы для примеров с датами:

Примеры использования операторов И, ИЛИ и НЕ с условным форматированием

Если A2 больше B2, отформатировать ячейку, в противном случае не выполнять никаких действий.

Если A3 больше B2 И меньше C2, отформатировать ячейку, в противном случае не выполнять никаких действий.

Если A4 больше B2 ИЛИ меньше B2 + 60, отформатировать ячейку, в противном случае не выполнять никаких действий.

Если A5 НЕ больше B2, отформатировать ячейку, в противном случае не выполнять никаких действий. В этом случае A5 больше B2, поэтому формула возвращает значение ЛОЖЬ. Если изменить формулу на =НЕ(B2>A5), она вернет значение ИСТИНА, а ячейка будет отформатирована.

Примечание: Распространенная ошибка — ввод формулы в условное форматирование без знака "равно" (=). При этом вы увидите, что в диалоговом оке Условное форматирование в формулу будут добавлены знаки "равно" и кавычка: ="ИЛИ(A4>B2;A4<B2+60)",поэтому вам потребуется удалить кавычка, чтобы формула правильно отреагирует.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Функция ЕСЛИ позволяет решать большинство задач в Excel, вычисления в которых выполняются не последовательно, шаг за шагом, а с некоторыми ветвлениями. Например, был определен некоторый коэффициент, от значения которого полностью зависит ход дальнейших расчетов. Кроме того, часто требуется выполнить какую-либо операцию над диапазоном данных (суммированием, вычисление среднего значения и т. д.) с использованием какого-либо критерия. Например, найти сумму чисел из диапазона, значения которых не менее 10.

Существует как минимум три способа заменить использование функции ЕСЛИ:

  1. Заменить данную функцию другой встроенной функцией Excel, при этом необязательно логической. Например, одну и ту же задачу можно решить тремя разными способами (с использованием формулы ЕСЛИ, с помощью СУММЕСЛИ или без логических функций вовсе), что будет показано в одном из примеров.
  2. Использовать простейшие логические конструкции в связке с арифметическими действиями.
  3. Создание пользовательских функций с помощью VBA.

Примечание: синтаксис функции ЕСЛИ достаточно прост, поэтому избегать ее использования при решении несложных задач не нужно. Многие формулы с использованием ЕСЛИ выглядят просто и наглядно. Важными критериями итоговых формул является их краткость и понятность. Длинные формулы с большим количеством вложенных функций могут ввести в недоумение других пользователей или в будущем самих их создателей. Если критериев проверки слишком много, лучше создать пользовательскую функцию на VBA, тщательно протестировав ее поведение в различных ситуациях (насколько корректны результаты при различных условиях).

Примеры замены функции ЕСЛИ в Excel с помощью формул

Пример 1. В таблице Excel хранятся данные о доходах компании за каждый месяц (обозначен номером) прошедшего года. Реализовать алгоритм расчета суммы доходов за любых несколько месяцев года без использования функции ЕСЛИ в Excel.

Вид исходной таблицы данных:

Пример 1.

Для расчетов суммы доходов за любой из возможных периодов в ячейке C3 запишем следующую формулу:

Описание аргументов функции СМЕЩ:

  • A6 – ячейка, относительно которой ведется отсчет;
  • ПОИСКПОЗ(A3;A7:A18;0) – функция, возвращающая ячейку, с которой будет начат отсчет номера месяца, с которого ведется расчет суммы доходов за определенный период;
  • 1 – смещение по столбцам (нас интересует сумма доходов, а не номеров месяцев);
  • ПОИСКПОЗ(B3;A7:A18;0)-ПОИСКПОЗ(A3;A7:A18;0)+1 – выражение, определяющее разность между указанными начальной и конечной позициями в таблице по вертикали, возвращающее число ячеек рассматриваемого диапазона;
  • 1 – ширина рассматриваемого диапазона данных (1 ячейка).

Функция СУММ принимает в качестве аргумента диапазон ячеек, возвращаемый функцией СМЕЩ, и вычисляет сумму содержащихся в них значений.

Для примера приведем результат расчетов с 3 по 7 месяц:

результат расчетов.

Для сравнения, рассмотрим вариант расчета с использованием функции ЕСЛИ. Формула, которая приведена ниже, должна быть выполнена в качестве формулы массива (для ввода CTRL+SHIFT+Enter), а для определения суммы доходов для различных периодов ее придется видоизменять:

Диапазон ячеек, для которых будет выполняться функция СУММ, определяется двумя условиями, созданными с использованием функций ЕСЛИ. В данном случае расчет производится для месяцев с 3 по 7 включительно. Результат:

с использованием функции ЕСЛИ.

Как видно, полученные результаты совпадают. Несмотря на кажущуюся сложность формулы с использованием функции СМЕЩ, она является более простой, наглядной и не требует внесения изменений для каждого нового расчета.

Формулы решений при нескольких условиях без функции ЕСЛИ

Пример 2. В таблице Excel содержатся значения вероятностей попадания в цель для стрелков из трех различных видов оружия. Рассчитать вероятность попадания в цель хотя бы из одного оружия для каждого стрелка. В некоторых ячейках содержатся ошибочные данные (значения взяты не из диапазона допустимых значений для вероятности). Для таких случаев рассчитать вероятность как 0. При условии, что в формуле нельзя использовать логическую функцию ЕСЛИ.

Вид исходной таблицы:

Пример 2.

Для расчета вероятности используем формулу P(A)=1-q1q2q3, где q1,q2 и q3 – вероятности промахов (событий, противоположным указанным, то есть попаданию в цель). Используем следующую формулу:

Часть формулы «И(B3>=0;B3<=1;C3>=0;C3<=1;D3>=0;D3<=1))» необходима для выполнения операции сравнения содержащегося в каждой ячейке значения с диапазоном допустимых (от 0 до 1). Функция ИСТИНА возвращает логическое ИСТИНА, если все выражения вернули результат ИСТИНА, и ЛОЖЬ, если хотя бы одно из проверяемых выражений вернуло ЛОЖЬ. Поскольку за данным выражением следует знак «*» (умножение), Excel автоматически преобразует полученное логическое значение к числовому (1 или 0).

Результаты расчета для всех стрелков:

Формулы без функции ЕСЛИ.

Таким образом, расчет производится только в том случае, если все три ячейки A, B и C содержат корректные данные. Иначе будет возвращен результат 0.

Пример кода макроса как альтернативная замена функции ЕСЛИ

Пример 3. В МФО выдают кредиты на срок от 1 до 30 дней на небольшие суммы под простые проценты (сумма задолженности на момент выплаты состоит из тела кредита и процентов, рассчитанных как произведение тела кредита, ежедневной процентной ставки и количества дней использования финансового продукта). Однако значение процентной ставки зависит от периода, на который берется кредит, следующим образом:

  • От 1 до 5 дней – 1,7%;
  • От 6 до 10 дней – 1,9%;
  • От 11 до 15 дней – 2,2%;
  • От16 до 20 дней – 2,5;
  • Свыше 21 дня – 2,9%.

Выполнить расчет суммы к возврату для нескольких клиентов организации.

Вид исходной таблицы данных:

Пример 3.

Вместо проверки множества условий с использованием функции ЕСЛИ напишем простую пользовательскую функцию с помощью макроса (ALT+F11). Исходный код пользовательской функции MFODebt:

Public Function MFODebt(amount As Double , period As Double ) As Double
Dim interest As Double
Select Case period
Case 1 To 5
interest = 0.017
Case 6 To 10
interest = 0.019
Case 11 To 15
interest = 0.022
Case 16 To 20
interest = 0.025
Case 21 To 30
interest = 0.029
End Select
MFODebt = amount + amount * interest * period
End Function

Для определения размера процентной ставки используется простая и наглядная конструкция Select Case. Воспользуемся созданной функцией для расчетов:

«Растянем» формулу на остальные ячейки и получим следующие результаты:

MFODebt.

Как видно, формулы с большим числом проверок лучше реализовывать в виде пользовательских функций.

Подсчет максимального и минимального значения выполняется известными функциями МАКС и МИН. Бывает, что вычисления нужно произвести по группам или в зависимости от условия, как в СУММЕСЛИ.

Долгое время в Excel не было аналога СУММЕСЛИ или СРЗНАЧЕСЛИ для расчета максимального и минимального значения, поэтому использовали формулу массивов.

Пусть имеются данные

Нужно подсчитать максимальное значение в указанной группе. Название группы (критерий) введем в отдельную ячейку (D2). Пусть для начала это будет группа Б. Рядом введем следующую формулу:

Это формула массивов, поэтому ввести ее нужно комбинацией Ctrl + Shift + Enter.

Максимальное значение по условию

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

Как это работает? Очень просто. Первым делом нужно указать диапазон, который будет использоваться в качестве аргумента функции МАКС, то есть только те ячейки, которые соответствуют указанной группе. Так как мы заранее позаботились об удобстве использования функции, то название группы указали не внутри формулы, а в отдельной ячейке (гораздо легче менять группу). Тогда формула для нужного диапазона выглядит так.

Указанное выражение отбирает только те значения, для которых название группы совпадает с условием в ячейке D2. Вот, как это видит Excel

Создание массива для функции МАКС

На следующем этапе укажем функцию МАКС, аргументом которой выступает полученный выше массив. Excel воспринимает примерно так.

Массив внутри функции МАКС

Видно, что максимальное значение внутри массива равно 31. Его и мы и увидим в ячейке с формулой. Нужно только не забыть итоговую функцию ввести комбинацией клавиш Ctrl + Shift + Enter, иначе ничего не получится. В строке формул формула массива отображается внутри фигурных скобок. Добавляются сами, специально дорисовывать не нужно.

Если функцию МАКС заменить на МИН, то по указанному условию (названию группы) будет выдаваться минимальное значение.

Функции Excel 2016 МАКСЕСЛИ (MAXIFS) и МИНЕСЛИ (MINIFS)

Есть ряд значений, каждое из которых входит в некоторую группу. Нужно рассчитать максимальное значение по группе А. Используем формулу МАКСЕСЛИ.

Функция МАКСЕСЛИМН

Все очень просто. Как и у СУММЕСЛИМН вначале указываем диапазон, где находится искомое максимальное значение (колонка В), затем диапазон с критериями (колонка А) и далее сам критерий (в ячейке D2). Можно указать сразу несколько условий. Таким же способом легко рассчитать минимальное значение по условию. Найдем, к примеру, минимум внутри группы Б.

Функция МИНЕСЛИМН

Ниже показан ролик, как рассчитать максимальное и минимальное значение по условию.

С помощью статистической функции СЧЁТЕСЛИ можно подсчитать количество ячеек, отвечающих определенному условию (например, число клиентов в списке из определенного города).

Самая простая функция СЧЁТЕСЛИ означает следующее:

=СЧЁТЕСЛИ(где нужно искать;что нужно найти)

Браузер не поддерживает видео.

СЧЁТЕСЛИ(диапазон;критерий)

Имя аргумента

диапазон (обязательный)

Группа ячеек, для которых нужно выполнить подсчет. Диапазон может содержать числа, массивы, именованный диапазон или ссылки на числа. Пустые и текстовые значения игнорируются.

критерий (обязательный)

Число, выражение, ссылка на ячейку или текстовая строка, которая определяет, какие ячейки нужно подсчитать.

Например, критерий может быть выражен как 32, ">32", В4, "яблоки" или "32".

В функции СЧЁТЕСЛИ используется только один критерий. Чтобы провести подсчет по нескольким условиям, воспользуйтесь функцией СЧЁТЕСЛИМН.

Примеры

Чтобы использовать эти примеры в Excel, скопируйте данные из приведенной ниже таблицы и вставьте их на новый лист в ячейку A1.

Количество ячеек, содержащих текст "яблоки" в ячейках А2–А5. Результат — 2.

Количество ячеек, содержащих текст "персики" (значение ячейки A4) в ячейках А2–А5. Результат — 1.

Количество ячеек, содержащих текст "яблоки" (значение ячейки A2) и "апельсины" (значение ячейки A3) в ячейках А2–А5. Результат — 3. В этой формуле для указания нескольких критериев, по одному критерию на выражение, функция СЧЁТЕСЛИ используется дважды. Также можно использовать функцию СЧЁТЕСЛИМН.

Количество ячеек со значением больше 55 в ячейках В2–В5. Результат — 2.

Количество ячеек со значением, не равным 75, в ячейках В2–В5. Знак амперсанда (&) объединяет оператор сравнения "<>" (не равно) и значение в ячейке B4, в результате чего получается формула =СЧЁТЕСЛИ(B2:B5;"<>75"). Результат — 3.

Количество ячеек со значением, большим или равным 32 и меньшим или равным 85, в ячейках В2–В5. Результат — 3.

Количество ячеек, содержащих любой текст, в ячейках А2–А5. Подстановочный знак "*" обозначает любое количество любых символов. Результат — 4.

Количество ячеек, строка в которых содержит ровно 7 знаков и заканчивается буквами "ки", в диапазоне A2–A5. Подставочный знак "?" обозначает отдельный символ. Результат — 2.

Распространенные неполадки

Возможная причина

Для длинных строк возвращается неправильное значение.

Функция СЧЁТЕСЛИ возвращает неправильные результаты, если она используется для сопоставления строк длиннее 255 символов.

Для работы с такими строками используйте функцию СЦЕПИТЬ или оператор сцепления &. Пример: =СЧЁТЕСЛИ(A2:A5;"длинная строка"&"еще одна длинная строка").

Функция должна вернуть значение, но ничего не возвращает.

Аргумент критерий должен быть заключен в кавычки.

Эта ошибка возникает при вычислении ячеек, когда в формуле содержится функция, которая ссылается на ячейки или диапазон в закрытой книге. Для работы этой функции необходимо, чтобы другая книга была открыта.

Рекомендации

Помните о том, что функция СЧЁТЕСЛИ не учитывает регистр символов в текстовых строках.

Критерий не чувствителен к регистру. Например, строкам "яблоки" и "ЯБЛОКИ" будут соответствовать одни и те же ячейки.

Использование подстановочных знаков

В условиях отбора можно использовать поддикограммы: вопросии (?) и звездочки (*). Вопросительный знак соответствует любому отдельно взятому символу. Звездочка — любой последовательности символов. Если требуется найти именно вопросительный знак или звездочку, следует ввести значок тильды (

) перед искомым символом.

Например, =СЧЁТЕСЛИ(A2:A5;"яблок?") возвращает все вхождения слова "яблок" с любой буквой в конце.

Убедитесь, что данные не содержат ошибочных символов.

При подсчете текстовых значений убедитесь в том, что данные не содержат начальных или конечных пробелов, недопустимых прямых и изогнутых кавычек или непечатаемых символов. В этих случаях функция СЧЁТЕСЛИ может вернуть непредвиденное значение.

Для удобства используйте именованные диапазоны.

СЧЁТЕ ЕСЛИ поддерживает именные диапазоны в формуле (например, =СЧЁТЕЕСЛИ(фрукты ,">=32")-СЧЁТЕЕСЛИ(фрукты ,">85"). Именованный диапазон может располагаться на текущем листе, другом листе этой же книги или листе другой книги. Чтобы одна книга могла ссылаться на другую, они обе должны быть открыты.

Примечание: С помощью функции СЧЁТЕСЛИ нельзя подсчитать количество ячеек с определенным фоном или цветом шрифта. Однако Excel поддерживает пользовательские функции, в которых используются операции VBA (Visual Basic для приложений) над ячейками, выполняемые в зависимости от фона или цвета шрифта. Вот пример подсчета количества ячеек определенного цвета с использованием VBA.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Читайте также: