ЕСЛИ (функция ЕСЛИ)
Функция ЕСЛИ — одна из самых популярных функций в Excel. Она позволяет выполнять логические сравнения значений и ожидаемых результатов.
Поэтому у функции ЕСЛИ возможны два результата. Первый результат возвращается в случае, если сравнение истинно, второй — если сравнение ложно.
Например, функция =ЕСЛИ(C2=»Да»;1;2) означает следующее: ЕСЛИ(С2=»Да», то вернуть 1, в противном случае вернуть 2).
Функция ЕСЛИ, одна из логических функций, служит для возвращения разных значений в зависимости от того, соблюдается ли условие.
ЕСЛИ(лог_выражение; значение_если_истина; [значение_если_ложь])
Например:
-
=ЕСЛИ(A2>B2;»Превышение бюджета»;»ОК»)
-
=ЕСЛИ(A2=B2;B4-A4;»»)
Имя аргумента |
Описание |
---|---|
лог_выражение (обязательно) |
Условие, которое нужно проверить. |
значение_если_истина (обязательно) |
Значение, которое должно возвращаться, если лог_выражение имеет значение ИСТИНА. |
значение_если_ложь (необязательно) |
Значение, которое должно возвращаться, если лог_выражение имеет значение ЛОЖЬ. |
Простые примеры функции ЕСЛИ
-
=ЕСЛИ(C2=»Да»;1;2)
В примере выше ячейка D2 содержит формулу: ЕСЛИ(C2 = Да, то вернуть 1, в противном случае вернуть 2)
-
=ЕСЛИ(C2=1;»Да»;»Нет»)
В этом примере ячейка D2 содержит формулу: ЕСЛИ(C2 = 1, то вернуть текст «Да», в противном случае вернуть текст «Нет»). Как видите, функцию ЕСЛИ можно использовать для сравнения и текста, и значений. А еще с ее помощью можно оценивать ошибки. Вы можете не только проверять, равно ли одно значение другому, возвращая один результат, но и использовать математические операторы и выполнять дополнительные вычисления в зависимости от условий. Для выполнения нескольких сравнений можно использовать несколько вложенных функций ЕСЛИ.
-
=ЕСЛИ(C2>B2;»Превышение бюджета»;»В пределах бюджета»)
В примере выше функция ЕСЛИ в ячейке D2 означает: ЕСЛИ(C2 больше B2, то вернуть текст «Превышение бюджета», в противном случае вернуть текст «В пределах бюджета»)
-
=ЕСЛИ(C2>B2;C2-B2;0)
На рисунке выше мы возвращаем не текст, а результат математического вычисления. Формула в ячейке E2 означает: ЕСЛИ(значение «Фактические» больше значения «Плановые», то вычесть сумму «Плановые» из суммы «Фактические», в противном случае ничего не возвращать).
-
=ЕСЛИ(E7=»Да»;F5*0,0825;0)
В этом примере формула в ячейке F7 означает: ЕСЛИ(E7 = «Да», то вычислить общую сумму в ячейке F5 и умножить на 8,25 %, в противном случае налога с продажи нет, поэтому вернуть 0)
Примечание: Если вы используете текст в формулах, заключайте его в кавычки (пример: «Текст»). Единственное исключение — слова ИСТИНА и ЛОЖЬ, которые Excel распознает автоматически.
Распространенные неполадки
Проблема |
Возможная причина |
---|---|
0 (ноль) в ячейке |
Не указан аргумент значение_если_истина или значение_если_ложь. Чтобы возвращать правильное значение, добавьте текст двух аргументов или значение ИСТИНА/ЛОЖЬ. |
#ИМЯ? в ячейке |
Как правило, это указывает на ошибку в формуле. |
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
См. также
Функция ЕСЛИ — вложенные формулы и типовые ошибки
Функция УСЛОВИЯ
Использование ЕСЛИ с функциями И, ИЛИ и НЕ
СЧЁТЕСЛИ
Рекомендации, позволяющие избежать появления неработающих формул
Общие сведения о формулах в Excel
Нужна дополнительная помощь?
Skip to content
Рассмотрим использование функции ЕСЛИ в Excel в том случае, если в ячейке находится текст.
- Проверяем условие для полного совпадения текста.
- ЕСЛИ + СОВПАД
- Использование функции ЕСЛИ с частичным совпадением текста.
- ЕСЛИ + ПОИСК
- ЕСЛИ + НАЙТИ
Будьте особо внимательны в том случае, если для вас важен регистр, в котором записаны ваши текстовые значения. Функция ЕСЛИ не проверяет регистр – это делают функции, которые вы в ней используете. Поясним на примере.
Проверяем условие для полного совпадения текста.
Проверку выполнения
доставки организуем при помощи обычного оператора сравнения «=».
=ЕСЛИ(G2=»выполнено»,ИСТИНА,ЛОЖЬ)
При этом будет не важно,
в каком регистре записаны значения в вашей таблице.
Если же вас интересует
именно точное совпадение текстовых значений с учетом регистра, то можно
рекомендовать вместо оператора «=» использовать функцию СОВПАД(). Она проверяет
идентичность двух текстовых значений с учетом регистра отдельных букв.
Вот как это может
выглядеть на примере.
Обратите внимание, что
если в качестве аргумента мы используем текст, то он обязательно должен быть
заключён в кавычки.
ЕСЛИ + СОВПАД
В случае, если нас интересует полное совпадение текста с заданным условием, включая и регистр его символов, то оператор «=» нам не сможет помочь.
Но мы можем использовать функцию СОВПАД (английский аналог — EXACT).
Функция СОВПАД сравнивает два текста и возвращает ИСТИНА в случае их полного совпадения, и ЛОЖЬ — если есть хотя бы одно отличие, включая регистр букв. Поясним возможность ее использования на примере.
Формула проверки выполнения заказа в столбце Н может выглядеть следующим образом:
=ЕСЛИ(СОВПАД(G2,»Выполнено»),»Да»,»Нет»)
Как видите, варианты «ВЫПОЛНЕНО» и «выполнено» не засчитываются как правильные. Засчитываются только полные совпадения. Будет полезно, если важно точное написание текста — например, в артикулах товаров.
Использование функции ЕСЛИ с частичным совпадением текста.
Выше мы с вами
рассмотрели, как использовать текстовые значения в функции ЕСЛИ. Но часто случается,
что необходимо определить не полное, а частичное совпадение текста с каким-то
эталоном. К примеру, нас интересует город, но при этом совершенно не важно его
название.
Первое, что приходит на
ум – использовать подстановочные знаки «?» и «*» (вопросительный знак и
звездочку). Однако, к сожалению, этот простой способ здесь не проходит.
ЕСЛИ + ПОИСК
Нам поможет функция ПОИСК (в английском варианте – SEARCH). Она позволяет определить позицию, начиная с которой искомые символы встречаются в тексте. Синтаксис ее таков:
=ПОИСК(что_ищем, где_ищем, начиная_с_какого_символа_ищем)
Если третий аргумент не
указан, то поиск начинаем с самого начала – с первого символа.
Функция ПОИСК возвращает либо номер позиции, начиная с которой искомые символы встречаются в тексте, либо ошибку.
Но нам для использования в функции ЕСЛИ нужны логические значения.
Здесь нам на помощь приходит еще одна функция EXCEL – ЕЧИСЛО. Если ее аргументом является число, она возвратит логическое значение ИСТИНА. Во всех остальных случаях, в том числе и в случае, если ее аргумент возвращает ошибку, ЕЧИСЛО возвратит ЛОЖЬ.
В итоге наше выражение в
ячейке G2
будет выглядеть следующим образом:
=ЕСЛИ(ЕЧИСЛО(ПОИСК(«город»,B2)),»Город»,»»)
Еще одно важное уточнение. Функция ПОИСК не различает регистр символов.
ЕСЛИ + НАЙТИ
В том случае, если для нас важны строчные и прописные буквы, то придется использовать вместо нее функцию НАЙТИ (в английском варианте – FIND).
Синтаксис ее совершенно аналогичен функции ПОИСК: что ищем, где ищем, начиная с какой позиции.
Изменим нашу формулу в
ячейке G2
=ЕСЛИ(ЕЧИСЛО(НАЙТИ(«город»,B2)),»Да»,»Нет»)
То есть, если регистр символов для вас важен, просто замените ПОИСК на НАЙТИ.
Итак, мы с вами убедились, что простая на первый взгляд функция ЕСЛИ дает нам на самом деле много возможностей для операций с текстом.
[the_ad_group id=»48″]
Примеры использования функции ЕСЛИ:
Функция ЕСЛИ в Excel — это отличный инструмент для проверки условий на ИСТИНУ или ЛОЖЬ. Если значения ваших расчетов равны заданным параметрам функции как ИСТИНА, то она возвращает одно значение, если ЛОЖЬ, то другое.
Содержание
- Что возвращает функция
- Синтаксис
- Аргументы функции
- Дополнительная информация
- Функция Если в Excel примеры с несколькими условиями
- Пример 1. Проверяем простое числовое условие с помощью функции IF (ЕСЛИ)
- Пример 2. Использование вложенной функции IF (ЕСЛИ) для проверки условия выражения
- Пример 3. Вычисляем сумму комиссии с продаж с помощью функции IF (ЕСЛИ) в Excel
- Пример 4. Используем логические операторы (AND/OR) (И/ИЛИ) в функции IF (ЕСЛИ) в Excel
- Пример 5. Преобразуем ошибки в значения “0” с помощью функции IF (ЕСЛИ)
Что возвращает функция
Заданное вами значение при выполнении двух условий ИСТИНА или ЛОЖЬ.
Синтаксис
=IF(logical_test, [value_if_true], [value_if_false]) — английская версия
=ЕСЛИ(лог_выражение; [значение_если_истина]; [значение_если_ложь]) — русская версия
Аргументы функции
- logical_test (лог_выражение) — это условие, которое вы хотите протестировать. Этот аргумент функции должен быть логичным и определяемым как ЛОЖЬ или ИСТИНА. Аргументом может быть как статичное значение, так и результат функции, вычисления;
- [value_if_true] ([значение_если_истина]) — (не обязательно) — это то значение, которое возвращает функция. Оно будет отображено в случае, если значение которое вы тестируете соответствует условию ИСТИНА;
- [value_if_false] ([значение_если_ложь]) — (не обязательно) — это то значение, которое возвращает функция. Оно будет отображено в случае, если условие, которое вы тестируете соответствует условию ЛОЖЬ.
Дополнительная информация
- В функции ЕСЛИ может быть протестировано 64 условий за один раз;
- Если какой-либо из аргументов функции является массивом — оценивается каждый элемент массива;
- Если вы не укажете условие аргумента FALSE (ЛОЖЬ) value_if_false (значение_если_ложь) в функции, т.е. после аргумента value_if_true (значение_если_истина) есть только запятая (точка с запятой), функция вернет значение “0”, если результат вычисления функции будет равен FALSE (ЛОЖЬ).
На примере ниже, формула =IF(A1> 20,”Разрешить”) или =ЕСЛИ(A1>20;»Разрешить») , где value_if_false (значение_если_ложь) не указано, однако аргумент value_if_true (значение_если_истина) по-прежнему следует через запятую. Функция вернет “0” всякий раз, когда проверяемое условие не будет соответствовать условиям TRUE (ИСТИНА).
|
- Если вы не укажете условие аргумента TRUE(ИСТИНА) (value_if_true (значение_если_истина)) в функции, т.е. условие указано только для аргумента value_if_false (значение_если_ложь), то формула вернет значение “0”, если результат вычисления функции будет равен TRUE (ИСТИНА);
На примере ниже формула равна =IF (A1>20;«Отказать») или =ЕСЛИ(A1>20;»Отказать»), где аргумент value_if_true (значение_если_истина) не указан, формула будет возвращать “0” всякий раз, когда условие соответствует TRUE (ИСТИНА).
Функция Если в Excel примеры с несколькими условиями
Пример 1. Проверяем простое числовое условие с помощью функции IF (ЕСЛИ)
При использовании функции ЕСЛИ в Excel, вы можете использовать различные операторы для проверки состояния. Вот список операторов, которые вы можете использовать:
Ниже приведен простой пример использования функции при расчете оценок студентов. Если сумма баллов больше или равна «35», то формула возвращает “Сдал”, иначе возвращается “Не сдал”.
Пример 2. Использование вложенной функции IF (ЕСЛИ) для проверки условия выражения
Функция может принимать до 64 условий одновременно. Несмотря на то, что создавать длинные вложенные функции нецелесообразно, то в редких случаях вы можете создать формулу, которая множество условий последовательно.
В приведенном ниже примере мы проверяем два условия.
- Первое условие проверяет, сумму баллов не меньше ли она чем 35 баллов. Если это ИСТИНА, то функция вернет “Не сдал”;
- В случае, если первое условие — ЛОЖЬ, и сумма баллов больше 35, то функция проверяет второе условие. В случае если сумма баллов больше или равна 75. Если это правда, то функция возвращает значение “Отлично”, в других случаях функция возвращает “Сдал”.
Пример 3. Вычисляем сумму комиссии с продаж с помощью функции IF (ЕСЛИ) в Excel
Функция позволяет выполнять вычисления с числами. Хороший пример использования — расчет комиссии продаж для торгового представителя.
В приведенном ниже примере, торговый представитель по продажам:
- не получает комиссионных, если объем продаж меньше 50 тыс;
- получает комиссию в размере 2%, если продажи между 50-100 тыс
- получает 4% комиссионных, если объем продаж превышает 100 тыс.
Рассчитать размер комиссионных для торгового агента можно по следующей формуле:
=IF(B2<50,0,IF(B2<100,B2*2%,B2*4%)) — английская версия
=ЕСЛИ(B2<50;0;ЕСЛИ(B2<100;B2*2%;B2*4%)) — русская версия
В формуле, использованной в примере выше, вычисление суммы комиссионных выполняется в самой функции ЕСЛИ. Если объем продаж находится между 50-100K, то формула возвращает B2 * 2%, что составляет 2% комиссии в зависимости от объема продажи.
Больше лайфхаков в нашем Telegram Подписаться
Пример 4. Используем логические операторы (AND/OR) (И/ИЛИ) в функции IF (ЕСЛИ) в Excel
Вы можете использовать логические операторы (AND/OR) (И/ИЛИ) внутри функции для одновременного тестирования нескольких условий.
Например, предположим, что вы должны выбрать студентов для стипендий, основываясь на оценках и посещаемости. В приведенном ниже примере учащийся имеет право на участие только в том случае, если он набрал более 80 баллов и имеет посещаемость более 80%.
Вы можете использовать функцию AND (И) вместе с функцией IF (ЕСЛИ), чтобы сначала проверить, выполняются ли оба эти условия или нет. Если условия соблюдены, функция возвращает “Имеет право”, в противном случае она возвращает “Не имеет право”.
Формула для этого расчета:
=IF(AND(B2>80,C2>80%),”Да”,”Нет”) — английская версия
=ЕСЛИ(И(B2>80;C2>80%);»Да»;»Нет») — русская версия
Пример 5. Преобразуем ошибки в значения “0” с помощью функции IF (ЕСЛИ)
С помощью этой функции вы также можете убирать ячейки содержащие ошибки. Вы можете преобразовать значения ошибок в пробелы или нули или любое другое значение.
Формула для преобразования ошибок в ячейках следующая:
=IF(ISERROR(A1),0,A1) — английская версия
=ЕСЛИ(ЕОШИБКА(A1);0;A1) — русская версия
Формула возвращает “0”, в случае если в ячейке есть ошибка, иначе она возвращает значение ячейки.
ПРИМЕЧАНИЕ. Если вы используете Excel 2007 или версии после него, вы также можете использовать функцию IFERROR для этого.
Точно так же вы можете обрабатывать пустые ячейки. В случае пустых ячеек используйте функцию ISBLANK, на примере ниже:
=IF(ISBLANK(A1),0,A1) — английская версия
=ЕСЛИ(ЕПУСТО(A1);0;A1) — русская версия
Функция ЕСЛИ
Смотрите также – диапазон для использовать другие функции.=И (Лог_знач. 1; Лог_знач. Если формат ячейки оператора. Итак, необходимая в табличном редакторе обработки большого количества
-
Введите в нее выражение:lРекомендации, позволяющие избежать ячейки B9 в них парных скобок.
переходить к другим и являются неотъемлемой вложении операторов ЕСЛИ>), «равно» ( ЕСЛИ, подумайте, чегоФункция ЕСЛИ — одна из
проверки первого условия. К примеру, математические. 2;…) с числом изменить формула будет иметь можно используя специальную условий, например, функция=ЕСЛИ(B3>45; «Сдал»; «Не сдал»)
Технические подробности
появления неработающих формул диапазоне B2:B22. ЕслиНиже приведен распространенный пример средствам из арсенала частью многих моделей вы допустите малейшую
=
вы хотите достичь.
самых популярных функций
-
Скачать примеры логических функций
-
Задача 3. Ученики перед
Принимает до 255 аргументов |
на Текстовый уже |
следующий вид: =ЕСЛИ(B1=0; формулу. Она будет |
ВПР |
и нажмитеПоиск ошибок в |
значение найдено, возвращается расчета комиссионных за Excel. электронных таблиц. Но |
неточность, формула может), «не равно» ( |
Какое сравнение вы в Excel. ОнаТретий аргумент – В9 поступлением в гимназию |
Простые примеры функции ЕСЛИ
-
в виде условий
после того, как 0; A1/B1). Отсюда иметь вид: =ЕСЛИ(И(A13);илиEnter
-
формулах
соответствующее значение из продажу в зависимостиНиже приведен пример довольно они же часто сработать в 75 %<>
пытаетесь выполнить? Написать позволяет выполнять логические – первое условие. сдают математику, русский или ссылок. Обязательным функция вернула значение следует, что если «проходит», «нет»). КПРОСМОТР.Логические функции той же строки от уровней дохода. типичного вложенного оператора становятся причиной многих случаев, но вернуть) и др.), ознакомьтесь оператор ЕСЛИ не сравнения значений и
Четвертый и пятый и английский языки. является первый. ИСТИНА, то она клетка B1 будет более сложному примеру.Данная формула сравнивает значение
Начало работы
Функции Excel (по в столбце C.=ЕСЛИ(C9>15000;20%;ЕСЛИ(C9>12500;17,5%;ЕСЛИ(C9>10000;15%;ЕСЛИ(C9>7500;12,5%;ЕСЛИ(C9>5000;10%;0))))) ЕСЛИ, предназначенного для проблем с электронными непредвиденные результаты в со статьей Операторы сложнее, чем выстроить ожидаемых результатов. Самая аргумент – диапазон Проходной балл –ИЛИ не станет возвращать заполнена параметром «ноль», можно отнести использованиемИтак, в этом уроке в ячейке B3 алфавиту)Примечание:Эта формула означает: ЕСЛИ(ячейка преобразования тестовых баллов таблицами. В идеале остальных 25 %. К
Еще примеры функции ЕСЛИ
-
вычислений и их
в уме логическую простая функция ЕСЛИ для проверки и 12. По математикеПоказывает результат «ИСТИНА», если значение ЛОЖЬ. редактор выдаст «0», «ИЛИ» либо «И».
-
мы рассмотрели логическую
с числом 45,Функции Excel (по В обеих функциях ВПР C9 больше 15 000, учащихся в их оператор ЕСЛИ должен сожалению, шансов отыскать приоритеты. цепочку «что должно означает следующее: второе условие, соответственно. для поступления нужно
-
хотя бы один
2. Если в качестве в обратном случае Итак посмотрим, как функцию если значение больше категориям) в конце формулы то вернуть 20 %, буквенный эквивалент. применяться для минимума эти 25 % немного.
Иногда требуется проверить, пуста
произойти, если этоЕСЛИ(это истинно, то сделатьФункция учитывает только те получить не менее из аргументов является значения на вход Excel поделит показатель применять формулу вЕСЛИ 45, то возвращаетФункция используется аргумент ИСТИНА, ЕСЛИ(ячейка C9 больше93;»A»;ЕСЛИ(B2>89;»A-«;ЕСЛИ(B2>87;»B+»;ЕСЛИ(B2>83;»B»;ЕСЛИ(B2>79;»B-«;ЕСЛИ(B2>77;»C+»;ЕСЛИ(B2>73;»C»;ЕСЛИ(B2>69;»C-«;ЕСЛИ(B2>57;»D+»;ЕСЛИ(B2>53;»D»;ЕСЛИ(B2>49;»D-«;»F»))))))))))))» /> условий (например, «Женский»/»Мужской»,Работа с множественными операторами ли ячейка. Обычно условие выполнено, и это, в противном значения, которые соответствуют 4 баллов. Составить истинным. подается число и A1 на данные Excel, если нескольково всей ее строку «Сдал», иначеЕСЛИ который означает, что 12 500, то вернуть=ЕСЛИ(D2>89;»A»;ЕСЛИ(D2>79;»B»;ЕСЛИ(D2>69;»C»;ЕСЛИ(D2>59;»D»;»F»)))) «Да»/»Нет»/»Возможно»), но иногда
Операторы вычислений
ЕСЛИ может оказаться это делается, чтобы что должно произойти, случае сделать что-то всем заданным условиям. отчет о поступлении.=ИЛИ (Лог_знач.1; Лог_знач. 2;…) формат ячейки был B1 и отобразит условий в задаче. красе и примерах, «Не сдал».одна из самых мы хотим найти
Использование функции ЕСЛИ для проверки ячейки на наличие символов
17,5 % и т. д…Этот сложный оператор с сценарии настолько сложны, очень трудоемкой, особенно формула не выводила если нет?» Всегда
еще)СИНТАКСИС:Составим таблицу с исходными
-
——-//——-
установлен Текстовый (до результат. Пример такого выражения: а также разобралиСкопировав формулу в остальные популярных и часто близкое совпадение. ИначеНа первый взгляд все вложенными функциями ЕСЛИ что для их если вы вернетесь результат при отсутствии следите за тем,
-
Поэтому у функции ЕСЛИ
=ЕСЛИ(лог_выражение;значение_если_ИСТИНА;значение_если_ЛОЖЬ) данными:НЕ ввода числа вНа практике часто встречается =ЕСЛИ(ИЛИ(A1=5; A1=10); 100; простой пример с ячейки таблицы, можно используемых функций Excel. говоря, будут сопоставляться очень похоже на следует простой логике:
-
оценки требуется использовать
к ним через входного значения. чтобы ваши действия возможны два результата.АРГУМЕНТЫ:
Пример вложенных функций ЕСЛИ
Нужно общее количество балловМеняет логическое значение «ИСТИНА» ячейку), то функция и ситуация, которая 0). Из этого использованием сразу нескольких увидеть, что 2 Используя ее совместно
-
точные значения в
предыдущий пример сЕсли тестовых баллов (в вместе больше 3 какое-то время иВ данном случае мы выполнялись в логической Первый результат возвращается1. лог_выражение - сравнить с проходным на противоположное – вернет логическое значение будет рассмотрена далее. следует, что если функций человека из 5 с операторами сравнения таблице подстановки, а оценками, однако на ячейке D2) больше вложенных* функций ЕСЛИ. попробуете разобраться, что используем ЕСЛИ вместе
Небольшое предупреждение
последовательности, иначе формула в случае, если любое значение или баллом. И проверить, «ЛОЖЬ». И наоборот. ЛОЖЬ. Если формат
-
Речь идет о показатель в клеткеЕСЛИ не прошли переаттестацию. и другими логическими также все значения, примере этой формулы 89, учащийся получает* «Вложенность» означает объединение нескольких пытались сделать вы с функцией ЕПУСТО: не будет делать сравнение истинно, второй — выражение, принимающее значения чтобы по математике#ИМЯ? ячейки с числом
-
расчете скидки, исходя А1 равен 5в одной формуле.Функции функциями Excel, можно попадающие между ними. хорошо видно, насколько оценку A. функций в одной или, и того
-
=ЕСЛИ(ЕПУСТО(D2);»Пустая»;»Не пустая») то, для чего если сравнение ложно. ИСТИНА или ЛОЖЬ. оценка была неОбычно сочетается с другими изменить на Числовой
Распространенные неполадки
из общей суммы |
либо 10, программа |
Надеюсь, что эта |
ЕСЛИ решать достаточно сложные В этом случае сложно бывает работатьЕсли тестовых баллов больше формуле. хуже, кто-то другой.Эта формула означает: |
предназначена. Это особенно |
Если вы ищете информацию2. значение_если_ИСТИНА - ниже «4». В |
См. также
операторами. уже после того,
средств, потраченных на отобразит результат 100, информация была для
можно вкладывать друг задачи. В этом таблицы подстановки нужно с большими операторами
79, учащийся получаетФункция ЕСЛИ, одна из
Множественные операторы ЕСЛИ содержатЕСЛИ(ячейка D2 пуста, вернуть важно при создании
о работе с значение, которое возвращается графе «Результат» поставить
ЕСЛИ как функция вернула приобретение определенного товара.
в обратном случае Вас полезной. Удачи в друга, если
уроке мы попробуем
сортировать по возрастанию,
ЕСЛИ. Что вы
оценку B. логических функций, служит
по несколько открывающих текст «Пустая», в
сложных (вложенных) операторов несколькими операторами ЕСЛИ, если лог_выражение =
«принят» или «нет».
Проверяет истинность логического выражения
значение ЛОЖЬ, то
support.office.com
Функция ЕСЛИ — вложенные формулы и типовые ошибки
Используемая в этом — 0. Можно Вам и больших необходимо расширить варианты разобрать ее действие от меньшего к будете делать, если
-
Если тестовых баллов больше для возвращения разных и закрывающих скобок противном случае вернуть
ЕСЛИ. см. статью Усложненные ИСТИНА. Оно можетВведем формулу вида: =4;СУММ(B3:D3)>=$B$1);»принят»;»нет»)’ и возвращает соответствующий она не станет
случае матрица может использовать эти операторы успехов в изучении принятия решений в на простых примерах, большему. ваша организация решит 69, учащийся получает значений в зависимости (), за которыми текст «Не пустая»)=ЕСЛИ(C2>B2;»Превышение бюджета»;»В пределах бюджета») функции ЕСЛИ: как быть числом, текстом, class=’formula’>. Логический оператор результат. возвращать значение ИСТИНА.
иметь следующий вид: и чтобы решить Microsoft Excel!
Технические подробности
Excel. Например, для а также научимсяФункция ВПР подробно рассматривается добавить новые уровни оценку C. от того, соблюдается
может быть трудно
. Вы также можете
В примере выше функция
-
работать с вложенными
-
формулой или ссылкой
«И» заставляет функцию |
#ИМЯ? |
Вывод: функция ЕЧИСЛО() не менее 1000 — более сложные задачи. |
Автор: Антон Андронов |
рассмотренного ранее случая использовать сразу несколько здесь, но очевидно, |
компенсаций или изменитьЕсли тестовых баллов больше ли условие. уследить по мере |
легко использовать собственную ЕСЛИ в ячейке формулами и избежать |
на ячейку (в проверять истинность двух«Логическое_выражение» при вычислении должно пытается конвертировать значения |
Примечания
0%; 1001-3000 — К примеру, вСегодня мы расскажем о переаттестации сотрудников, требуется функций что она значительно
-
имеющиеся суммы или 59, учащийся получаетСинтаксис усложнения формулы. формулу для состояния D2 означает: ошибок. формулах массива допустимо условий. Математическая функция иметь результат «ИСТИНА» в числовой формат. 3%; 3001-5000 — базе необходимо вычислить функции табличного редактора проставить не результат,ЕСЛИ проще, чем сложный
-
проценты? У вас оценку D.ЕСЛИ(лог_выражение; значение_если_истина; [значение_если_ложь])Проблема «Не пустая». ВЕСЛИ(C2 больше B2, тоФункция ЕСЛИ, одна из использовать так же «СУММ» используется для или «ЛОЖЬ».
Однако, ее легко 5%; более 5001 должников, которым необходимо Excel «Если». Она а оценку изв одной формуле. 12-уровневый вложенный оператор
появится очень многоВ противном случае учащийсяНапример:Возможная причина следующем примере вместо вернуть текст «Превышение логических функций, служит ссылки на диапазон
Примеры
подсчета итогового балла.ЕСЛИОШИБКА заставить делать это. — 7%. Рассмотрим заплатить более 10000 имеет отношение к
ряда: Отлично, Хорошо
-
Функция
ЕСЛИ. Есть и работы! получает оценку F.
-
=ЕСЛИ(A2>B2;»Превышение бюджета»;»ОК»)0 (ноль) в ячейке функции ЕПУСТО используются бюджета», в противном
-
для возвращения разных ячеек).Функция ЕСЛИ позволяет решать
-
Если значение первого аргумента Если в ячейке ситуацию, когда в
-
рублей. При этом логическим возможностям приложения. и Плохо. Оценка
-
ЕСЛИ другие, менее очевидные,
Совет:Этот частный пример относительно=ЕСЛИ(A2=B2;B4-A4;»»)Не указан аргумент знаки «». «» — случае вернуть текст значений в зависимости3. значение_если_ЛОЖЬ - многочисленные задачи, поэтому истинно, то возвращаетА1 Excel присутствует база они не погашали Ее можно отнестиОтличноимеет всего три преимущества: Чтобы сложные формулы было
-
безопасен, поскольку взаимосвязь
Имя аргументазначение_если_истина фактически означает «ничего». «В пределах бюджета») от того, соблюдается значение, которое возвращается используется чаще всего. сам аргумент. Вчисло сохранено как данных посетителей, а заем более шести к наиболее востребованнымставится при количестве аргумента:Таблицы ссылок функции ВПР проще читать, вы между тестовыми балламиОписаниеили=ЕСЛИ(D3=»»;»Пустая»;»Не пустая»)=ЕСЛИ(C2>B2;C2-B2;0) ли условие. если лог_выражение =Задача 1. Проанализировать стоимость противном случае –
текст, то формула также информация о месяцев. Функция табличного функциям во время баллов более 60,=ЕСЛИ(заданное_условие; значение_если_ИСТИНА; значение_если_ЛОЖЬ) открыты и их можете вставить разрывы и буквенными оценкамилог_выражениезначение_если_ложьЭта формула означает:На рисунке выше мыСинтаксис ЛОЖЬ. Оно может товарных остатков после значение второго аргумента. =ЕЧИСЛО(—A1) вернет ИСТИНА, сумме потраченных ими редактора Excel «Если» работы. оценкаПервый аргумент – это
Дополнительные примеры
легко увидеть. строк в строке вряд ли будет
-
. Чтобы возвращать правильное
ЕСЛИ(в ячейке D3 ничего возвращаем не текст,ЕСЛИ(лог_выражение; значение_если_истина; [значение_если_ложь]) быть числом, текстом, уценки. Если цена#ИМЯ?
а =ЕЧИСЛО(A1) - на покупки средств. позволяет в автоматическомВ Excel формула «Если»Хорошо условие, благодаря которомуЗначения в таблицах просто формул. Просто нажмите меняться, так что(обязательный) значение, добавьте текст нет, вернуть текст а результат математическогоНапример: формулой или ссылкой продукта после переоценкиОба аргумента обязательны.
ЛОЖЬ. Теперь необходимо рассчитать режиме получить напротив помогает выполнять разногопри более 45 формула может принимать обновлять, и вам клавиши ALT+ВВОД перед дополнительных изменений неУсловие, которое нужно проверить.
двух аргументов или «Пустая», в противном вычисления. Формула в
=ЕСЛИ(A2>B2;»Превышение бюджета»;»ОК») на ячейку (в ниже средних значений,3. Логические значения ЛОЖЬ скидку для каждого соответствующих имен пометку рода задачи, когда и оценка решения. Условие проверяется не потребуется трогать текстом, который хотите потребуется. Но чтозначение_если_истина значение ИСТИНА/ЛОЖЬ. случае вернуть текст ячейке E2 означает:=ЕСЛИ(A2=B2;B4-A4;»») формулах массива допустимо то списать соЗадача 1. Необходимо переоценить и ИСТИНА формально клиента. С этой «проблемный клиент». Предположим, требуется сравнить определенныеПлохо в самую первую формулу, если условия перенести на другую если вам потребуется »#ИМЯ?» в ячейке «Не пустая»)ЕСЛИ(значение «Фактические» больше значенияИмя аргумента использовать так же склада этот продукт. товарные остатки. Если в EXCEL числами целью используем следующее в клетке A1 данные и получить
-
в остальных случаях.
очередь и способно изменятся. строку. разделить оценки на(обязательный)Как правило, это указывает. Вот пример распространенного «Плановые», то вычесть
-
Описание
ссылки на диапазонРаботаем с таблицей из продукт хранится на не являются и выражение: =ЕСЛИ(A1>=5001; B1*0,93; расположены данные, указывающие результат. Данное решение
Чтобы решить эту задачу, вернуть всего дваЕсли вы не хотите,Перед вами пример сценария A+, A иЗначение, которое должно возвращаться, на ошибку в способа использования знаков сумму «Плановые» излог_выражение ячеек). предыдущего раздела: складе дольше 8 это доказывает тот ЕСЛИ(А1>=3001; B1*0,95;..). Система на срок задолженности дает возможность применять
введем в ячейку значения – ИСТИНА чтобы люди видели для расчета комиссионных A– (и т. д.)? если формуле. «», при котором
-
суммы «Фактические», в (обязательно)КОММЕНТАРИИ:
-
Для решения задачи используем месяцев, уменьшить его факт, что формулы проверяет общую сумму (месяцы). Поле B1
-
ветвящиеся алгоритмы, а C3 следующую формулу: или ЛОЖЬ. Если вашу таблицу ссылок с неправильной логикой: Теперь ваши четырелог_выражение
Вы знали?
Видео: расширенное применение функции формула не вычисляется, противном случае ничегоУсловие, которое нужно проверить.Если аргумент лог_выражение формулу вида: . цену в 2
-
=ЕЧИСЛО(ЛОЖЬ) и =ЕЧИСЛО(ИСТИНА)
покупок. Когда она отображает сумму. В также создавать дерево
-
=ЕСЛИ(B3>60;»Отлично»;ЕСЛИ(B2>45;»Хорошо»;»Плохо»))
условие истинно, то или вмешивались вВидите, что происходит? Посмотрите условных оператора ЕСЛИимеет значение ИСТИНА. ЕСЛИ
если зависимая ячейка не возвращать)значение_если_истина = ИСТИНА, но В логическом выражении раза. вернут ЛОЖЬ. Однако, превышает показатель в этом случае формула
См. также:
решений.и нажмем
формула вернет второй нее, просто поместите порядок сравнения доходов
нужно переписать сзначение_если_ложьФункция ЕСЛИМН (Office 365, Excel 2016
пуста:. (обязательно)
аргумент значение_если_ИСТИНА не «D2Сформируем таблицу с исходными
значениям ЛОЖЬ и 5001 рублей, происходит будет иметь следующий
Функция выглядит таким образом:
Enter
аргумент, в противном
ее на другой в предыдущем примере.
учетом 12 условий!
и более поздние=ЕСЛИ(D3=»»;»»;ВашаФормула())
=ЕСЛИ(E7=»Да»;F5*0,0825;0)
Значение, которое должно возвращаться, указан, то возвращается
Задача 2. Найти средние параметрами:
support.office.com
Функция ЕСЛИ в Excel на простом примере
ИСТИНА сопоставлены значения умножение на 93 вид: =ЕСЛИ(И(A1>=6; B1>10000); =ЕСЛИ (задача; истина;. случае третий. лист. А как все Вот так будет(необязательный) версии)ЕСЛИ(в ячейке D3 ничегоВ этом примере формула если значение 0. продажи в магазинахЧтобы решить поставленную задачу, 0 и 1 процента стоимости товара.
Коротко о синтаксисе
«проблемный клиент»; «»). ложь). Первая составнаяДанная формула обрабатывает сразуО том, как задавать
Теперь есть функция УСЛОВИЯ,
идет в этом? выглядеть ваша формула:Значение, которое должно возвращаться,Усложненные функции ЕСЛИ: как нет, не возвращать в ячейке F7лог_выражениеЕсли аргумент лог_выражение сети. воспользуемся логической функцией соответственно, поэтому формулы В случае преодоления Отсюда следует, что
часть — логическое два условия. Сначала условия в Excel, которая может заменить Именно! Сравнение идет=ЕСЛИ(B2>97;»A+»;ЕСЛИ(B2>93;»A»;ЕСЛИ(B2>89;»A-«;ЕСЛИ(B2>87;»B+»;ЕСЛИ(B2>83;»B»;ЕСЛИ(B2>79;»B-«; ЕСЛИ(B2>77;»C+»;ЕСЛИ(B2>73;»C»;ЕСЛИ(B2>69;»C-«;ЕСЛИ(B2>57;»D+»;ЕСЛИ(B2>53;»D»;ЕСЛИ(B2>49;»D-«;»F»)))))))))))) если работать с вложенными
Пример 1
ничего, в противном означает:имеет значение ИСТИНА. = ЛОЖЬ, ноСоставим таблицу с исходными ЕСЛИ. Формула будет =ЕЧИСЛО(—ЛОЖЬ) и =ЕЧИСЛО(—ИСТИНА) отметки в 3001 если будет обнаружен выражение. Оно может проверяется первое условие: читайте статьи: Как несколько вложенных операторов снизу вверх (отОна по-прежнему точна и
Пример 2
лог_выражение формулами и избежать случае вычислить формулу)ЕСЛИ(E7 = «Да», тозначение_если_ложь аргумент значение_если_ЛОЖЬ не данными: выглядеть так: =ЕСЛИ(C2>=8;B2/2;B2). вернут ИСТИНА. единицу, имеет место
человек, который соответствует быть фразой илиB3>60 задать простое логическое ЕСЛИ. Так, в 5 000 до 15 000 ₽), будет правильно работать,имеет значение ЛОЖЬ. ошибок. вычислить общую сумму (необязательно)
- указан, то возвращаетсяНеобходимо найти среднее арифметическоеЛогическое выражение «С2>=8» построено4. Функция ЕЧИСЛО() обычно
- аналогичное действие, но указанным условиям, программа числом. К примеру,. Если оно истинно, условие в Excel
- нашем первом примере а не наоборот. но вы потратитеExcel позволяет использовать доОбучающие видео: усложненные функцииЕсли у простой функции в ячейке F5
- Значение, которое должно возвращаться, значение 0. для ячеек, значение с помощью операторов используется в паре
Функция ЕСЛИ и несколько условий
уже с учетом укажет напротив его «10» или «без то формула возвращает и Используем логические оценок с 4 Ну и что много времени, чтобы 64 вложенных функций ЕСЛИ ЕСЛИ есть только и умножить на еслиОГРАНИЧЕНИЯ: которых отвечает заданному отношения «>» и с функцией ЕСЛИ(). 95%. Приведенную формулу имени требуемый комментарий. НДС» — это значение «Отлично», а функции Excel для
- вложенными функциями ЕСЛИ: в этом такого? написать ее, а ЕСЛИ, но этоПодсчет значений на основе два результата (ИСТИНА 8,25 %, в противном
- лог_выражениеДопускается до 7 условию. То есть «=». Результат его Например, формула =ЕСЛИ(ЕЧИСЛО(B6);»Число»;»Не с легкостью можно Для всех прочих логические выражения. Данный остальные условия не задания сложных условий.=ЕСЛИ(D2>89;»A»;ЕСЛИ(D2>79;»B»;ЕСЛИ(D2>69;»C»;ЕСЛИ(D2>59;»D»;»F»)))) Это важно, потому потом протестировать. Еще вовсе не означает, одного условия с и ЛОЖЬ), то случае налога симеет значение ЛОЖЬ. вложений функции ЕСЛИ
- совместить логическое и вычисления – логическая число») вернет слово применять на практике. участников перечня аналогичная параметр обязательно необходимо обрабатываются. Если первоеОбратимся к примеру, приведенному
можно сделать все гораздо что формула не одна очевидная проблема что так и помощью функции СЧЁТЕСЛИ у вложенных функций продажи нет, поэтому=ЕСЛИ(C2=»Да»;1;2) друг в друга статистическое решение. величина «ИСТИНА» или Число, если в Объем продаж и клетка останется пустой. заполнить. Истина — условие ложно, то на рисунках ниже. проще с помощью может пройти первую состоит в том,
надо делать. Почему?Подсчет значений на основе ЕСЛИ может быть вернуть 0)В примере выше ячейка в качестве любогоЧуть ниже таблицы с «ЛОЖЬ». В первом
ячейке показатели скидок задаются Рассмотрим пример для это значение, которое функция В данном примере одной функции ЕСЛИМН: оценку для любого что вам придетсяНужно очень крепко подумать, нескольких условий с от 3 доРекомендации по использованию констант D2 содержит формулу: из аргументов в условием составим табличку случае функция возвращаетВ6
по усмотрению пользователя.
office-guru.ru
Excel: «Если» (формула). В Excel функция «Если»
случая, когда ситуация отобразится как результат,ЕСЛИ функция=ЕСЛИМН(D2>89;»A»;D2>79;»B»;D2>69;»C»;D2>59;»D»;ИСТИНА;»F») значения, превышающего 5 000 ₽. вручную вводить баллы чтобы выстроить последовательность помощью функции СЧЁТЕСЛИМН
Ключевые возможности
64 результатов.В последнем примере текстовоеЕСЛИ(C2 = Да, то Excel версий до для отображения результатов: значение «В2/2». Вонаходится число (вПрименение описанных возможностей возможно является критической. Введем если выражение будет
Примеры использования
переходит ко второму:ЕСЛИФункция ЕСЛИМН — просто находка! Скажем, ваш доход и эквивалентные буквенные из множества операторовСуммирование значений на основе=ЕСЛИ(D2=1;»ДА»;ЕСЛИ(D2=2;»Нет»;»Возможно»)) значение «Да» и вернуть 1, в 2003 включительно, доРешим задачу с помощью втором – «В2». числовом формате). для решения различного соответствующий комментарий. В верным. Ложь —B2>45в первую очередь
Равенство параметров двух ячеек
Благодаря ей вам составил 12 500 ₽ — оператор оценки. Каковы шансы, ЕСЛИ и обеспечить одного условия сПоказанная на рисунке выше ставка налога с противном случае вернуть 2) 64 вложений в одной функции: .Усложним задачу – задействуемЛогические функции в Excel
Примеры с применением условий «ИЛИ», «И»
рода задач. Основной результате формула будет данные, которые будут. Если второе условие проверят условие больше не нужно ЕСЛИ вернет 10 %, что вы не их правильную отработку помощью функции СУММЕСЛИ формула в ячейке продажи (0,0825) введены=ЕСЛИ(C2=1;»Да»;»Нет») Excel версии 2007 Первый аргумент – логическую функцию И. проверяют данные и этап — правильное иметь следующий вид: выданы, когда задача истинно, то формулаA1>25 переживать обо всех потому что это ошибетесь? А теперь по каждому условиюСуммирование значений на основе E2 означает: прямо в формулу.В этом примере ячейка и до 128 $B$2:$B$7 – диапазон Теперь условие такое: возвращают результат «ИСТИНА», составление формулы, чтобы =ЕСЛИ(ИЛИ(A1>=6; B1>10000); «критическая не будет верной. возвращает значение «Хорошо»,. Если это так, этих операторах ЕСЛИ больше 5 000 ₽, и представьте, как вы на протяжении всей нескольких условий сЕСЛИ(D2 равно 1, то Как правило, литеральные D2 содержит формулу: вложений в Excel ячеек для проверки. если товар хранится если условие выполняется, не получить ошибочного ситуация»; «»). ВДля понимания возможностей функции а если ложно, то формула возвратит и скобках. на этом остановится. пытаетесь сделать это цепочки. Если при помощью функции СУММЕСЛИМН вернуть текст «Да», константы (значения, которыеЕСЛИ(C2 = 1, то версии 2010. Второй аргумент – дольше 8 месяцев, и «ЛОЖЬ», если результата. Теперь вы таком случае если «Если» в Excel, то «Плохо». текстовую строку «большеПримечание: Это может быть 64 раза для вложении вы допуститеФункция И в противном случае время от времени вернуть текст «Да»,ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ: В9 – условие. то его стоимость нет. знаете, как использовать программа обнаружит совпадения примеры просто необходимы,Скопировав формулу в остальные 25», в любом Эта функция доступна только очень проблематично, поскольку более сложных условий! в формуле малейшуюФункция ИЛИ ЕСЛИ(D2 равно 2,
Задачи высокого уровня сложности
требуется изменять) не в противном случаеФОРМУЛЫ МАССИВА: Третий аргумент – уменьшается в 2Рассмотрим синтаксис логических функций оператор в Excel, как минимум по и далее мы ячейки таблицы, можно другом случае — при наличии подписки ошибки такого типа Конечно, это возможно. неточность, она можетФункция ВПР то вернуть текст рекомендуется вводить прямо вернуть текст «Нет»)Функция работает в $C$2:$C$7 – диапазон раза. Если дольше и примеры применения если несколько условий одному из параметров перейдем к их увидеть, что на «меньше или равно на Office 365. Если часто остаются незамеченными, Но неужели вам сработать в 75 %
Скидка
Полные сведения о формулах «Нет», в противном в формулу, посколькуКак видите, функцию ЕСЛИ формулах массива усреднения; числовые значения, 5 месяцев, но их в процессе в задаче. (срок, сумма задолженности), рассмотрению. Вводим в отлично сдал один 25». у вас есть пока не оказывают хочется потратить столько случаев, но вернуть в Excel случае вернуть текст в будущем их можно использовать дляЭТОГО НЕТ В ОФИЦИАЛЬНОЙ которые берутся для меньше 8 – работы с программойАвтор: Евгений Никифоров пользователь увидит соответствующее клетку C1 показатель человек, а наФункция подписка на Office 365, негативного влияния. Так сил без всякой непредвиденные результаты вРекомендации, позволяющие избежать появления «Возможно»)). может быть затруднительно сравнения и текста, СПРАВКЕ EXCEL: расчета среднего арифметического. в 1,5 раза. Excel.Задача функции ЕЧИСЛО(), английский примечание. В первой 8. Далее в
оценки хорошо иЕСЛИ убедитесь, что у что же вам уверенности в отсутствии остальных 25 %. К неработающих формулОбратите внимание на найти и изменить. и значений. ААргумент лог_выражение может
Функция СРЗНАЧЕСЛИ сопоставляет значение
fb.ru
Функция ЕЧИСЛО() в MS EXCEL
Формула приобретает следующий вид:Название функции вариант ISNUMBER(), - ситуации сообщение «проблемный поле по адресу плохо по дваявляется очень гибкой
вас установлена последняя
делать теперь, когда ошибок, которые потом
сожалению, шансов отыскатьОбнаружение ошибок в формулах две закрывающие скобки Гораздо удобнее помещать еще с ее и не быть ячейки В9 (№1)
Использование функции
=8);B2/2;ЕСЛИ(И(C2>=5);B2/1,5;B2))’ class=’formula’>.Значение
проверять являются ли клиент» выдавалось лишь D1 вписываем следующую человека. и ее можно версия Office. вы знаете, какие будет трудно обнаружить? эти 25 % немного. с помощью функции в конце формулы. константы в собственные помощью можно оценивать выражением. Это может со значениями в
В функции ЕСЛИ можноСинтаксис значения числами или тогда, когда были формулу: =ЕСЛИ(C1, =,Как видите, вместо второго применять в различныхВидео: расширенное применение функции трудности могут ожидатьСовет:Работа с множественными операторами проверки ошибок Они нужны для ячейки, в которых ошибки. Вы можете быть просто текст,
диапазоне В2:В7 (номера использовать в качествеПримечание нет. Формула =ЕЧИСЛО(5) выполнены оба заданных >, =, и третьего аргументов ситуациях. Рассмотрим еще ЕСЛИ вас при использовании Для каждой функции в ЕСЛИ может оказаться
Логические функции того, чтобы закрыть они будут доступны не только проверять, число или ссылка магазинов в таблице аргументов текстовые значения.ИСТИНА вернет ИСТИНА, а условия.Продолжаем практиковаться и осваивать функции один пример. ВФункция УСЛОВИЯ (Office 365,
вложенных операторов ЕСЛИ? Excel обязательно указываются чрезвычайно трудоемкой, особенноФункции Excel (по алфавиту) выражения для обоих и их можно равно ли одно на ячейку содержащую продаж). Для совпадающихЗадача 2. Если стоимость
excel2.ru
Логические функции в excel с примерами их использования
Не имеет аргументов, возвращает =ЕЧИСЛО(«Привет!») вернет ЛОЖЬ.Функция табличного редактора Excel логические возможности приложения.ЕСЛИ таблице ниже приведены
Excel 2016 и более В большинстве случаев открывающая и закрывающая если вы вернетесьФункции Excel (по категориям)
Использование логических функций в Excel
функций ЕСЛИ, и | будет легко найти | значение другому, возвращая | их. |
данных считает среднее | товара на складе логическое значение «ИСТИНА». | Синтаксис функции ЕЧИСЛО() | «Если» используется, чтобы Функцию табличного редактора |
можно подставлять новые | результаты переаттестации сотрудников поздние версии) | вместо сложной формулы | скобки (). При |
к ним через | Функция ЕСЛИ позволяет выполнять если ввести формулу и изменить. В один результат, ноЕсли аргумент лог_выражение арифметическое, используя числа после уценки стала=ИСТИНА ()ЕЧИСЛОзначение | обойти встроенные ошибки Excel «Если» можно | функции фирмы:Функция СЧЁТЕСЛИ (подсчитывает с функциями ЕСЛИ |
редактировании Excel попытается | какое-то время и логические сравнения значений без обоих закрывающих нашем случае все | и использовать математические | является текстом, то |
из диапазона С2:С7. | меньше 300 р.Редко используется в качестве) | при делении на | соединить с операторамиЕСЛИ |
В столбец C нам | значения с учетом можно использовать функцию помочь вам понять, | попробуете разобраться, что | и ожидаемых результатов. скобок, приложение Excel в порядке, так |
операторы и выполнять | Вы получите значениеЗадача 3. Найти средние или продукт хранится самостоятельной функции.Значение | ноль, а также | сравнения. К ним |
, тем самым расширяя
Логические функции в Excel и примеры решения задач
необходимо выставить результат одного условия) ВПР. При использовании что куда идет, пытались сделать вы Она проверяет условие попытается исправить ее.
как здесь используется дополнительные вычисления в
ошибки #ЗНАЧ, если продажи в магазине дольше 10 месяцев,ЛОЖЬ
- значением может еще в нескольких относятся параметры: «ИЛИ», число условий, которое экзамена, который долженФункция СЧЁТЕСЛИМН (подсчитывает функции ВПР вам окрашивая разными цветами или, и того и в зависимости
Excel позволяет использовать до только одна функция зависимости от условий. числом, то при №1 г. Москва. его списывают.Не имеет аргументов, возвращает быть все что случаях. Первая ситуация «И». Укажем необходимое формула может обработать.
содержать всего два значения с учетом
для начала нужно части формулы. Например, хуже, кто-то другой.
от его истинности 64 вложенных функций ЕСЛИ, а ставка Для выполнения нескольких значении 0 функцияВидоизменим таблицу из предыдущегоДля решения используем логические
логическое выражение «ЛОЖЬ». угодно: текст, число, обозначается редактором, как условие в Excel: Таким образом, Вы варианта: нескольких условий) создать ссылочную таблицу: во время редактирования
Если вы видите, что возвращает результат. ЕСЛИ, но это
налога с продажи сравнений можно использовать ЕСЛИ вернёт ЛОЖЬ,
примера: функции ЕСЛИ и=ЛОЖЬ () ссылка, имя, пустая «ДЕЛ/0» и встречается если оценка учащегося можете создать нужноеСдалФункция СУММЕСЛИ (суммирует=ВПР(C2;C5:D17;2;ИСТИНА)
показанной выше формулы ваш оператор ЕСЛИ
=ЕСЛИ(это истинно, то сделать вовсе не означает, будет редко изменяться. несколько вложенных функций при любом другомНужно выполнить два условия ИЛИ: =10);»списан»;»»)’ class=’formula’>.——-//——-
ячейка, значение ошибки, достаточно часто. Как равна или меньше количество вложений. Правдаили значения с учетомВ этой формуле предлагается
при перемещении курсора все разрастается, устремляясь это, в противном
Статистические и логические функции в Excel
что так и Даже если она ЕСЛИ. значении — ИСТИНА. – воспользуемся функцией Условие, записанное сИ
логическое выражение. правило, она возникает
5, но больше есть очевидный недостатокНе сдал одного условия)
найти значение ячейки за каждую закрывающую в бесконечность, значит
случае сделать что-то надо делать. Почему?
изменится, вы сможетеПримечание:Если не указывать вида: . помощью логической операцииЕсли все заданные аргументы
В файле примера приведены в тех случаях, 3. Должен быть
такой конструкции, после. Те, кто набралФункция СУММЕСЛИМН (суммирует C2 в диапазоне скобку «)» тем вам пора отложить еще)Нужно очень крепко подумать, легко изменить ее Если вы используете текст аргументы значение_если_ИСТИНА илиФункция СРЗНАЧЕСЛИМН позволяет применять
ИЛИ, расшифровывается так: возвращают истинный результат, несколько вариантов проверок: когда подлежит копированию отображен комментарий: «проходит». 3-5 вложений формула более 45 баллов значения с учетом C5:C17. Если значение
же цветом будет мышь и пересмотретьПоэтому у функции ЕСЛИ
чтобы выстроить последовательность в формуле.
в формулах, заключайте значение_если_ЛОЖЬ, то при более одного условия.
товар списывается, если то функция выдает1. Если в качестве формула «A/B», при В противном случае станет нечитаемой и – сдали экзамен, нескольких условий) найдено, возвращается соответствующее окрашиваться соответствующая открывающая
свою стратегию.
возможны два результата. из множества операторовЕсли вы хотите больше его в кавычки выполнении условий будут Первый аргумент –
число в ячейке логическое выражение «ИСТИНА». значения на вход
exceltable.com
ЕСЛИ() IF()
этом показатель B
– «нет». Итак,
громоздкой, и с
остальные нет.Функция И значение из той скобка. Это особенно
Давайте посмотрим, как правильно Первый результат возвращается ЕСЛИ и обеспечить узнать о различных (пример: «Текст»). Единственное возвращаться текстовые значения $D$2:$D$7 – диапазон D2 = 10. В случае хотя подается число и в отдельных ячейках
проходят лишь те ней будет невозможноВыделите ячейку, в которуюФункция ИЛИ же строки в удобно в сложных создавать операторы с в случае, если их правильную отработку операторах вычислений, которые исключение — слова ИСТИНА
ИСТИНА или ЛОЖЬ.
усреднения (откуда берутсяПри невыполнении условия функция бы одного ложного формат ячейки НЕ равен нулю. Избежать
учащиеся, которые получили работать. необходимо ввести формулу.Функция ВПР столбце D.
вложенных формулах, когда
несколькими вложенными функциями сравнение истинно, второй — по каждому условию можно использовать в и ЛОЖЬ, которыеВ КАКОЙ ВЕРСИИ EXCEL цифры для нахождения ЕСЛИ возвращает пустую логического значения вся был установлен Текстовый, этого можно посредством пятерки и четверки.
В Excel существуют более
В нашем случае
Общие сведения о=ВПР(B9;B2:C6;2;ИСТИНА)
вы пытаетесь выяснить, ЕСЛИ и как
если сравнение ложно. на протяжении всей формулах («меньше» ( Excel распознает автоматически. РАБОТАЕТ: среднего арифметического). Второй ячейку.
функция выдает результат то функция вернет возможностей рассматриваемого нами Записать подобную задачу благородные инструменты для это ячейка C3. формулах в ExceЭта формула ищет значение достаточно ли в
понять, когда пораОператоры ЕСЛИ чрезвычайно надежны цепочки. Если при), «больше» (Прежде чем написать операторВ любой версии.
аргумент – $B$2:$B$7В качестве аргументов можно
«ЛОЖЬ».
excelworld.ru
логическое значение ИСТИНА.
На чтение 19 мин. Просмотров 24.4k.
Пьер Корнель
Угадай, если сможешь, и выбери, если посмеешь
Содержание
- Краткое руководство по VBA If Statement
- Что такое IF и зачем оно тебе?
- Тестовые данные
- Формат операторов VBA If Then
- Простой пример If Then
- Условия IF
- Использование If ElseIf
- Использование If Else
- Используя If And/If Or
- Функция IIF
- Использование Select Case
- Попробуйте это упражнение
Краткое руководство по VBA If Statement
Описание | Формат | Пример |
If Then | If [условие верно] Then [действие] End If |
If score = 100 Then Debug.Print «Отлично» End If |
If Else | If [условие верно] Then [действие] Else [действие] End If |
If score = 100 Then Debug.Print «Отлично» Else Debug.Print «Попробуй снова» End If |
If ElseIf | If [1 условие верно] Then [действие] ElseIf [2 условие верно] Then [действие] End If |
If score = 100 Then Debug.Print «Отлично» ElseIf score > 50 Then Debug.Print «Пройдено» ElseIf score <= 50 Then Debug.Print «Попробуй снова» End If |
Else и ElseIf (Else должно идти после ElseIf’s) |
If [1 условие верно] Then [действие] ElseIf [2 условие верно] Then [действие] Else [действие] End If |
If score = 100 Then Debug.Print «Отлично» ElseIf score > 50 Then Debug.Print «Пройдено» ElseIf score > 30 Then Debug.Print «Попробуй снова» Else Debug.Print «Ой» End If |
If без Endif (Только одна строка) |
If [условие верно] Then [действие] |
If value <= 0 Then value = 0 |
В следующем коде показан простой пример использования
оператора VBA If
If Sheet1.Range("A1").Value > 5 Then Debug.Print "Значение больше 5." ElseIf Sheet1.Range("A1").Value < 5 Then Debug.Print "Значение меньше 5." Else Debug.Print "Значение равно 5." End If
Что такое IF и зачем оно тебе?
Оператор VBA If используется, чтобы позволить вашему коду
делать выбор, когда он выполняется.
Вам часто захочется сделать выбор на основе данных, которые
читает ваш макрос.
Например, вы можете захотеть читать только тех учеников, у
которых оценки выше 70. Когда вы читаете каждого учащегося, вы можете
использовать инструкцию If для проверки отметок каждого учащегося.
Важным словом в последнем предложении является проверка. Оператор
If используется для проверки значения, а затем для выполнения задачи на основе
результатов этой проверки.
Тестовые данные
Мы собираемся использовать следующие тестовые данные для
примеров кода в этом посте.
Формат операторов VBA If Then
Формат оператора If Then следующий
За ключевым словом If следуют условие и ключевое слово Then
Каждый раз, когда вы используете оператор If Then, вы должны использовать соответствующий оператор End If.
Когда условие оценивается как истинное, обрабатываются все
строки между If Then и End If.
If [условие верно] Then [строки кода] [строки кода] [строки кода] End If
Чтобы сделать ваш код более читабельным, рекомендуется
делать отступы между операторами If Then и End If.
Отступ между If и End If
Отступ означает просто переместить строку кода на одну вкладку вправо. Правило большого пальца состоит в том, чтобы сделать отступ между начальным и конечным операторами, такими как:
Sub … End Sub
If Then … End If
If Then… ElseIf … Else … Endif
For … Next
Do While … Loop
Select Case … End Case
Для отступа в коде вы можете выделить строки для отступа и нажать клавишу Tab. Нажатие клавиш Shift + Tab сделает отступ кода, т.е. переместит его на одну вкладку влево.
Вы также можете использовать значки на панели инструментов Visual Basic для отступа кода.
Если вы посмотрите на примеры кода на этом сайте, вы увидите, что код имеет отступ.
Простой пример If Then
Следующий код выводит имена всех студентов с баллами более 50.
Sub ChitatOcenki() Dim i As Long ' Пройдите столбцы отметок For i = 2 To 11 ' Проверьте, больше ли баллов,чем 50 If Sheet1.Range("C" & i).Value > 50 Then ' Напечатайте имя студента в «Immediate Window» (Ctrl + G) Debug.Print Sheet1.Range("A" & i).Value & " " & Sheet1.Range("B" & i).Value End If Next End Sub
Результаты:
- Василий Кочин
- Максим Бородин
- Дмитрий Маренин
- Олеся Клюева
- Евгений Яшин
Поэкспериментируйте с этим примером и проверьте значение или знак > и посмотрите, как изменились результаты.
Условия IF
Часть кода между ключевыми словами If и Then называется условием. Условие — это утверждение, которое оценивается как истинное или ложное. Они в основном используются с операторами Loops и If. При создании условия вы используете такие знаки, как «>, <, <>,> =, <=, =».
Ниже приведены примеры условий:
Условие | Это верно, когда |
x < 5 | x меньше,чем 5 |
x <= 5 | x меньше, либо равен 5 |
x > 5 | x больше, чем 5 |
x >= 5 | x больше, либо равен 5 |
x = 5 | x равен 5 |
x <> 5 | x не равен 5 |
x > 5 And x < 10 | x больше, чем 5 И x меньше, чем 10 |
x = 2 Or x >10 | x равен 2 ИЛИ x больше,чем 10 |
Range(«A1») = «Иван» | Ячейка A1 содержит текст «Иван» |
Range(«A1») <> «Иван» | Ячейка A1 не содержит текст «Иван» |
Вы могли заметить x = 5, как условие. Не стоит путать с х = 5, при использовании в качестве назначения.
Когда в условии используется «=», это означает, что «левая сторона равна правой стороне».
В следующей таблице показано, как знак равенства используется
в условиях и присваиваниях.
Использование «=» | Тип | Значение |
Loop Until x = 5 | Условие | Равен ли x пяти |
Do While x = 5 | Условие | Равен ли x пяти |
If x = 5 Then | Условие | Равен ли x пяти |
For x = 1 To 5 | Присваивание | Установите значение х = 1, потом = 2 и т.д. |
x = 5 | Присваивание | Установите х до 5 |
b = 6 = 5 | Присваивание и условие |
Присвойте b результату условия 6 = 5 |
x = MyFunc(5,6) | Присваивание | Присвойте х значение, возвращаемое функцией |
Последняя запись в приведенной выше таблице показывает
оператор с двумя равными. Первый знак равенства — это присвоение, а любые
последующие знаки равенства — это условия.
Поначалу это может показаться странным, но подумайте об этом
так. Любое утверждение, начинающееся с переменной и равно, имеет следующий
формат
[переменная] [=] [оценить эту часть]
Поэтому все, что находится справа от знака равенства, оценивается и результат помещается в переменную. Посмотрите на последние три строки таблицы, как:
[x] [=] [5]
[b] [=] [6 = 5]
[x] [=] [MyFunc (5,6)]
Использование If ElseIf
Инструкция ElseIf позволяет вам выбирать из нескольких вариантов. В следующем примере мы печатаем баллы, которые находятся в диапазоне.
Sub IspElseIf() If Marks >= 85 Then Debug.Print "Высший балл" ElseIf Marks >= 75 Then Debug.Print "Отлично" End If End Sub
Важно понимать, что порядок важен. Условие If проверяется
первым.
Если это правда, то печатается «Высший балл», и оператор If заканчивается.
Если оно ложно, то код переходит к следующему ElseIf и
проверяет его состояние.
Давайте поменяемся местами If и ElseIf из последнего
примера. Код теперь выглядит так
Sub IspElseIfNeverno() ' Этот код неверен, так как ElseIf никогда не будет верным If Marks >= 75 Then Debug.Print "Отлично" ElseIf Marks >= 85 Then ' код никогда не достигнет здесь Debug.Print "Высший балл" End If End Sub
В этом случае мы сначала проверяем значение более 75. Мы никогда не будем печатать «Высший балл», потому что, если значение больше 85, это вызовет первый оператор if.
Чтобы избежать подобных проблем, мы должны использовать два
условия. Они помогают точно указать, что вы ищете, чтобы избежать путаницы.
Пример ниже показывает, как их использовать. Мы рассмотрим более многочисленные
условия в разделе ниже.
If marks >= 75 And marks < 85 Then Debug.Print "Отлично" ElseIf marks >= 85 And marks <= 100 Then Debug.Print "Высший балл" End If
Давайте расширим оригинальный код. Вы можете использовать столько операторов ElseIf, сколько захотите. Мы добавим еще несколько, чтобы учесть все наши классификации баллов.
Использование If Else
Утверждение Else используется, как ловушка для всех. Это в основном означает «если бы не было условий» или «все остальное». В предыдущем примере кода мы не включили оператор печати для метки сбоя. Мы можем добавить это, используя Else.
Sub IspElse() If Marks >= 85 Then Debug.Print "Высший балл" ElseIf Marks >= 75 Then Debug.Print "Отлично" ElseIf Marks >= 55 Then Debug.Print "Хорошо" ElseIf Marks >= 40 Then Debug.Print "Удовлетворительно" Else ' Для всех других оценок Debug.Print "Незачет" End If End Sub
Так что, если это не один из других типов, то это провал.
Давайте напишем некоторый код с помощью наших примеров
данных и распечатаем студента и его классификацию.
Sub DobClass() ' получить последнюю строку Dim startRow As Long, lastRow As Long startRow = 2 lastRow = Sheet1.Cells(Sheet1.Rows.Count, 1).End(xlUp).Row Dim i As Long, Marks As Long Dim sClass As String ' Пройдите столбцы отметок For i = startRow To lastRow Marks = Sheet1.Range("C" & i).Value ' Проверьте отметки и классифицируйте соответственно If Marks >= 85 Then sClass = "Высший балл" ElseIf Marks >= 75 Then sClass = "Отлично" ElseIf Marks >= 55 Then sClass = "Хорошо" ElseIf Marks >= 40 Then sClass = "Удовлетворительно" Else ' Для всех других оценок sClass = "Незачет" End If ' Запишите класс в столбец E Sheet1.Range("E" & i).Value = sClass Next End Sub
Результаты выглядят так: в столбце E — классификация баллов
Используя If And/If Or
В выражении If может быть несколько условий. Ключевые слова VBA And и Or позволяют использовать несколько условий.
Эти слова работают так же, как вы используете их на
английском языке.
Давайте снова посмотрим на наши примеры данных. Теперь мы
хотим напечатать всех студентов, которые набрали от 50 до 80 баллов.
Мы используем Аnd, чтобы добавить дополнительное условие. Код гласит: если оценка больше или равна 50 и меньше 75, напечатайте имя студента.
Sub ProverkaStrokiOcenok() Dim i As Long, marks As Long For i = 2 To 11 ' Хранить оценки для текущего студента marks = Sheet1.Range("C" & i).Value ' Проверьте, если отметки больше 50 и меньше 75 If marks >= 50 And marks < 80 Then ' Напечатайте имя и фамилию в Immediate window (Ctrl+G) Debug.Print Sheet1.Range("A" & i).Value & Sheet1.Range("B" & i).Value End If Next End Sub
Вывести имя и фамилию в результаты:
- Дмитрий Маренин
- Олеся Клюева
- Евгений Яшин
В нашем следующем примере мы хотим знать, кто из студентов сдавал историю или геометрию. Таким образом, в данном случае мы говорим, изучал ли студент «История» ИЛИ изучал ли он «Геометрия» (Ctrl+G).
Sub ChitatObektOcenki() Dim i As Long, marks As Long ' Пройдите столбцы отметок For i = 2 To 11 marks = Sheet1.Range("D" & i).Value ' Проверьте, если отметки больше 50 и меньше 80 If marks = "История" Or marks = "Геометрия" Then ' Напечатайте имя и фамилию в Immediate window (Ctrl+G) Debug.Print Sheet1.Range("A" & i).Value & " " & Sheet1.Range("B" & i).Value End If Next End Sub
Результаты:
- Василий Кочин
- Александр Грохотов
- Дмитрий Маренин
- Николай Куликов
- Олеся Клюева
- Наталия Теплых
- Дмитрий Андреев
Использование нескольких таких условий часто является
источником ошибок. Эмпирическое правило, которое нужно помнить, должно быть
максимально простым.
Использование IF AND
And работает следующим образом:
Условие 1 | Условие 2 | Результат |
ИСТИНА | ИСТИНА | ИСТИНА |
ИСТИНА | ЛОЖЬ | ЛОЖЬ |
ЛОЖЬ | ИСТИНА | ЛОЖЬ |
ЛОЖЬ | ЛОЖЬ | ЛОЖЬ |
Что вы заметите, так это то, что And верно только тогда, когда все условия выполняются.
Использование IF OR
Ключевое слово OR работает следующим образом
Условие 1 | Условие 2 | Результат |
ИСТИНА | ИСТИНА | ИСТИНА |
ИСТИНА | ЛОЖЬ | ИСТИНА |
ЛОЖЬ | ИСТИНА | ИСТИНА |
ЛОЖЬ | ЛОЖЬ | ЛОЖЬ |
Что вы заметите, так это то, что OR ложно, только когда все условия ложны.
Смешивание And и Or может затруднить чтение кода и привести к ошибкам. Использование скобок может сделать условия более понятными.
Sub OrSAnd() Dim subject As String, marks As Long subject = "История" marks = 5 If (subject = "Геометрия" Or subject = "История") And marks >= 6 Then Debug.Print "ИСТИНА" Else Debug.Print "ЛОЖЬ" End If End Sub
Использование IF NOT
Также есть оператор NOT. Он возвращает противоположный результат условия.
Условие | Результат |
ИСТИНА | ЛОЖЬ |
ЛОЖЬ | ИСТИНА |
Следующие две строки кода эквивалентны.
If marks < 40 Then If Not marks >= 40 Then
так же, как и
If True Then If Not False Then
и
If False Then If Not True Then
Помещение условия в круглые скобки облегчает чтение кода
If Not (marks >= 40) Then
Распространенное использование Not — при проверке, был ли установлен объект. Возьмите Worksheet для примера. Здесь мы объявляем рабочий лист.
Dim mySheet As Worksheet ' Некоторый код здесь
Мы хотим проверить действительность mySheet перед его использованием. Мы можем проверить, если это Nothing.
If mySheet Is Nothing Then
Нет способа проверить, является ли это чем-то, поскольку есть много разных способов, которым это может быть что-то. Поэтому мы используем NOT с Nothing.
If Not mySheet Is Nothing Then
Если вы находите это немного запутанным, вы можете использовать круглые скобки, как здесь
If Not (mySheet Is Nothing) Then
Функция IIF
VBA имеет функцию, аналогичную функции Excel If. В Excel вы часто используете функцию If следующим образом:
= ЕСЛИ (F2 =»»,»», F1 / F2)
Формат
= If (условие, действие, если ИСТИНА, действие, если ЛОЖЬ).
VBA имеет функцию IIf, которая работает так же. Давайте посмотрим на примере. В следующем коде мы используем IIf для проверки значения переменной val. Если значение больше 10, мы печатаем ИСТИНА, в противном случае мы печатаем ЛОЖЬ.
Sub ProveritVal() Dim result As Boolean Dim val As Long ' Печатает ИСТИНА val = 11 result = IIf(val > 10, ИСТИНА, ЛОЖЬ) Debug.Print result ' печатает ЛОЖЬ val = 5 result = IIf(val > 10, ИСТИНА, ЛОЖЬ) Debug.Print result End Sub
В нашем следующем примере мы хотим распечатать «Удовлетворитеьно» или «Незачет» рядом с каждым студентом в зависимости от их баллов. В первом фрагменте кода мы будем использовать обычный оператор VBA If, чтобы сделать это.
Sub ProveritDiapazonOcenok() Dim i As Long, marks As Long For i = 2 To 11 ' Хранить оценки для текущего студента marks = Sheet1.Range("C" & i).Value ' Проверьте, прошел ли студент или нет If marks >= 40 Then ' Запишите имена для столбца F Sheet1.Range("E" & i) = "Удовлетворительно" Else Sheet1.Range("E" & i) = "Незачет" End If Next End Sub
В следующем фрагменте кода мы будем использовать функцию IIf. Код здесь намного аккуратнее.
Sub ProveritDiapazonOcenok () Dim i As Long, marks As Long For i = 2 To 11 ' Хранить оценки для текущего студента marks = Sheet1.Range("C" & i) ' Проверьте, прошел ли студент или нет Sheet1.Range("E" & i).Value = IIf(marks >= 40,"Удовлетворительно","Незачет") Next End Sub
Функция IIf очень полезна для простых случаев, когда вы имеете дело с двумя возможными вариантами.
Использование Nested IIf
Вы также можете вкладывать IIf-операторы, как в Excel. Это означает использование результата одного IIf с другим. Давайте добавим еще один тип результата в наши предыдущие примеры. Теперь мы хотим напечатать «Отлично», «Удовлетворительно» или «Незачетт» для каждого студента.
Используя обычный VBA, мы сделали бы это так
Sub ProveritRezultatiTip2() Dim i As Long, marks As Long For i = 2 To 11 ' Хранить оценки для текущего студента marks = Sheet1.Range("C" & i).Value If marks >= 75 Then Sheet1.Range("E" & i).Value = "Отлично" ElseIf marks >= 40 Then ' Запишите имена для столбца F Sheet1.Range("E" & i).Value = "Удовлетворительно" Else Sheet1.Range("E" & i).Value = "Незачет" End If Next End Sub
Используя вложенные IIfs, мы могли бы сделать это так
Sub IspNestedIIF() Dim i As Long, marks As Long, result As String For i = 2 To 11 marks = Sheet1.Range("C" & i).Value result = IIf(marks >= 55,"Хорошо",IIf(marks >= 40,"Удовлетворительно","Незачет")) Sheet1.Range("E" & i).Value = result Next End Sub
Использование вложенного IIf хорошо в простых случаях, подобных этому. Код прост для чтения и, следовательно, вряд ли вызовет ошибки.
Чего нужно остерегаться
Важно понимать, что функция IIf всегда оценивает как
Истинную, так и Ложную части выражения независимо от условия.
В следующем примере мы хотим разделить по баллам, когда он не равен нулю. Если он равен нулю, мы хотим вернуть ноль.
marks = 0 total = IIf(marks = 0, 0, 60 / marks)
Однако, когда отметки равны нулю, код выдаст ошибку «Делить на ноль». Это потому, что он оценивает как Истинные, так и Ложные утверждения. Здесь ложное утверждение, т.е. (60 / Marks), оценивается как ошибка, потому что отметки равны нулю.
Если мы используем нормальный оператор IF, он будет
запускать только соответствующую строку.
marks = 0 If marks = 0 Then 'Выполняет эту строку только когда отметки равны нулю total = 0 Else 'Выполняет только эту строку, когда отметки не равны нулю total = 60 / marks End If
Это также означает, что если у вас есть функции для ИСТИНА и ЛОЖЬ, то обе будут выполнены. Таким образом, IIF будет запускать обе функции, даже если он использует только одно возвращаемое значение. Например:
' Обе функции будут выполняться каждый раз total = IIf(marks = 0, Func1, Func2)
IF против IIf
Так что лучше?
В этом случае вы можете видеть, что IIf короче для написания и аккуратнее. Однако если условия усложняются, вам лучше использовать обычное выражение If. Недостатком IIf является то, что он недостаточно известен, поэтому другие пользователи могут не понимать его так же, как и код, написанный с помощью обычного оператора if.
Кроме того, как мы обсуждали в последнем разделе, IIF всегда оценивает части ИСТИНА и ЛОЖЬ, поэтому, если вы имеете дело с большим количеством данных, оператор IF будет быстрее.
Мое эмпирическое правило заключается в том, чтобы
использовать IIf, когда
он будет прост для чтения и не требует вызовов функций. Для более сложных
случаев используйте обычный оператор If.
Использование Select Case
Оператор Select Case
— это альтернативный способ написания статистики If с большим количеством ElseIf. Этот тип операторов
вы найдете в большинстве популярных языков программирования, где он называется
оператором Switch. Например,
Java, C #, C ++ и Javascript
имеют оператор switch.
Формат
Select Case [переменная] Case [условие 1] Case [условие 2] Case [условие n] Case Else End Select
Давайте возьмем наш пример DobClass сверху и перепишем его с помощью оператора Select Case.
Sub DobavitClass() ' получить последнюю строку Dim startRow As Long, lastRow As Long startRow = 2 lastRow = Sheet1.Cells(Sheet1.Rows.Count, 1).End(xlUp).Row Dim i As Long, Marks As Long Dim sClass As String ' Пройдите столбцы отметок For i = startRow To lastRow Marks = Sheet1.Range("C" & i).Value ' Проверьте отметки и классифицируйте соответственно If Marks >= 85 Then sClass = "Высший балл" ElseIf Marks >= 75 Then sClass = "Отлично" ElseIf Marks >= 55 Then sClass = "Хорошо" ElseIf Marks >= 40 Then sClass = "Удовлетворительно" Else ' Для всех других оценок sClass = "Незачет" End If ' Запишите класс в столбец E Sheet1.Range("E" & i).Value = sClass Next End Sub
Ниже приведен тот же код с использованием оператора Select Case. Главное, что вы заметите, это то, что мы используем “Case 85 to 100” rather than “marks >=85 And marks <=100”. , а не “marks >=85 And marks <=100”.
Sub DobavitClassSSelect() ' получить первую и последнюю строки Dim firstRow As Long, lastRow As Long firstRow = 2 lastRow = Cells(Cells.Rows.Count, 1).End(xlUp).Row Dim i As Long, marks As Long Dim sClass As String ' Пройдите столбцы отметок For i = firstRow To lastRow marks = Sheet1.Range("C" & i).Value ' Проверьте отметки и классифицируйте соответственно Select Case marks Case 85 To 100 sClass = "Высший балл" Case 75 To 84 sClass = "Отлично" Case 55 To 74 sClass = "Хорошо" Case 40 To 54 sClass = "Удовлетворительно" Case Else ' Для всех других оценок sClass = "Незачет" End Select ' Запишите класс в столбец E Sheet1.Range("E" & i).Value = sClass Next End Sub
Использование Case Is
Вы можете переписать оператор select в том же формате, что и оригинальный ElseIf. Вы можете использовать Is с Case.
Select Case marks Case Is >= 85 sClass = "Высший балл" Case Is >= 75 sClass = "Отлично" Case Is >= 55 sClass = "Хорошо" Case Is >= 40 sClass = "Удовлетворительно" Case Else ' Для всех других оценок sClass = "Незачет" End Select
Вы можете использовать Is для проверки нескольких значений.
В следующем коде мы проверяем, равны ли оценки 5, 7 или 9.
Sub TestNeskZnach() Dim marks As Long marks = 7 Select Case marks Case Is = 5, 7, 9 Debug.Print True Case Else Debug.Print False End Select End Sub
Попробуйте это упражнение
В этой статье много рассказывали о выражении If. Хороший способ помочь вам понять — это попытаться написать код, используя темы, которые мы рассмотрели. В следующем упражнении используются тестовые данные из этой статьи. Ответ на упражнение ниже.
Мы будем использовать ячейку G1, чтобы написать имя
субъекта.
В колонках от H до L запишите всех студентов, которые имеют оценки по этому предмету. Мы хотим классифицировать их результат как успешный или неудачный. Оценка ниже 40 — неудача, оценка 40 или выше — Зачет.
Колонка H: Имя
Колонка I: Фамилия
Колонка J: Баллы
Колонка H: Предмет
Столбец I: Тип результата — Зачет или Незачет
Если ячейка G1 содержит «Геометрия», то ваш результат должен выглядеть следующим образом:
Ответ на упражнение
Следующий код показывает, как выполнить вышеупомянутое упражнение.
Примечание: есть много способов выполнить задачу, поэтому не расстраивайтесь, если ваш код отличается.
Sub ZapisatRezultat() ' Получить тему Dim subject As String subject = Sheet1.Range("G1").Value If subject = "" Then Exit Sub End If ' Получить первый и последний ряд Dim firstRow As Long, lastRow As Long firstRow = 2 lastRow = Cells(Cells.Rows.Count, 1).End(xlUp).Row ' Очистить любой существующий вывод Sheet1.Range("H:L").ClearContents ' Отслеживать выходной ряд Dim outRow As Long outRow = 1 Dim i As Long, marks As Long, rowSubject As String ' Прочитать данные For i = firstRow To lastRow marks = Sheet1.Range("C" & i).Value rowSubject = Sheet1.Range("D" & i).Value If rowSubject = subject Then ' Запишите данные студента, если предмет Геометрия Sheet1.Range("A" & i & ":" & "D" & i).Copy Sheet1.Range("H" & outRow).PasteSpecial xlPasteValues ' Запишите Зачет или Незачет If marks < 40 Then Sheet1.Range("L" & outRow).Value = "Незачет" ElseIf marks >= 40 Then Sheet1.Range("L" & outRow).Value = "Зачет" End If ' Переместить вывод в следующую строку outRow = outRow + 1 End If Next i End Sub