Как сделать условие в excel если ячейка не пустая

Обновлено: 05.07.2024

Функция ЕПУСТО в Excel предназначается для проверки того, что указанный аргумент (адрес ячейки) является пустой ячейкой. Функция ЕПУСТО возвращает логическое значение, которое можно использовать в других формулах или просто отобразить в ячейке.

Рассмотрим синтаксис функции и её применение на примерах.

Синтаксис функции ЕПУСТО

Формула учитывает любое содержимое в ячейке: текст, числа, дату, формулы и прочее.

Обобщённый синтаксис такой: ЕПУСТО(адрес)

Результатом выполнения функции ЕПУСТО является логическое значение:

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

ЕПУСТО в Excel на примерах

Скачайте прикреплённый файл Excel и посмотрите примеры практического применения функции ЕПУСТО. Приведены примеры для числового и текстового контента, а также для случая когда в ячейке содержатся формулы.

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

Файл с примерами также рассмотрен на видео.

Другие способы проверить пустые ячейки

В данном случае сравнивается содержимое ячейки с пустой строкой, которая в Excel записывается при помощи двойных кавычек, внутри которых ничего нет. Таким образом, принцип проверки тот же самый, что и в функции ЕПУСТО, но здесь мы сразу можем вывести в ячейку нужные нам данные вместо стандартных логических значений.

Придумаете интересный пример практического применения функции ЕПУСТО — напишите его в комментарии после статьи, чтобы помочь другим нашим читателям лучше узнать Excel.

Уникальная метка публикации: 51F51942-89E5-1D67-9E7B-0040B83F93C2
Источник: //artemvm.info/information/uchebnye-stati/microsoft-office/funkcziya-epusto-v-excel/

Смотреть видео
Функция ЕПУСТО в Excel

Функция ЕПУСТО в Excel видео

Файлы для загрузки

Вы можете скачать прикреплённые ниже файлы для ознакомления. Обычно здесь размещаются различные документы, а также другие файлы, имеющие непосредственное отношение к данной публикации.

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

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

Синтаксис

Первый аргумент – заданное условие (числовая или текстовая ячейка), благодаря которому принимается решение. Обязательно должно быть в виде вопроса, на который возможны только два варианта ответа (да или нет).

Второй аргумент – какой результат появится в ячейке (число или текст), когда значение отвечает указанному условию (да – ИСТИНА).

Третий аргумент – какой результат появится в ячейке (число или текст), когда значение не отвечает указанному условию (нет – ЛОЖЬ).

Важно! Чтобы программа могла выводить текстовый результат, слова в формуле следует брать в двойные кавычки.

Как работает функция?

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

С одним условием

Рассмотрим функцию на простом примере:




Пример посложнее: необходимо из таблицы с баллами определить, кто из студентов сдал зачет, кто – идет на пересдачу. Ориентир – 75 баллов (76 и выше – зачет, 75 и ниже – пересдача).



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



С несколькими условиями

Обычно в Excel редко решаются задачи с одним условием, и необходимо учитывать несколько вариантов перед принятием решения. В этом случае операторы ЕСЛИ вкладываются друг в друга.

Здесь проверяется два параметра. Когда первое условие верно, оператор возвращает первый аргумент – ИСТИНУ. Неверно – переходит к проверке второго критерия.





Также формула может иметь вид =ЕСЛИ(B2>90;"Отлично";ЕСЛИ(B2>75;"Хорошо";ЕСЛИ(B2>45;"Удовлитворительно"))), где каждый критерий вынесен отдельно.



Можно делать любое количество вложений ЕСЛИ (до 64-х), но рекомендуется использовать до 5-ти, иначе формула будет слишком громоздкой и разобраться в ней будет уже очень сложно.

С несколькими условиями в математических выражениях

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

Есть таблица со стоимостью за единицу продукта, которая меняется в зависимости от его количества.



Цель – вычесть стоимость для любого количества продуктов, введенного в указанную ячейку. Количество – ячейка B8.

Формула для решения данной задачи принимает вид =B8*ЕСЛИ(B8>=101;12;ЕСЛИ(B8>=50;14;ЕСЛИ(B8>=20;16;ЕСЛИ(B8>=11; 18;ЕСЛИ(B8>=1;22;""))))) или =B8*ЕСЛИ(B8>=101;B6;ЕСЛИ(B8>=50;B5;ЕСЛИ(B8>=20;B4;ЕСЛИ(B8>=11;B3;ЕСЛИ(B8>=1;B2;""))))).




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

