Функция ISBLANK ()

53

Можно ли как-нибудь проверить, пуста ли клетка?

Есть функция, ISBLANK()но она возвращает false, когда в ячейке есть формула, даже если она ничего не возвращает (или пустая строка).

Я бы хотел, чтобы он возвращал true, если формула также ничего не возвращает. Таким образом, ячейка кажется пустой без какого-либо значения.

Роберт Коритник
источник

Ответы:

45

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

=if(C2="";"The cell is empty";"The cell is not empty")
Мехпер С. Палавузлар
источник
2
Благодарю. Этот проще, чем мой. Это было очевидно слишком тривиально для меня, чтобы думать об этом. :)
Роберт Коритник
Я полагаю, что реальный ответ на самом деле заключается в том, чтобы исправить исходную формулу в тестируемой ячейке. Я предлагаю, чтобы формула фактически не возвращала пустую строку. Поместите эту формулу в ячейку A1: =if(1=1,"","No Way")и она поместит значение в ячейку. В отличие от Excel, поместите этот элемент в ячейку A2: =if(1=1, ,"No Way")и он останется пустым. Это легко проверить, поместив эти формулы в 2 другие ячейки: =ISBLANK(A1)вернет FALSE, а =ISBLANK(A2)вернет TRUE. Точно так же =ISBLANK(if(1=1, ,"No Way"))вернуть ИСТИНА.
Karl_S
Разве это не было бы просто C2=""?
Соломон Уко
9

Я могу использовать функцию

=IF(COUNTBLANK(cell:cell)=1;"Blank cell";"Not blank")

это будет один только из cellпустых.

Роберт Коритник
источник
4

Я нашел функцию LEN(A1)очень полезной и надежной. Это также работает для ячеек, содержащих текст, который был удален. Он возвращает длину содержимого ячейки, и если он возвращает 0, ячейка пуста.

  • IF(NOT(LEN(A1)))или IF(LEN(A1)=0)проверить на пустые клетки
  • IF(LEN(A1))или IF(LEN(A1)<>0)проверить наличие непустых ячеек

Я предпочитаю первый вариант, потому что его легче читать. Число 0 оценивается как FALSEв логической проверке, любое положительное число оценивается как TRUE.

Мартин Хансен
источник
3

Вы можете обернуть ISBLANK()его, NOT()он в основном переключает то, что есть в нем, на противоположность его первоначальному результату.

= НЕ (ЕПУСТО (А2))

Его проверка, если A2не пусто. Если в нем что-то есть, A2это даст Trueрезультат.

НЕ - Справка Редактора Документов

CamSyl
источник
1
Как это может помочь? ОП спрашивал, как определить, является ли ячейка пустой, которая была определена как пустая или содержит пустую строку.
Адриан
Это лучший ответ. Все просто и по существу. ОП спросил, как проверить, и это делает именно это!
BBking
3

За исключением @Martin Hansen's A (где все четыре версии не возвращают ничего, кроме #N/Aменя), два из вышеперечисленных As различают:

a "blank" cell (truly blank OR containing a formula returning `""`)  

из

a "non-blank" cell (whether Text, Numeric, Boolean or other Formula).

Все они, однако, намного дольше, чем они должны быть, если только для целей дифференциации. Большая часть длины связана с текстом, выбранным для уведомления об условии. Такой текст не является необходимым ( я хотел бы, чтобы он вернул true ... ). Правильная ячейка A to Is «не пустая» будет служить для дифференциации (как интерпретация @ CamSyl).

Однако в этом случае правильная ячейка от A до Is будет «пустой», она будет служить одинаково хорошо (или лучше, если OP хочет trueпустую), и этого можно достичь с помощью формулы, составляющей примерно треть длины решения @ CamSyl (что делает не решить проблему ОП в любом случае).

Я рекомендую формулу типа:

=A3="" 

(в этом вся суть @Mehper C. Palavuzlar's A без текста).

WA16754

pnuts
источник
2

Я искал в Интернете (Google, инструменты поиска, пользовательский диапазон) ссылки на ISBLANKфункцию, предшествующую вопросу ОП. ISBLANKФункция уже существовала во время спрашивать: ссылки ISBLANK перед тем 01/12/2009

Поэтому этой функции будет достаточно:

=IF(ISBLANK(A2)=TRUE;"Blank cell";"Not blank")

Однако следует принять во внимание одну вещь:

  • Удаленный текст, отформатированный как простой текст , не является пустым
Джейкоб Ян Туинстра
источник
1
Добавление еще нескольких объяснений того, почему это ответ на вопрос, поможет.
ChrisF
5
Я уже описал проблему с isblank()функцией в моем вопросе. Возвращается только trueтогда, когда ячейка фактически пуста (без формулы). То, что я искал, не содержало ячеек, если это прояснит вам.
Роберт Коритник
Если вы добавите, IFERROR(1/0)он вернет TRUE.
Джейкоб Ян Туинстра
@RobertKoritnik Забыл упомянуть тебя.
Джейкоб Ян Туинстра
@JacobJanTuinstra: Включить это где? Деление на 0 всегда ошибка.
Роберт Коритник