Логический оператор ЕСЛИ в Excel применяется для записи определенных условий. Сопоставляются числа и/или текст, функции, формулы и т.д. Когда значения отвечают заданным параметрам, то появляется одна запись. Не отвечают – другая.
Логические функции – это очень простой и эффективный инструмент, который часто применяется в практике. Рассмотрим подробно на примерах.
Синтаксис функции ЕСЛИ с одним условием
Синтаксис оператора в Excel – строение функции, необходимые для ее работы данные.
=ЕСЛИ (логическое_выражение;значение_если_истина;значение_если_ложь)
Разберем синтаксис функции:
Логическое_выражение – ЧТО оператор проверяет (текстовые либо числовые данные ячейки).
Значение_если_истина – ЧТО появится в ячейке, когда текст или число отвечают заданному условию (правдивы).
Значение,если_ложь – ЧТО появится в графе, когда текст или число НЕ отвечают заданному условию (лживы).
Пример:
Оператор проверяет ячейку А1 и сравнивает ее с 20. Это «логическое_выражение». Когда содержимое графы больше 20, появляется истинная надпись «больше 20». Нет – «меньше или равно 20».
Внимание! Слова в формуле необходимо брать в кавычки. Чтобы Excel понял, что нужно выводить текстовые значения.
Еще один пример. Чтобы получить допуск к экзамену, студенты группы должны успешно сдать зачет. Результаты занесем в таблицу с графами: список студентов, зачет, экзамен.
Обратите внимание: оператор ЕСЛИ должен проверить не цифровой тип данных, а текстовый. Поэтому мы прописали в формуле В2= «зач.». В кавычки берем, чтобы программа правильно распознала текст.
Функция ЕСЛИ в Excel с несколькими условиями
Часто на практике одного условия для логической функции мало. Когда нужно учесть несколько вариантов принятия решений, выкладываем операторы ЕСЛИ друг в друга. Таким образом, у нас получиться несколько функций ЕСЛИ в Excel.
Синтаксис будет выглядеть следующим образом:
=ЕСЛИ(логическое_выражение;значение_если_истина;ЕСЛИ(логическое_выражение;значение_если_истина;значение_если_ложь))
Здесь оператор проверяет два параметра. Если первое условие истинно, то формула возвращает первый аргумент – истину. Ложно – оператор проверяет второе условие.
Примеры несколько условий функции ЕСЛИ в Excel:
Таблица для анализа успеваемости. Ученик получил 5 баллов – «отлично». 4 – «хорошо». 3 – «удовлетворительно». Оператор ЕСЛИ проверяет 2 условия: равенство значения в ячейке 5 и 4.
В этом примере мы добавили третье условие, подразумевающее наличие в табеле успеваемости еще и «двоек». Принцип «срабатывания» оператора ЕСЛИ тот же.
Расширение функционала с помощью операторов «И» и «ИЛИ»
Когда нужно проверить несколько истинных условий, используется функция И. Суть такова: ЕСЛИ а = 1 И а = 2 ТОГДА значение в ИНАЧЕ значение с.
Функция ИЛИ проверяет условие 1 или условие 2. Как только хотя бы одно условие истинно, то результат будет истинным. Суть такова: ЕСЛИ а = 1 ИЛИ а = 2 ТОГДА значение в ИНАЧЕ значение с.
Функции И и ИЛИ могут проверить до 30 условий.
Пример использования оператора И:
Пример использования функции ИЛИ:
Как сравнить данные в двух таблицах
Пользователям часто приходится сравнить две таблицы в Excel на совпадения. Примеры из «жизни»: сопоставить цены на товар в разные привозы, сравнить балансы (бухгалтерские отчеты) за несколько месяцев, успеваемость учеников (студентов) разных классов, в разные четверти и т.д.
Чтобы сравнить 2 таблицы в Excel, можно воспользоваться оператором СЧЕТЕСЛИ. Рассмотрим порядок применения функции.
Для примера возьмем две таблицы с техническими характеристиками разных кухонных комбайнов. Мы задумали выделение отличий цветом. Эту задачу в Excel решает условное форматирование.
Исходные данные (таблицы, с которыми будем работать):
Выделяем первую таблицу. Условное форматирование – создать правило – использовать формулу для определения форматируемых ячеек:
В строку формул записываем: =СЧЕТЕСЛИ (сравниваемый диапазон; первая ячейка первой таблицы)=0. Сравниваемый диапазон – это вторая таблица.
Чтобы вбить в формулу диапазон, просто выделяем его первую ячейку и последнюю. «= 0» означает команду поиска точных (а не приблизительных) значений.
Выбираем формат и устанавливаем, как изменятся ячейки при соблюдении формулы. Лучше сделать заливку цветом.
Выделяем вторую таблицу. Условное форматирование – создать правило – использовать формулу. Применяем тот же оператор (СЧЕТЕСЛИ).
Скачать все примеры функции ЕСЛИ в Excel
Здесь вместо первой и последней ячейки диапазона мы вставили имя столбца, которое присвоили ему заранее. Можно заполнять формулу любым из способов. Но с именем проще.
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Еще…Меньше
Функция ОБЪЕДИНИТЬ объединяет текст из нескольких диапазонов и (или) строк, вставляя между текстовыми значениями указанный разделитель. Если в качестве разделителя используется пустая текстовая строка, функция эффективно объединит диапазоны.
Синтаксис
ОБЪЕДИНИТЬ(разделитель; игнорировать_пустые; текст1; [текст2]; …)
Аргумент |
Описание |
---|---|
Разделитель |
Текстовая строка (пустая или с символами в двойных кавычках) или ссылка на действительную текстовую строку. Введенные числа будут считаться текстом. |
ignore_empty |
В случае значения ИСТИНА игнорирует пустые ячейки. |
текст1 |
Элемент текста, который нужно присоединить. Текстовая строка или массив строк, например диапазон ячеек. |
[текст2, …] |
Дополнительные текстовые элементы для объединения. Для текстовых элементов можно указать до 252 аргументов, включая текст1. Каждый из них может быть текстовой строкой или массивом строк, например диапазоном ячеек. |
Например, выражение =ОБЪЕДИНИТЬ(» «;ИСТИНА; «Не»; «слышны»; «в»; «саду»; «даже»; «шорохи.») вернет строку Не слышны в саду даже шорохи.
Примечания
-
Если объединенная строка содержит более 32767 символов (ограничение для ячейки), функция ОБЪЕДИНИТЬ вернет ошибку #ЗНАЧ!.
Примеры
Скопируйте данные примеров из приведенных ниже таблиц и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.
Пример 1
Валюта |
|
---|---|
доллар США |
|
австралийский доллар |
|
китайский юань |
|
гонконгский доллар |
|
израильский шекель |
|
южнокорейская вона |
|
российский рубль |
|
Формула: |
=ОБЪЕДИНИТЬ(«, «; ИСТИНА; A2:A8) |
Результат: |
доллар США, австралийский доллар, китайский юань, гонконгский доллар, израильский шекель, южнокорейская вона, российский рубль |
Пример 2
A |
B’s |
---|---|
a1 |
b1 |
a2 |
b2 |
a4 |
b4 |
a5 |
b5 |
a6 |
b6 |
a7 |
b7 |
Формула: |
=ОБЪЕДИНИТЬ(«, «; ИСТИНА; A2:B8) |
Результат: |
a1, b1, a2, b2, a4, b4, a5, b5, a6, b6, a7, b7 Если в качестве значения аргумента «игнорировать_пустые» используется ЛОЖЬ, результат будет следующим: a1, b1, a2, b2, , , a4, b4, a5, b5, a6, b6, a7, b7 |
Пример 3
Город |
Субъект |
Индекс |
Страна |
---|---|---|---|
Тула |
Тульская обл. |
74133 |
Россия |
Красноярск |
Красноярский край |
98109 |
Россия |
Москва |
Московская обл. |
08830 |
Россия |
Хабаровск |
Хабаровский край |
33309 |
Россия |
Воронеж |
Воронежская обл. |
85285 |
Россия |
конец |
|||
, |
, |
, |
; |
Формула: |
=ОБЪЕДИНИТЬ(A8:D8; ИСТИНА; A2:D7) |
||
Результат: |
Тула,Тульская обл.,591843,Россия;Красноярск,Красноярский край,654321,Россия;Москва,Московская обл.,125130,Россия;Хабаровск,Хабаровский край,333091,Россия;Воронеж,Воронежская обл.,394000,Россия;конец |
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
См. также
Функция СЦЕПИТЬ
Функция СЦЕП
Общие сведения о формулах в Excel
Рекомендации, позволяющие избежать появления неработающих формул
Поиск ошибок в формулах
Сочетания клавиш и горячие клавиши в Excel
Текстовые функции (справочник)
Функции Excel (по алфавиту)
Функции Excel (по категориям)
Нужна дополнительная помощь?
Функция ЕСЛИ в Excel на простом примере
Смотрите также данными. Главное, сохраните сотню ячеек с Alt+F8 или кнопкой в одном -Это универсальный и компактный целое, позволяя комбинироватьDophin: То что надо вводе формулы условного случае возвращается значение закрывающая скобка после В этом случаеИмя аргумента.в остальных случаях.является очень гибкойФункция структуру и подробнее
Коротко о синтаксисе
формулами на разныхМакросы кнопка способ сцепки, работающий
их с произвольным
: на вба не :) форматирования без знака ЛОЖЬ. В этом условий. Аргументы ИСТИНА оба условия имеютОписаниеИтак, в этом урокеЧтобы решить эту задачу, и ее можноЕСЛИ опишите, что есть листах.
на вкладке РазработчикОбъединить и поместить в абсолютно во всех текстом. Например, вот сложно)Спасибо. равенства (=). При случае A5 больше
Пример 1
и ЛОЖЬ относятся значение ИСТИНА, поэтомулог_выражение мы рассмотрели логическую введем в ячейку применять в различныходна из самых и что хотитеЕсть ячейка D9,(Developer — Macros) центре (Merge and версиях Excel. так:давайте примерDophin
Пример 2
этом в формулу B2, поэтому формула ко внешнему оператору функция возвращает значение(обязательно) функцию C3 следующую формулу: ситуациях. Рассмотрим еще популярных и часто получить в результате.
в которой стоит, то Excel объединит Center)ДляНюанс: не забудьте оSerge: так всяко получше будут добавлены знак возвращает значение ЛОЖЬ. ЕСЛИ. Кроме того, ИСТИНА.Условие, которое нужно проверить.
- ЕСЛИ=ЕСЛИ(B3>60;»Отлично»;ЕСЛИ(B2>45;»Хорошо»;»Плохо»)) один пример. В используемых функций Excel.
- bmv98rus формула выделенные ячейки вв Excel объединять-тосуммирования
- пробелах между словами: Нет, наверное не будет) равенства и кавычки:Вы также можете использовать вы можете использовать=ЕСЛИ(И(A3=»красный»;B3=»зеленый»);ИСТИНА;ЛОЖЬ)
- значение_если_истинаво всей ееи нажмем таблице ниже приведены Используя ее совместно
Функция ЕСЛИ и несколько условий
:=СУММ(D5:D8) одну, слив туда ячейки умеет, асодержимого нескольких ячеек — их надо список всё-же.Guest=»ИЛИ(A4>B2;A4. Вам потребуется удалить операторы И, ИЛИ текстовые или числовыеЕсли A3 («синий») =(обязательно) красе и примерах,Enter результаты переаттестации сотрудников с операторами сравненияStrateg_ru. Рядом ячейка же и текст вот с текстом используют знак плюс
- прописывать как отдельныеБлин, нарисовали бы: А если усложнить кавычки, чтобы формула и НЕ в значения вместо значений «красный» и B3
- Значение, которое должно возвращаться, а также разобрали. фирмы: и другими логическими, Е9, с формулой через пробелы. сложность — в « аргументы и заключать файл, сразу стало задачу) работала. формулах условного форматирования. ИСТИНА и ЛОЖЬ, («зеленый») равно «зеленый», если лог_выражение имеет простой пример с
- Данная формула обрабатывает сразуВ столбец C нам функциями Excel, можноКак я понял, Код=СУММ(E5:E8). В ячейкеПомогите написать две формулы живых остается только+
в скобки, ибо бы ясно.Можно ли сделатьК началу страницы При этом вы которые возвращаются в возвращается значение ИСТИНА, значение ИСТИНА. использованием сразу нескольких два условия. Сначала необходимо выставить результат решать достаточно сложные есть набор последовательных D10 я складываю в одну ячейку… текст из верхней», а для текст.2007: Офис-Параметры-Дополнительно-Показывать формулы формулу не в
Benq можете опустить функцию примерах. в противном случаезначение_если_ложь функций проверяется первое условие: экзамена, который должен
задачи. В этом вычмслений, которые надо значения первой и не как не левой ячейки.склеиванияОчевидно, что если нужно2003: Сервис-Параметры-Вид-Показывать формулы одну строчку с: Возможно ли? Можно ЕСЛИ.Вот несколько примеров использования возвращается значение ЛОЖЬ.(необязательно)ЕСЛИB3>60 содержать всего два уроке мы попробуем
собрать в одну
office-guru.ru
Использование ЕСЛИ с функциями И, ИЛИ и НЕ
второй, путём Код=D9+E9. разберусь ( естьЧтобы объединение ячеек происходилосодержимого ячеек используют собрать много фрагментов, (могу ошибаться) делением косой чертой,
-
ли сделать вНа вкладке операторов И, ИЛИ В этом случае
Значение, которое должно возвращаться,в одной формуле.. Если оно истинно, варианта: разобрать ее действие большую формулу.Вопрос! Можно ли количество четных (G1-G6) с объединением текста знак « то использовать этуТак надо? а двухэтажной (числитель, одну ячейку записьГлавная и НЕ для только одно условие если лог_выражение имеет Надеюсь, что эта то формула возвращает
Технические сведения
Сдал на простых примерах,Ну как видно как-то автоматически получить и нечетных (H1=H6)
(как в таблицах
-
& функцию уже не
-
Guest знаменатель). Чтобы смотрелось
-
с сылками из
выберите |
оценки дат. |
|
имеет значение ИСТИНА, значение ЛОЖЬ. |
информация была для |
|
значение «Отлично», аили |
а также научимся на примере, не результат как в |
|
чисел, нужна формула Word) придется использовать |
» (расположен на большинстве очень удобно, т.к.: То что надо |
|
красиво. нескольких ячеек?Условное форматирование > Создать правилоНиже приведены формулы с поэтому возвращается значениеОбщие сведения об использовании Вас полезной. Удачи остальные условия не
-
Не сдал использовать сразу несколько всегда простая подстановка ячейке Е10?
-
которая покажет их макрос. Для этого клавиатур на цифре придется прописывать ссылки
-
:)DophinНужно получить запись. Затем выберите параметр
Примеры
расшифровкой их логики. ЛОЖЬ. этих функций по Вам и больших обрабатываются. Если первое. Те, кто набрал функций именно то чтоКопировать вручную - количество в одной откройте редактор Visual «7»). При его на каждую ячейку-фрагментСпасибо.: ну народ пошел) такого вида A=(B*C)/D=
Использовать формулу для определенияФормула
=ЕСЛИ(ИЛИ(A4>0;B4 |
отдельности см. в |
успехов в изучении |
условие ложно, то более 45 балловЕСЛИ надо, но если уже не вариант ячейке (как в Basic на вкладке использовании необходимо помнить, по отдельности. Поэтому,Dophin палец в рот |
E(результат). Значения B,C |
форматируемых ячеекОписаниеЕсли A4 (25) больше следующих статьях: И, Microsoft Excel! функция – сдали экзамен,в одной формуле. надо то скорее — очень глубокая ящейках K1-K6 их |
Разработчик - |
что: начиная с 2016: так всяко получше не клади и D должны, введите формулу и=ЕСЛИ(A2>B2;ИСТИНА;ЛОЖЬ) нуля или B4 ИЛИ, НЕ. ПриАвтор: Антон АндроновЕСЛИ остальные нет.Функция всего можно написать |
вложенность. Оставляю первоначальные |
там я самVisual Basic (Developer -Этот символ надо ставить версии Excel, на будет)наверно можно - браться из ячеек примените формат.Если A2 больше B2, (75) меньше 50, сочетании с оператором |
Функция ЕСЛИ позволяет выполнять |
переходит ко второму:Выделите ячейку, в которуюЕСЛИ програмульку, которая будет формулы на своих пока написал чтоб Visual Basic) в каждой точке замену функции |
Guest |
но крайне скучно таблицы. Именно запись,»Изменить правило» с возвращается значение ИСТИНА, возвращается значение ИСТИНА, |
ЕСЛИ они расшифровываются логические сравнения значенийB2>45 необходимо ввести формулу.имеет всего три рекурсивно в формулу местах для возможности показать Вам)или сочетанием клавиш соединения, т.е. наСЦЕПИТЬ: А если усложнить и очень много
т.к. E(результат) уже параметром «Формула»» /> в противном случае в противном случае
следующим образом: и ожидаемых результатов.
. Если второе условие |
В нашем случае |
аргумента: |
подставлять те формулы быстро поправить иOlgosh Alt+F11, вставим в всех «стыках» текстовыхпришла ее более задачу) напильником пилить придется. |
имеется. Смысл этого |
Вот как будут выглядеть возвращается значение ЛОЖЬ. возвращается значение ЛОЖЬ.И Она проверяет условие истинно, то формула это ячейка C3.=ЕСЛИ(заданное_условие; значение_если_ИСТИНА; значение_если_ЛОЖЬ) которые в ячейках |
не запутаться в |
: Странная идея, но нашу книгу новый строк также, как совершенная версия сМожно ли сделать вообщем нельзя) всего пояснить расчет формулы для примеров В этом случае В этом случае: =ЕСЛИ(И(условие; другое условие); и в зависимости возвращает значение «Хорошо»,Введите в нее выражение:Первый аргумент – это на которые ссылается «мегаформуле». Но одновременно сделать так можно. программный модуль (меню |
вы ставите несколько |
похожим названием и формулу не вBenq выполненный в таблице с датами: 12.03.14 больше чем только первое условие значение, если ИСТИНА; |
Использование операторов И, ИЛИ и НЕ с условным форматированием
от его истинности а если ложно,=ЕСЛИ(B3>45; «Сдал»; «Не сдал») условие, благодаря которому первая формула и возникает задача -Нужно взять функцию
Insert — Module плюсов при сложении тем же синтаксисом одну строчку с: Возможно ли? Можно (расписать расчет поФормула 01.01.14, поэтому формула имеет значение ИСТИНА,
значение, если ЛОЖЬ) возвращает результат.
то «Плохо».и нажмите формула может принимать
так до того |
эту формулу растянуть |
объединяющую строки и |
) и скопируем туда нескольких чисел (2+8+6+4+8) — функция делением косой чертой, |
ли сделать в |
формуле).Описание возвращает значение ИСТИНА. но поскольку дляИЛИ |
=ЕСЛИ(это истинно, то сделать |
Скопировав формулу в остальныеEnter решения. Условие проверяется момента пока в на сотню строк. |
сунуть туда: |
текст такого простогоЕсли нужно приклеить произвольныйСЦЕП (CONCAT) а двухэтажной (числитель, одну ячейку записьМожно конечно составить=A2>B2=ЕСЛИ(И(A3>B2;A3 ИЛИ требуется, чтобы: =ЕСЛИ(ИЛИ(условие; другое условие); это, в противном ячейки таблицы, можно. в самую первую |
аргументах не останется Растягивать все вспомогательные1. Результат количества макроса: текст (даже если. Ее принципиальное отличие знаменатель). Чтобы смотрелось с сылками из запись из несколькихЕсли A2 больше B2,Если A3 больше B2
только один аргумент
support.office.com
Несколько функций в одной ячейке
значение, если ИСТИНА; случае сделать что-то увидеть, что наДанная формула сравнивает значение очередь и способно только функции, константы
формулы — не нечетных 2. несколькоSub MergeToOneCell() Const это всего лишь в том, что красиво. нескольких ячеек? ячеек, но это отформатировать ячейку, в И меньше C2, был истинным, формула значение, если ЛОЖЬ)
еще) отлично сдал один в ячейке B3 вернуть всего два и ячейки со
вариант. пробелов 3.Результат количества sDELIM As String точка или пробел,
теперь в качествеDophinНужно получить запись будет не красиво противном случае не возвращается значение ИСТИНА, возвращает значение ИСТИНА.НЕ
Но что делать, если человек, а на
с числом 45, значения – ИСТИНА значениями, но меня
В функционале Excel
четных = » « не говоря уж
аргументов можно задавать: ну народ пошел) такого вида A=(B*C)/D=
смотреться…
выполнять никаких действий. в противном случае
=ЕСЛИ(ИЛИ(A5=»красный»;B5=»зеленый»);ИСТИНА;ЛОЖЬ)
: =ЕСЛИ(НЕ(условие); значение, если необходимо проверить несколько оценки хорошо и
если значение больше
или ЛОЖЬ. Если смущает анализ строки такой возможности не
Abram pupkin ‘символ-разделитель Dim rCell о целом слове),
не одиночные ячейки, палец в рот E(результат). Значения B,CSerge=И(A3>B2;A3 возвращается значение ЛОЖЬ.Если значение A5 («синий»)
ИСТИНА; значение, если условий, где, допустим, плохо по два 45, то возвращает
условие истинно, то и поиск именно нашёл. Поиск ничего: =СУММПРОИЗВ (НЕ (A55555:D55555)*(ОСТАТ As Range Dim
planetaexcel.ru
Несколько функций в одной ячейке
то этот текст а целые диапазоны не клади и D должны: Чего-то непонятно, аЕсли A3 больше B2
В этом случае равно «красный» или ЛОЖЬ) все условия должны человека. строку «Сдал», иначе формула вернет второй адреса ячейки в не дал. (A1:D1;2)=0))&ПОВТОР (» «;9)&СУММПРОИЗВ sMergeStr As String надо заключать в
— текст изнаверно можно - браться из ячеек обычная формула разве И меньше C2,
оба аргумента истинны, значение B5 («зеленый»)Ниже приведены примеры распространенных иметь значение ИСТИНА
Как видите, вместо второго «Не сдал». аргумент, в противном ней. Мне кажетсяЗаранее спасибо. (НЕ (A55555:D55555)*(ОСТАТ (A1:D1;2)=1)) If TypeName(Selection) <> кавычки. В предыдущем
всех ячеек всех но крайне скучно
таблицы. Именно запись, не это делает? отформатировать ячейку, в
поэтому формула возвращает
равно «зеленый», возвращается случаев использования вложенных или ЛОЖЬ (
и третьего аргументовСкопировав формулу в остальные случае третий.
это будет самым
Che79* убрать все
«Range» Then Exit
примере с функцией диапазонов будет объединен и очень много
т.к. E(результат) уже
Guest противном случае не значение ИСТИНА.
значение ИСТИНА, в операторов ЕСЛИ(И()), ЕСЛИ(ИЛИ())И
функции ячейки таблицы, можноО том, как задавать сложным.: пробелы Sub ‘если выделены
СЦЕПИТЬ о кавычках в одно целое: напильником пилить придется. имеется. Смысл этого
: Ячейка должна выдавать выполнять никаких действий.=ЕСЛИ(ИЛИ(A4>B2;A4 противном случае возвращается и ЕСЛИ(НЕ()). Функции
planetaexcel.ru
3 способа склеить текст из нескольких ячеек
), только одно условиеЕСЛИ увидеть, что 2 условия в Excel,krosav4ig
Strateg_ruИнтервал между числами не ячейки - заботится сам Excel
Для массового объединения также вообщем нельзя) всего пояснить расчет
не результат, а=ИЛИ(A4>B2;A4Если A4 больше B2
Способ 1. Функции СЦЕПИТЬ, СЦЕП и ОБЪЕДИНИТЬ
значение ЛОЖЬ. В И и ИЛИ должно иметь такоеможно подставлять новые человека из 5 читайте статьи: Как: можно использовать бесплатную, здравствуйте. Может, я можно регулировать числом выходим With Selection — в этом
удобно использовать новуюНадпись на заборе: «Катя выполненный в таблице сам вид формулы.Если A4 больше B2 ИЛИ меньше B2+60, этом случае второй
поддерживают до 255 значение ( функции не прошли переаттестацию. задать простое логическое надстройку FormulaDesk что-то не так «9» For Each rCell же случае их функцию + Миша + (расписать расчет по Т.е. необходимо получить ИЛИ меньше B2 + 60, возвращается значение ИСТИНА, аргумент имеет значение отдельных условий, ноИЛИЕСЛИФункции условие в ExcelStrateg_ru понял…. In .Cells sMergeStr надо ставить вручную.ОБЪЕДИНИТЬ (TEXTJOIN)
Семён + Юра формуле). текст в ячейке, отформатировать ячейку, в в противном случае ИСТИНА, поэтому формула рекомендуется использовать только
) или вы хотите, тем самым расширяя
ЕСЛИ
- и Используем логические: krosav4ig, спасибо! Это=СУММ(D5:D8;E5:E8)Полосатый жираф алик
- = sMergeStr &Вот, например, как можно, появившуюся начиная с + Дмитрий Васильевич
- Можно конечно составить составленный из ссылок противном случае не возвращается значение ЛОЖЬ.
возвращает значение ИСТИНА.
Способ 2. Символ для склеивания текста (&)
несколько условий, так убедиться, что данные число условий, котороеможно вкладывать друг
функции Excel для то, что надо!или , даже: =СУММПРОИЗВ (ОСТАТ (A1:D1;2)=0)&» sDELIM & rCell.Text собрать ФИО в Excel 2016. У + запись из нескольких из других ячеек. выполнять никаких действий. В этом случае=ЕСЛИ(НЕ(A6>50);ИСТИНА;ЛОЖЬ) как формулы сНЕ формула может обработать.
- в друга, если задания сложных условий.Значит теперь осталось так Код=СУММ(D5:E8). Хотя, «&СУММПРОИЗВ (ОСТАТ (A1:D1;2)=1) ‘собираем текст из одну ячейку из нее следующий синтаксис:
- товарищ Никитин + ячеек, но этоGuest=НЕ(A5>B2) первый аргумент равенЕсли A6 (25) НЕ большой степенью вложенностисоответствуют условию? Эти Таким образом, Вы необходимо расширить вариантыОбратимся к примеру, приведенному найти конвертор формул есть у меняВ чём проблема? ячеек Next rCell
трех с добавлением=ОБЪЕДИНИТЬ(Разделитель; Пропускать_ли_пустые_ячейки; Диапазон1; Диапазон2 рыжий сантехник + будет не красиво: Наверное так
Если A5 НЕ больше ИСТИНА, а второй больше 50, возвращается сложно создавать, тестировать три функции можно можете создать нужное принятия решений в на рисунках ниже.
Способ 3. Макрос для объединения ячеек без потери текста.
с английского на подозрение, что Ваш Чётные — связка Application.DisplayAlerts = False пробелов: … ) Витенька + телемастер смотреться…Dophin B2, отформатировать ячейку, — ЛОЖЬ. Так значение ИСТИНА, в и изменять. У использовать самостоятельно, но количество вложений. Правда Excel. Например, для В данном примере русский. Но это
реальный файл и через пробелы и ‘отключаем стандартное предупреждениеЕсли сочетать это сгде Жора +Serge: на вба не в противном случае как для оператора противном случае возвращается функции НЕ может они намного чаще есть очевидный недостаток рассмотренного ранее случая функция уже вопрос куда файл-пример это две
нечётные. о потере текста функцией извлечения изРазделительсволочь Редулов +: Чего-то непонятно, а сложно) не выполнять никаких ИЛИ требуется, чтобы значение ЛОЖЬ. В быть только одно встречаются в сочетании такой конструкции, после переаттестации сотрудников, требуетсяЕСЛИ попроще. большие разницы….Strateg_ru .Merge Across:=False ‘объединяем текста первых букв- символ, который не вспомнить имени, обычная формула разведавайте пример действий. В этом один из аргументов этом случае значение условие.
с функцией ЕСЛИ. 3-5 вложений формула проставить не результат,в первую очередьStrateg_ruStrateg_ru: Уважаемые эксперты! ячейки Application.DisplayAlerts = - будет вставлен между длинноволосый такой + не это делает?Serge
planetaexcel.ru
Excel.Как написать две формулы в одну ячейку?
случае A5 больше был истинным, формула не больше чемНиже приведены формулы сИспользуйте функцию ЕСЛИ вместе станет нечитаемой и а оценку из проверят условие: Che79, я с: Да…Подскажите, есть ли True .Item(1).Value =ЛЕВСИМВ (LEFT) фрагментами
ещё 19 мужиковGuest: Нет, наверное не
B2, поэтому формула возвращает значение ИСТИНА. 50, поэтому формула
расшифровкой их логики. с функциями И, громоздкой, и с ряда: Отлично, Хорошо
A1>25 этого и начал.Формулы с суммой способ свести в
Mid(sMergeStr, 1 +, то можно получить
Второй аргумент отвечает за + муж =: Ячейка должна выдавать
список всё-же.
возвращает значение ЛОЖЬ. Если вы используете возвращает значение ИСТИНА.
Формула ИЛИ и НЕ, ней будет невозможно и Плохо. Оценка
Автоматическое сведение нескольких формул в одну ячейку (Формулы/Formulas)
. Если это так, И тут же
— для примера. одну ячейку несколько Len(sDELIM)) ‘добавляем к фамилию с инициалами то, нужно ли любовь!»
не результат, аБлин, нарисовали бы Если изменить формулу мастер вычисления формул=ЕСЛИ(НЕ(A7=»красный»);ИСТИНА;ЛОЖЬ)Описание чтобы оценивать несколько
работать.Отлично то формула возвратит понял, что менять
Вопрос в наличии формул в автоматическом объед.ячейке суммарный текст одной формулой: игнорировать пустые ячейкиВ категории
сам вид формулы. файл, сразу стало на на вкладке «Формулы»,
Если значение A7 («синий»)=ЕСЛИ(И(A2>0;B2 условий.В Excel существуют болееставится при количестве текстовую строку «больше данные придётся пару функции… или может режиме, заместо Ctrl+C End With EndИмеем текст в нескольких (ИСТИНА или ЛОЖЬ)Текстовые Т.е. необходимо получить бы ясно.
=НЕ(B2>A5) вы увидите, как НЕ равно «красный»,Если A2 (25) больше
Синтаксис
благородные инструменты для баллов более 60, 25», в любом часов. И на макроса… — Ctrl+V. Sub
ячейках и желаниеДиапазон 1, 2, 3есть функция текст в ячейке,2007: Офис-Параметры-Дополнительно-Показывать формулы, она вернет значение Excel вычисляет формулу.
возвращается значение ИСТИНА, нуля и B2
ЕСЛИ(И()): ЕСЛИ(И(лог_выражение1; [лог_выражение2]; …), обработки большого количества оценка другом случае — ответ не повлияет.
Che79Поясню на простомТеперь, если выделить несколько — объединить эти… — диапазоныСЦЕПИТЬ (CONCATENATE) составленный из ссылок2003: Сервис-Параметры-Вид-Показывать формулы ИСТИНА, а ячейка=ЕСЛИ(НЕ(A5>B2);ИСТИНА;ЛОЖЬ)
в противном случае (75) меньше 100, значение_если_истина; [значение_если_ложь])) условий, например, функция
Хорошо «меньше или равно Поверьте, там есть: так покажите кусок примере, хотя задача
ячеек и запустить ячейки в одну, ячеек, содержимое которых, которая соединяет содержимое из других ячеек. (могу ошибаться) будет отформатирована.Если A5 не больше возвращается значение ЛОЖЬ. возвращается значение ИСТИНА,ЕСЛИ(ИЛИ()): ЕСЛИ(ИЛИ(лог_выражение1; [лог_выражение2]; …),ВПРпри более 45 25». две СУММ, которые реального файла. Если сделать это с этот макрос с слив туда же хотим склеить нескольких ячеек (доGuestТак надо?Примечание: B2, возвращается значение
Обратите внимание, что во в противном случае значение_если_истина; [значение_если_ложь]))
или и оценкаФункция
хотелось бы слить там присутствует конфиденциал, файлом, где под помощью сочетания клавиш их текст. ПроблемаНапример:
255) в одно: Наверное такGuest Типичная ошибка заключается в ИСТИНА, в противном всех примерах есть возвращается значение ЛОЖЬ.ЕСЛИ(НЕ()): ЕСЛИ(НЕ(лог_выражение1), значение_если_истина; [значение_если_ложь]))ПРОСМОТРПлохоЕСЛИ в одну формулу.
excelworld.ru
то замените нейтральными
Содержание материала
- Синтаксис функции ЕСЛИ с одним условием
- Видео
- Вместо ИСТИНА или ЛОЖЬ в первом аргументе введено число
- Расширение функционала с помощью операторов «И» и «ИЛИ»
- А если один из параметров не заполнен?
- Применение «ЕСЛИ» с несколькими условиями
- Сложные логические выражения
- Функция СЧЁТЕСЛИ
- Одновременное выполнение двух условий
- Вложенные ЕСЛИ (несколько условий)
- Сравнение данных в двух таблицах
- Функция ЕСЛИ в MS Excel с несколькими условиями
- Как задать функции ЕСЛИ через Построитель формул
- Объединяем несколько условий
Синтаксис функции ЕСЛИ с одним условием
Синтаксис оператора в Excel – строение функции, необходимые для ее работы данные.
=ЕСЛИ (логическое_выражение;значение_если_истина;значение_если_ложь)
Разберем синтаксис функции:
Логическое_выражение – ЧТО оператор проверяет (текстовые либо числовые данные ячейки).
Значение_если_истина – ЧТО появится в ячейке, когда текст или число отвечают заданному условию (правдивы).
Значение,если_ложь – ЧТО появится в графе, когда текст или число НЕ отвечают заданному условию (лживы).
Пример:
Оператор проверяет ячейку А1 и сравнивает ее с 20. Это «логическое_выражение». Когда содержимое графы больше 20, появляется истинная надпись «больше 20». Нет – «меньше или равно 20».
Внимание! Слова в формуле необходимо брать в кавычки. Чтобы Excel понял, что нужно выводить текстовые значения.
Еще один пример. Чтобы получить допуск к экзамену, студенты группы должны успешно сдать зачет. Результаты занесем в таблицу с графами: список студентов, зачет, экзамен.
Обратите внимание: оператор ЕСЛИ должен проверить не цифровой тип данных, а текстовый. Поэтому мы прописали в формуле В2= «зач.». В кавычки берем, чтобы программа правильно распознала текст.
Вместо ИСТИНА или ЛОЖЬ в первом аргументе введено число
Т.к. значение ЛОЖЬ эквивалентно 0, то формулы =ЕСЛИ(0;»Бюджет превышен»;»ОК!») или (если в ячейке A1 содержится значение 0) =ЕСЛИ(A1;»Бюджет превышен»;»ОК!») вернут ОК!
Если в ячейке A1 находится любое другое число кроме 0, то формула вернет Бюджет превышен . Такой подход удобен, когда проверяется равенство значения нулю значения ячейки.
Примечание : чтобы убедиться, что логическое значение ЛОЖЬ соответствует 0 введите формулу =—А1=0. В А1 введите ЛОЖЬ. Формула вернет ИСТИНА. Отметим, что логическое значение ЛОЖЬ именно соответствует 0, но не равно 0, т.к. формула =А1=0 вернет ЛОЖЬ, следовательно логическое значение ЛОЖЬ не равно 0. Железная логика!
Примечание : Двойное отрицание «—» — это просто математическая операция, которая приводит к преобразованию логического выражения в числовое, но не приводит к изменению самого значения. Двойное отрицание можно заменить сложением с 0 или возведением в первую степень: =(А1+0)=0.
Видео
Расширение функционала с помощью операторов «И» и «ИЛИ»
Когда нужно проверить несколько истинных условий, используется функция И. Суть такова: ЕСЛИ а = 1 И а = 2 ТОГДА значение в ИНАЧЕ значение с.
Функция ИЛИ проверяет условие 1 или условие 2. Как только хотя бы одно условие истинно, то результат будет истинным. Суть такова: ЕСЛИ а = 1 ИЛИ а = 2 ТОГДА значение в ИНАЧЕ значение с.
Функции И и ИЛИ могут проверить до 30 условий.
Пример использования оператора И:
Пример использования функции ИЛИ:
А если один из параметров не заполнен?
Если вас не интересует, что будет, к примеру, если интересующее вас условие не выполняется, тогда можно не вводить второй аргумент. К примеру, мы предоставляем скидку 10% в случае, если заказано более 100 единиц товара. Не указываем никакого аргумента для случая, когда условие не выполняется.
=ЕСЛИ(E2>100,F2*0.1)
Что будет в результате?
Насколько это красиво и удобно – судить вам. Думаю, лучше все же использовать оба аргумента.
И в случае, если второе условие не выполняется, но делать при этом ничего не нужно, вставьте в ячейку пустое значение.
=ЕСЛИ(E2>100,F2*0.1,»»)
Однако, такая конструкция может быть использована в том случае, если значение «Истина» или «Ложь» будут использованы другими функциями Excel в качестве логических значений.
Обратите также внимание, что полученные логические значения в ячейке всегда выравниваются по центру. Это видно и на скриншоте выше.
Более того, если вам действительно нужно только проверить какое-то условие и получить «Истина» или «Ложь» («Да» или «Нет»), то вы можете использовать следующую конструкцию –
=ЕСЛИ(E2>100,ИСТИНА,ЛОЖЬ)
Обратите внимание, что кавычки здесь использовать не нужно. Если вы заключите аргументы в кавычки, то в результате выполнения функции ЕСЛИ вы получите текстовые значения, а не логические.
Рассмотрим, как ещё можно использовать функцию ЕСЛИ.
Применение «ЕСЛИ» с несколькими условиями
Мы только что рассмотрели пример использования оператора «ЕСЛИ» с одним логическим выражением. Но в программе также имеется возможность задавать больше одного условия. При этом сначала будет проводиться проверка по первому, и в случае его успешного выполнения сразу отобразится заданное значение. И только если не будет выполнено первое логическое выражение, в силу вступит проверка по второму.
Рассмотрим наглядно на примере все той же таблицы. Но на этот раз усложним задачу. Теперь нужно проставить скидку на женскую обувь в зависимости от вида спорта.
Первое условия – это проверка пола. Если “мужской” – сразу выводится значение 0. Если же это “женский”, то начинается проверка по второму условию. Если вид спорта бег – 20%, если теннис – 10%.
Пропишем формулу для этих условий в нужной нам ячейке.
=ЕСЛИ(B2=”мужской”;0; ЕСЛИ(C2=”бег”;20%;10%))
Щелкаем Enter и получаем результат согласно заданным условиям.
Далее растягиваем формулу на все оставшиеся строки таблицы.
Сложные логические выражения
В аргументе Лог_выражение можно использовать как простые сравнения типа F1>10, так и более сложные конструкции на основе функций И(), ИЛИ(), НЕ() и их комбинаций.
Основное правило — логические функции и их комбинации возвращают только одно из 2х логических значений: ЛОЖЬ или ИСТИНА.
Приведем несколько полезных примеров.
Формула =ЕСЛИ(ИЛИ(A1;A2);0;2) проверяет одновременность равенства значений А1 и А2 нулю. Если оба значения равны 0, то формула вернет 2. Во всех других случаях будет возвращен 0. А1 и А2 не должны быть пустыми ячейками.
Формула =ЕСЛИ(ИЛИ(A1=0;A2=0);0;2) проверяет равенство 0 хотя бы одного значения из А1 и А2.
Формула =ЕСЛИ(НЕ(A1>0);1;2) эквивалентна формуле =ЕСЛИ(A1<=0;1;2)
Функция СЧЁТЕСЛИ
Данный оператор используется в Экселе, когда нужно посчитать количество ячеек, попадающих под определенное условие. Предположим, требуется узнать, сколько продавцов работает в компании:
- Добавляем строку с количеством продавцов и выделяем ячейку, куда планируется вывести результат.
- Кликаем по кнопке «Вставить функцию», расположенной во вкладке «Формулы» в меню. В открывшемся окне в поле «Категория» выбираем «Полный алфавитный перечень». В списке формул находим по алфавиту СЧЁТЕСЛИ, нажимаем «Ок».
- Заполняем аргументы функции — в поле «Диапазон» указываем ячейки с должностями, в «Критерии» пишем «продавец». Далее — «Ок».
- В результате получаем количество продавцов, работающих в компании. Эксель просто считает ячейки, где написано «продавец».
Одновременное выполнение двух условий
Также в Эксель существует возможность вывести данные по одновременному выполнению двух условий. При этом значение будет считаться ложным, если хотя бы одно из условий не выполнено. Для этой задачи применяется оператор «И».
Рассмотрим на примере нашей таблицы. Теперь скидка 30% будет проставлена только, если это женская обувь и предназначена для бега. При соблюдении этих условий одновременно значение ячейки будет равно 30%, в противном случае – 0.
Для этого используем следующую формулу:
=ЕСЛИ(И(B2=”женский”;С2=”бег”);30%;0)
Нажимаем клавишу Enter, чтобы отобразить результат в ячейке.
Аналогично примерам выше, растягиваем формулу на остальные строки.
Вложенные ЕСЛИ (несколько условий)
Для построения более сложных проверок в одной формуле можно использовать несколько функций ЕСЛИ(). Для этого в качестве значений аргументов значение_если_истина и значение_если_ложь введите еще одно условие с функцией ЕСЛИ(). Например, для проверки в какой диапазон попадает значение из ячейки А8 запишите формулу
=ЕСЛИ(A8<5;1;ЕСЛИ(A8>10;3;2))
- Если значение из ячейки А8 менее 5, то будет выведено 1
- Если значение из ячейки А8 более 10, то будет выведено 3
- Если значение из ячейки А8 между 5 и 10 (включая 5 и 8), то будет выведено 2
Примечание : В версии EXCEL 2007 можно использовать до 64 вложенных друг в друга функций ЕСЛИ(). Но, пожалуйста, не делайте так. Такой подход чреват ошибками.
Примечание : Формулу =ЕСЛИ(A8<5;1;ЕСЛИ(A8>10;3;2)) можно переписать как =ЕСЛИ(A8>=5;ЕСЛИ(A8>10;3;2);1) или ЕСЛИ(A8>=5;ЕСЛИ(A8>10;3;2);1)
или более сложный вариант =ЕСЛИ(A8<5;1;ЕСЛИ(И(5 < A8;A8<10);2;3)). Последний вариант позволяет последовательно перебирать диапазоны изменения А8, но требует знания работы логических функций.
Формула =ЕСЛИ(A8<5;1;ЕСЛИ(A8>10;3;2)) работает следующим образом: сначала вычисляется логическое выражение A8<5. Если оно истинно, то выводится 1, вычисления завершены. Если оно ложно, т.е. А8>=5, то EXCEL переходит к вычислению выражения ЕСЛИ(A8>10;3;2). Опять сначала вычисляется логическое выражение A8>10. Если оно истинно, то выводится 3, вычисления завершены. Если оно ложно, то выводится 2, вычисления завершены.
Чтобы грамотно написать формулу с вложенными ЕСЛИ() следуйте следующим простым правилам:
1) Определитесь с диапазонами:
1.1) они не должны пересекаться. В примере выше — 3 диапазона и значение из А8 гарантированно попадет только в один из них. Было бы ошибкой написать формулу типа =ЕСЛИ(A8<5;1;ЕСЛИ(A8>10;3;ЕСЛИ(A8<3;2;4))). Области значений у выражений A8<5 и A8<3 пересекаются и крайне сложно безошибочно прописывать такие условия. Такая формула просто не верна. Очевидно, что в этом случае 4 диапазона: меньше 3; от 3 до 5; от 5 до 10 и больше 10. Как прописать такие условия написано ниже в этом разделе.
1.2.) диапазоны должны полностью охватывать нужную область значений. Очевидно, что в формуле =ЕСЛИ(A8<5;1;ЕСЛИ(A8>10;3;2)) на интересует вся числовая ось от минус бесконечности до +бесконечности. И все 3 диапазона полностью покрывают эту область.
1.3.) Не забудьте ставить знак равно, чтобы при значениях А8 совпадающих с границами интервалов не было неправильных вычислений. Например, если в формуле =ЕСЛИ(A8>=5;ЕСЛИ(A8>10;3;2);1) забыть указать знак = в логическом выражении A8>=5, то при А8=5 формула =ЕСЛИ(A8>5;ЕСЛИ(A8>10;3;2);1) вернет 1, тогда как исходная формула вернет 2.
Примечание: В перечисленных выше случаях логические выражения вычисляются на основании одной переменной А8. Иногда нужно придумывать формулы с ЕСЛИ(), зависящие от 2-х и более ячеек: =ЕСЛИ(B8>=5;ЕСЛИ(A8>10;3;2);1). Это гораздо сложнее, но, конечно, возможно. Следуйте правилам 1.1)-1.3) и следите за диапазонами. Еще сложнее, если обе переменных являются зависимыми, т.е. например B8 вычисляется на основании А8. Написание таких формул требует предельной аккуратности и напрямую связано с корректностью формулирования самой задачи (возможно вы не продумали до конца как использовать такую сложную зависимость). Советую по возможности разбить вычисления на 2 или более формулы, чтобы проще контролировать результат вычисления.
2) Правильно записывайте логические выражения. Например, условие 5 < A8<10 в EXCEL не будет работать. В этом выражении фактически записано 2 условия. Нужно записать эти 2 условия по отдельности. Чтобы их объединить нужна функция И(): И(5 10;3;2)) в строке формул можно записать как
=ЕСЛИ(A8<5;1; ЕСЛИ(A8>10;3;2))
Для этого поставьте курсор перед вторым ЕСЛИ(), нажмите и удерживайте клавишу ALT, нажмите ENTER.
4) для отладки вложенных ЕСЛИ вместо реальных вычислений (V8*10%-37500) используйте простые значения — последовательности 1; 2; 3 … Это покажет какой блок вложенных ЕСЛИ() срабатывает.
5) В ряде случаев от вложенных ЕСЛИ можно отказаться. Рассмотрим пример определения размера проекта от его бюджета
=ЕСЛИ(A1>=100;»Очень крупный проект»; ЕСЛИ(A1>=90;»Крупный проект»; ЕСЛИ(A1>=50;»Средний проект»;»Малый проект «)))
Вышеуказанную формулу можно усложнять и дальше, но есть другие подходы. Ниже приведено 2 эквивалентные формулы:
=ПРОСМОТР(A1;{0;50;90;100};{«Малый проект»;»Средний проект»;»Крупный проект»;»Очень крупный проект»})
=ВПР(A1;A3:B6;2)
Для функции ВПР() необходимо создать в диапазоне A3:B6 таблицу значений:
Формула =ПРОСМОТР(A1;{0;50;90;100};{«Малый проект»;»Средний проект»;»Крупный проект»;»Очень крупный проект»}) выглядит необычно, но по сути второй аргумент {0;50;90;100}, как и третий аргумент {«Малый проект»;»Средний проект»;»Крупный проект»;»Очень крупный проект»} это запись содержимого 4-х ячеек. Вместо {0;50;90;100} можно записать ссылку на диапазон ячеек, содержащих 4 значения 0;50;90;100. Круглые скобки нужны, чтобы сообщить, что в функцию передается не одно значение, а целый массив.
Еще пример. Пусть требуется вывести разный текст (например «<0»; «=0» или «>0») в случае наличия в ячейке А1 отрицательного значения, положительного значения или 0. Это можно сделать без вложенных ЕСЛИ():
=ПРОСМОТР(A1;{-1E+307;0;1E-307};{«<0″;»=0″;»>0″})
Примечание : -1E+307 — это самое маленькое отрицательное число в EXCEL, 1E-307 — это самое маленькое положительное число. Таким образом задается 3 диапазона: от минус бесконечности до 0 (0 не включая); 0 (диапазон состоит только из одного значения 0); от 0 до +бесконечности (0 не включая).
Второй массив можно заменить ссылкой на диапазон, например для того чтобы вывести результат вычисления формул:
=ПРОСМОТР(A24;{-1E+307;0;1E-307};A27:A29)
Диапазон A27:A29 должен, понятно, содержать формулы (см. файл примера).
Сравнение данных в двух таблицах
Время от времени доводится сравнивать две похожие таблицы. Например, человек работает бухгалтер и ему необходимо сравнить два отчета. Есть и другие подобные задачи, такие как сопоставление стоимости товаров разных партий, то, оценки учеников за разные периоды и так далее.
Для сравнения двух таблиц используется функция СЧЕТЕСЛИ. Давайте рассмотрим ее более подробно.
Допустим, у нас есть две таблицы, содержащие технические характеристики двух кухонных комбайнов. И нам нужно их сравнить, а отличия выделять цветом. Это можно сделать с помощью условного форматирования и функции СЧЕТЕСЛИ.
Наша таблица выглядит так.
Выделяем диапазон, соответствующий техническим характеристикам первого кухонного комбайна.
После этого следует кликнуть по таким меню: Условное форматирование – создать правило – использовать формулу для определения форматируемых ячеек.
В виде формулы для форматирования записываем функцию =СЧЕТЕСЛИ (сравниваемый диапазон; первая ячейка первой таблицы)=0. В качестве сравниваемого диапазона используется таблица с особенностями второго кухонного комбайна.
Нужно убедиться, что адреса абсолютные (со значком доллара перед названием строки и колонки). После формулы нужно добавить =0, чтобы Excel искал точные значения.
После этого нужно задать форматирование ячеек. Для этого возле образца нужно нажать на кнопку «Формат». В нашем случае мы используем заливку, поскольку она наиболее удобна для этих целей. Но вы можете выбрать любое форматирование, которое хотите.
Мы в качестве диапазона назначили имя столбца. Это значительно удобнее, чем прописывать диапазон вручную.
Функция ЕСЛИ в MS Excel с несколькими условиями
Предположим, что у нас есть таблица с результатами сдачи контрольной работы студентами ВУЗа. Результаты контрольной работы оцениваются в баллах. От 0 до 100. Где все, что выше 90 баллов, отлично. Выше 80 баллов, это хорошо. Выше 70 баллов, это удовлетворительно. Ниже 70 баллов, это плохо.
Формула функции ЕСЛИ будет выглядеть вот так:
Где ячейка С3, первая из проверяемых ячеек в столбце Оценка. Далее функция протянута вниз по столбцу Результат, до конца таблицы.
Внимание: в данном случае формула функции ЕСЛИ прописана в ручную, прямо в строе формулы.
Таблица выглядит вот так:
В столбце Результат, в зависимости от количества баллов, функция ЕСЛИ вернула значение, согласно заданному критерию в формуле функции.
Как задать функции ЕСЛИ через Построитель формул
Использовать функцию ЕСЛИ можно не только прописывая ее вручную в ячейке или строке формул, но также и через Построитель формул.
Давайте разберем, как это работает. Допустим, нам снова как и в первом примере нужно проставить скидку на всю женскую обувь в размере 25%.
- Ставим курсор на нужную ячейку, заходим во вкладку “Формулы”, далее щелкаем “Вставить функцию”.
- В открывшемся списке Построителя формул выбираем “ЕСЛИ” и нажимаем “Вставить функцию”.
- Открывается окно настройки функции. В поле “логическое выражение” пишем условие, по которому будет проводиться проверка. В нашем случае это “B2=”женский”. В поле “Истина” пишем значение, которое должно отобразиться в ячейке, если условие выполняется. В поле “Ложь” – значение при невыполнении условия.
- После того, как все поля заполнены, жмем “Готово”, чтобы получить результат.
Объединяем несколько условий
Для того, чтобы описать условие в функции ЕСЛИ, Excel позволяет использовать более сложные конструкции. В том числе можно использовать и несколько условий. При этом еще воспользуемся тем, что функции можно «вкладывать» внутрь друг друга.
Для объединения нескольких условий в одно используем логические функции ИЛИ и И. Рассмотрим простые примеры.
Теги
Склеивание текста по условию
Про то, как можно быстро склеивать текст из нескольких ячеек в одну и, наоборот, разбирать длинную текстовую строку на составляющие я уже писал. Теперь же давайте рассмотрим близкую, но чуть более сложную задачу — как склеивать текст из нескольких ячеек при выполнении определенного заданного условия.
Допустим, что у нас имеется база данных по клиентам, где одному названию компании может соответствовать несколько разных email’ов ее сотрудников. Наша задача состоит в том, чтобы собрать все адреса по названиям компаний и сцепить их (через запятую или точку с запятой), чтобы сделать потом, например, почтовую рассылку по клиентам, т.е. получить на выходе что-то похожее на:
Другими словами, нам нужен инструмент, который будет склеивать (сцеплять) текст по условию — аналог функции СУММЕСЛИ (SUMIF), но для текста.
Способ 0. Формулой
Не очень изящный, зато самый простой способ. Можно написать несложную формулу, которая будет проверять отличается ли компания в очередной строке от предыдущей. Если не отличается, то приклеиваем через запятую очередной адрес. Если отличается, то «сбрасываем» накопленное, начиная заново:
Минусы такого подхода очевидны: из всех ячеек полученного дополнительного столбца нам нужны только последние по каждой компании (желтые). Если список большой, то чтобы их быстро отобрать придется добавить еще один столбец, использующий функцию ДЛСТР (LEN), проверяющий длину накопленных строк:
Теперь можно отфильтровать единички и скопировать нужные склейки адресов для дальнейшего использования.
Способ 1. Макрофункция склейки по одному условию
Если исходный список не отсортирован по компаниям, то приведенная выше простая формула не работает, но можно легко выкрутиться с помощью небольшой пользовательской функции на VBA. Откройте редактор Visual Basic нажатием на сочетание клавиш Alt+F11 или с помощью кнопки Visual Basic на вкладке Разработчик (Developer). В открывшемся окне вставьте новый пустой модуль через меню Insert — Module и скопируйте туда текст нашей функции:
Function MergeIf(TextRange As Range, SearchRange As Range, Condition As String) Dim Delimeter As String, i As Long Delimeter = ", " 'символы-разделители (можно заменить на пробел или ; и т.д.) 'если диапазоны проверки и склеивания не равны друг другу - выходим с ошибкой If SearchRange.Count <> TextRange.Count Then MergeIf = CVErr(xlErrRef) Exit Function End If 'проходим по все ячейкам, проверяем условие и собираем текст в переменную OutText For i = 1 To SearchRange.Cells.Count If SearchRange.Cells(i) Like Condition Then OutText = OutText & TextRange.Cells(i) & Delimeter Next i 'выводим результаты без последнего разделителя MergeIf = Left(OutText, Len(OutText) - Len(Delimeter)) End Function
Если теперь вернуться в Microsoft Excel, то в списке функций (кнопка fx в строке формул или вкладка Формулы — Вставить функцию) можно будет найти нашу функцию MergeIf в категории Определенные пользователем (User Defined). Аргументы у функции следующие:
Способ 2. Сцепить текст по неточному условию
Если заменить в 13-й строчке нашего макроса первый знак = на оператор приблизительного совпадения Like, то можно будет осуществлять склейку по неточному совпадению исходных данных с критерием отбора. Например, если название компании может быть записано в разных вариантах, то мы можем одной функцией проверить и собрать их все:
Поддерживаются стандартные спецсимволы подстановки:
- звездочка (*) — обозначает любое количество любых символов (в т.ч. и их отсутствие)
- вопросительный знак (?) — обозначает один любой символ
- решетка (#) — обозначает одну любую цифру (0-9)
По умолчанию оператор Like регистрочувствительный, т.е. понимает, например, «Орион» и «оРиОн» как разные компании. Чтобы не учитывать регистр можно добавить в самое начало модуля в редакторе Visual Basic строчку Option Compare Text, которая переключит Like в режим, когда он невосприимчив к регистру.
Таким образом можно составлять весьма сложные маски для проверки условий, например:
- ?1##??777RUS — выборка по всем автомобильным номерам 777 региона, начинающимся с 1
- ООО* — все компании, название которых начинается на ООО
- ##7## — все товары с пятизначным цифровым кодом, где третья цифра 7
- ????? — все названия из пяти букв и т.д.
Способ 3. Макрофункция склейки текста по двум условиям
В работе может встретиться задача, когда сцеплять текст нужно больше, чем по одному условию. Например представим, что в нашей предыдущей таблице добавился еще один столбец с городом и склеивание нужно проводить не только для заданной компании, но еще и для заданного города. В этом случае нашу функцию придется немного модернизировать, добавив к ней проверку еще одного диапазона:
Function MergeIfs(TextRange As Range, SearchRange1 As Range, Condition1 As String, SearchRange2 As Range, Condition2 As String) Dim Delimeter As String, i As Long Delimeter = ", " 'символы-разделители (можно заменить на пробел или ; и т.д.) 'если диапазоны проверки и склеивания не равны друг другу - выходим с ошибкой If SearchRange1.Count <> TextRange.Count Or SearchRange2.Count <> TextRange.Count Then MergeIfs = CVErr(xlErrRef) Exit Function End If 'проходим по все ячейкам, проверяем все условия и собираем текст в переменную OutText For i = 1 To SearchRange1.Cells.Count If SearchRange1.Cells(i) = Condition1 And SearchRange2.Cells(i) = Condition2 Then OutText = OutText & TextRange.Cells(i) & Delimeter End If Next i 'выводим результаты без последнего разделителя MergeIfs = Left(OutText, Len(OutText) - Len(Delimeter)) End Function
Применяться она будет совершенно аналогично — только аргументов теперь нужно указывать больше:
Способ 4. Группировка и склейка в Power Query
Решить проблему можно и без программирования на VBA, если использовать бесплатную надстройку Power Query. Для Excel 2010-2013 ее можно скачать здесь, а в Excel 2016 она уже встроена по умолчанию. Последовательность действий будет следующей:
Power Query не умеет работать с обычными таблицами, поэтому первым шагом превратим нашу таблицу в «умную». Для этого ее нужно выделить и нажать сочетание Ctrl+T или выбрать на вкладке Главная — Форматировать как таблицу (Home — Format as Table). На появившейся затем вкладке Конструктор (Design) можно задать имя таблицы (я оставил стандартное Таблица1):
Теперь загрузим нашу таблицу в надстройку Power Query. Для этого на вкладке Данные (если у вас Excel 2016) или на вкладке Power Query (если у вас Excel 2010-2013) жмем Из таблицы (Data — From Table):
В открывшемся окне редактора запросов выделяем щелчком по заголовку столбец Компания и сверху жмем кнопку Группировать (Group By). Вводим имя нового столбца и тип операции в группировке — Все строки (All Rows):
Жмем ОК и получаем для каждой компании мини-таблицу сгруппированных значений. Содержимое таблиц хорошо видно, если щелкать левой кнопкой мыши в белый фон ячеек (не в текст!) в получившемся столбце:
Теперь добавим еще один столбец, где с помощью функции склеим через запятую содержимое столбцов Адрес в каждой из мини-таблиц. Для этого на вкладке Добавить столбец жмем Пользовательский столбец (Add column — Custom column) и в появившемся окне вводим имя нового столбца и формулу сцепки на встроенном в Power Query языке М:
Обратите внимание, что все М-функции регистрочувствительные (в отличие от Excel). После нажатия на ОК получаем новый столбец со склееными адресами:
Осталось удалить ненужный уже столбец ТаблАдресов (правой кнопкой мыши по заголовку — Удалить столбец) и выгрузить результаты на лист, нажав на вкладке Главная — Закрыть и загрузить (Home — Close and load):
Важный нюанс: в отличие от предыдущих способов (функций), таблицы из Power Query не обновляются автоматически. Если в будущем произойдут какие-либо изменения в исходных данных, то нужно будет щелкнуть правой кнопкой в любое место таблицы результатов и выбрать команду Обновить (Refresh).
Ссылки по теме
- Как разделить длинную текстовую строку на части
- Несколько способов склеить текст из разных ячеек в одной
- Использование оператора Like для проверки текста по маске