Синтаксис выглядит так:





Для проверки ячейки на наличие символов

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



Для проверки ячейки ЕСЛИ часто используется в одной формуле c функцией ЕПУСТО (вместо пустых двойных кавычек).



Когда один из аргументов не вписан в формулу

Второй аргумент можно не вводить, когда интересующий критерий не выполняется, но тогда результат будет отображаться некрасиво.



Как вариант – можно вставить в ячейку пустое значение в виде двойных кавычек.



И все-таки лучше использовать оба аргумента.

Ошибки

В результате может отобразиться одна из ошибок:

Вместо заключения

ЕСЛИ часто используют вместе с другими функциями в одной формуле для более сложных вычислений. Главное здесь – внимательно вписывать данные.

В программах OpenOffice и LibreOffice также используется ЕСЛИ (IF), а синтаксис и принцип работы функции точно такие же, как описано выше.

И самое удивительное - если выделить такую ячейку вручную и нажать Delete (или вкладка Главная -группа Редактирование -Очистить содержимое) - то ячейка становится действительно пустой и с ней начинают работать формулы и другие функции Excel как с реально пустой.
Здесь возникает главный вопрос: что с этой ячейкой не так, если там и до Delete ничего не было?
А не так с ней вот что: практически во всех программах есть такое понятие строковых(текстовых) данных, как строка нулевой длины(еще её часто называют нулевая строка. В Visual Basic for Application такая строка обозначается константой vbNullString , в ячейках её можно встретить как сочетание двух кавычек подряд - "" ). Визуально такой текст себя никак не проявляет, однако это все же текст. А любой текст это уже не пусто, но и не число.
Откуда может появится такой текст в ячейках? Здесь несколько вариантов:

  1. Он есть в ячейках изначально, потому что именно так настроена выгрузка и создание файлов в сторонней программе(вроде 1С). В некоторых случаях такие выгрузки настроены таким образом, что как таковых пустых ячеек нет - они просто заполняются строкой нулевой длины.
  2. в ячейке была записана формула, результатом которой стал текст нулевой длины. Самый простой пример такой формулы:
    =ЕСЛИ( A1 =1;10;"")
    =IF(A1=1,10,"")
    в итоге, если в ячейке A1 записано любое значение, отличное от 1 формула вернет строку нулевой длины. И если впоследствии формулу заменять значением(Как удалить в ячейке формулу, оставив значения?), то получим нашу псевдо пустую ячейку.
    Если формулы создаются Вами и в дальнейшем планируются производить с этими ячейками математические действия, то лучше вместо "" ставить 0. Тогда проблем не будет. Нули всегда можно заменить или скрыть: Файл -Параметры -Дополнительно -Показывать нули в ячейках, которые содержат нулевые значения

А если такой файл делали не Вы - он достался "по наследству" или это выгрузка из другой программы, что делать тогда? Я предлагаю такой вот нехитрый код, который во всех выделенных ячейках заменит строки нулевой длины на нормальные пустые ячейки:

Sub ReplaceNullString() Dim rR As Range, rF As Range, rC As Range Dim avR, lr As Long, lc As Long Set rR = Intersect(ActiveSheet.UsedRange, Selection) On Error Resume Next Set rR = rR.SpecialCells(xlCellTypeConstants) On Error GoTo 0 If rR Is Nothing Then MsgBox "В выделенных ячейках нет значений!", vbInformation, "www.excel-vba.ru" Exit Sub End If Set rF = rR.Find(vbNullString, , xlFormulas, xlWhole) If Not rF Is Nothing Then avR = rR.Value If Not IsArray(avR) Then Redim avR(1 to 1, 1 to 1) avR(1,1) = rR.Value end if For lr = 1 To UBound(avR, 1) For lc = 1 To UBound(avR, 2) If avR(lr, lc) = "" Then rR.Item(lr, lc).Value = Empty Next lc Next lr MsgBox "Строки нулевой длины заменены", vbInformation, "www.excel-vba.ru" Exit Sub End If MsgBox "Строк нулевой длины на листе нет или лист защищен", vbInformation, "www.excel-vba.ru" End Sub

Как это работает:
если раньше никогда не работали с макросами, то рекомендую ознакомиться со статьями:
Что такое макрос и где его искать?
Что такое модуль? Какие бывают модули?

  1. создаем в книге новый стандартный модуль: Alt+F11 -Insert -Module()
  2. копируем в созданный модуль приведенный выше код
  3. выделяем нужный диапазон(если надо заменить на всем листе - то можно выделить все ячейки листа или целиком нужные столбцы - программа сама определить нужные данные)
  4. нажимаем Alt+F8 и в появившемся окне выбираем ReplaceNullString

поэтому в excel я пытаюсь избавиться от пустых ячеек между моими ячейками, в которых есть информация, используя F5 для поиска пустых ячеек, затем Ctrl + - для их удаления и сдвига ячеек вверх. Но когда я пытаюсь это сделать, он говорит мне, что "клеток не найдено".

Like in this picture

Я заметил, что если я выбираю свои "пустые" ячейки, Excel все еще считает их: что странно. Но если я нажму Delete на эти выбранные ячейки, счетчик исчезнет, а затем я могу перейти F5, пробелы, Ctrl + - и Сдвиньте клетки вверх, и это сработает.

Итак, мой вопрос в том, как я могу это сделать, но с этими пустыми ячейками, которые Excel считает не пустыми? Я попытался пройти и просто нажать delete над пустыми ячейками, но у меня много данных и понял, что это займет слишком много времени. мне нужно найти способ выбрать эти "пустые" ячейки в пределах выбора данных.

заранее спасибо за вашу помощь! :)

откровение: некоторые пустые ячейки на самом деле не пустой! Как я покажу, ячейки могут иметь пробелы, новые строки и true empty:

example

чтобы найти эти ячейки быстро вы можете сделать несколько вещей.

удаление этих:

если у вас есть только пробел в клетках они могут быть легко удалены с помощью:

  1. пресс ctrl + h чтобы открыть find и replace.
  2. введите одно место в найти, оставить заменить на пустой и убедитесь, что у вас есть матч всей ячейки содержание галочкой в опциях.
  3. пресс заменить все.

если у вас newlines это сложнее и требует VBA:

    щелкните правой кнопкой мыши на вкладке листа > Просмотр кода.

затем введите следующий код. Помните Chr(10) новая строка заменяет это только по мере необходимости, например " " & Char(10) это пробел и новая строка:

Теперь запустите ваш код нажатие Ф5 .

после файл поставляется: выберите диапазон интересов для повышения производительности, затем выполните следующие действия:

простой способ выбрать и очистить эти пустые ячейки, чтобы сделать их пустыми:

  1. пресс ctrl + a или предварительно выберите свой диапазон
  2. пресс ctrl + f
  3. оставить найти пустой и выберите матч всего содержимого ячейки.
  4. нажмите найти все
  5. пресс ctrl + a выбрать все пустые ячейки нашли
  6. закрыть поиск диалоговое окно
  7. пресс backspace или удалить

Это сработало для меня:

  1. CTR-H для поиска и замены
  2. оставьте "найти что" пустой
  3. изменить "заменить на" на уникальный текст, то, что вы
    положительный не будет найден в другой ячейке (я использовал 'xx')
  4. клик "Заменить Все"
  5. скопируйте уникальный текст на Шаге 3, чтобы найти то, что'
  6. удалить уникальный текст в "заменить на"
  7. нажмите "заменить все"

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

мне удалось очистить их

  1. выбор столбцов / строк, которые я хотел очистить, а затем делать
  2. "найти" [без текста] и" заменить " [слово выбора].
  3. затем я сделал "найти" [слово выбора] и" заменить " на [нет текста].

он избавился от всех скрытых / фантомных персонажей в тех ячейки. Может, это сработает?

все, это довольно просто. Я пытался сделать то же самое, и это то, что сработало для меня в VBA

С уважением, Ананд Ланка

Если у вас нет форматирования или формул, которые вы хотите сохранить, вы можете попробовать сохранить файл в виде текстового файла с разделителями табуляции, закрыть его и снова открыть с помощью excel. Это сработало для меня.

нашел другой способ. Установите автофильтр для все столбцы (важно или вы будете смещать данные), выбрав строку заголовка > вкладка "данные" > сортировка и фильтр - "фильтр". Используйте раскрывающийся список в первом столбце данных, снимите флажок "выбрать все" и выберите только "(пробелы) " > [OK]. Выделите строки (Теперь все вместе) > щелкните правой кнопкой мыши > "удалить строку". Вернитесь к раскрывающемуся меню > 'Select all'. Престо:)

Не уверен, что это уже было сказано, но у меня была аналогичная проблема с ячейками, ничего не показывающими в них, но не пустыми при запуске формулы IsBlank ().

Я выбрал весь столбец, выбрал Find & Replace, нашел ячейки ни с чем и заменил на 0, затем снова запустил find и replace, найдя ячейки с 0 и заменив их на "".

Это решило мою проблему и позволило мне искать пустые ячейки (F5, специальные, пробелы) и удалять строки, которые были пусты. БУМ.

может не работать для каждого приложения, но это решило мою проблему.

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

Это работает с цифрами.

мой метод похож на предложение Курта выше о сохранении его как файла с разделителями табуляции и повторном импорте. Предполагается, что данные имеют только значения без формул. Это, вероятно, хорошее предположение, потому что проблема "плохих" пробелов вызвана путаницей между пробелами и нулями-обычно в данных, импортированных из какого-то другого места, - поэтому не должно быть никаких формул. Мой метод -разобрать на месте -- очень похоже на сохранение в виде текстового файла и повторный импорт, но вы можете сделать это без закрытия и повторного открытия файла. Он находится в разделе Данные > текст в Столбцы > разделители > удалить все символы синтаксического анализа (также можно выбрать текст, если хотите) > готово. Это должно заставить Excel повторно распознавать ваши данные с нуля или из текста и распознавать пробелы как действительно пустые. Вы можете автоматизировать это в подпрограмме:

вы также можете включить эту прокомментированную строку, чтобы эта подпрограмма выполнялась "в фоновом режиме". Для этой подпрограммы улучшается производительность только немного (для других это действительно может помочь). Имя-F2Enter, потому что исходный ручной метод для исправления этой проблемы "пробелов" - заставить Excel распознать формулу, нажав F2 и Enter.

вот как я исправил эту проблему без какого-либо кодирования.

  1. выберите весь столбец, из которого я хотел удалить "пустые" ячейки.
  2. щелкните вкладку Условное форматирование вверху.
  3. Выберите "Новое Правило".
  4. нажать "форматировать только ячейки, которые содержат".
  5. изменить "между" На "равно".
  6. нажмите на поле рядом с полем" равно".
  7. нажмите одну из проблемных" пустых " ячеек.
  8. клик кнопка формат.
  9. выберите случайный цвет для заполнения коробки.
  10. нажмите "OK".
  11. Это должно изменить все проблемные" пустые " ячейки на цвет, который вы выбрали. Теперь щелкните правой кнопкой мыши одну из цветных ячеек и перейдите в раздел "сортировать" и "поместить выбранный цвет ячейки сверху".
  12. это поставит все проблемные ячейки в верхней части столбца, и теперь все ваши другие ячейки останутся в исходном порядке, в котором вы их поместите. Теперь вы можете выбрать все проблемные ячейки в одной группе и нажмите кнопку Удалить ячейку сверху, чтобы избавиться от них.

самым простым решением для меня было:

1) Выберите диапазон и скопируйте его (ctrl+c)

2)Создайте новый текстовый файл (в любом месте, он будет удален в ближайшее время), откройте текстовый файл, а затем вставьте в excel информацию (ctrl+v)

3) Теперь, когда информация в Excel находится в текстовом файле, выполните select all в текстовом файле (ctrl+a), а затем скопируйте (ctrl+c)

4) перейдите к началу исходного диапазона на шаге 1 и вставьте его старая информация из копии на Шаге 3.

готово! Больше никаких фальшивых заготовок! (теперь вы можете удалить временный текстовый файл)

Goto - > Special - >blanks не любит объединенные ячейки. Попробовать unmerging клеток выше диапазона, в котором вы хотите выбрать то, болванками попробовать снова.

У меня была аналогичная проблема с получением формулы COUNTA для подсчета непустых ячеек, она считала все из них (даже пустые как непустые), я попытался =CODE (), но у них не было пробелов или новых строк.

Я обнаружил, что когда я щелкнул в ячейке, а затем щелкнул из нее, формула будет считать ячейку. У меня были тысячи ячеек, поэтому я не мог сделать это вручную. Я написал этот оператор VBA, чтобы буквально проверить все ячейки, и если они были пустыми, то сделать их пустыми. Игнорируйте бессмысленность этого макроса и поверьте мне, что он действительно работал, заставляя Excel распознавать пустые ячейки как пустые.

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