Возвращает значение "1", указанная ячейка пуста

В Excel мне нужно вернуть значение 1, если ссылочная ячейка пуста

Я могу сделать это, если значение zero, но как это сделать, если оно пустое?

Ответ 1

Вы можете использовать:

=IF(ISBLANK(A1),1,0)

но вы должны быть осторожны, что вы подразумеваете под пустой ячейкой. Я был пойман этим раньше. Если вы хотите знать, действительно ли ячейка пуста, isblank, как указано выше, будет работать. К сожалению, иногда вам также нужно знать, не содержит ли он каких-либо полезных данных.

Выражение:

=IF(ISBLANK(A1),TRUE,(TRIM(A1)=""))

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

Здесь результаты, когда столбец A содержит различные количества пробелов, столбец B содержит длину (поэтому вы знаете, сколько пробелов) и столбец C содержит результат выражения:

<-A-> <-B-> <-C->
        0   TRUE
        1   TRUE
        2   TRUE
        3   TRUE
        4   TRUE
        5   TRUE
  a     1   FALSE
<-A-> <-B-> <-C->

Возврат 1, если ячейка пуста или пробел, а 0 в противном случае:

=IF(ISBLANK(A1),1,if(TRIM(A1)="",1,0))

сделает трюк.

Этот трюк пригодится, когда ячейка, которую вы проверяете, на самом деле является результатом функции Excel. Многие функции Excel (например, trim) возвращают пустую строку, а не пустую ячейку.

Вы можете увидеть это в действии с новым листом. Оставьте ячейку A1 как есть и установите A2 в =trim(a1).

Затем установите B1 в =isblank(a1) и B2 в isblank(a2). Вы увидите, что первое верно, а последнее неверно.

Ответ 2

P4 - это проверка ячейки я для:

=IF(ISBLANK(P4),1,0)

Ответ 3

Ответ Paxdiablo абсолютно правильный.

Чтобы не записывать возвращаемое значение 1 дважды, я бы использовал это вместо:

=IF(OR(ISBLANK(A1),TRIM(A1)=""),1,0)

Ответ 4

=if(a1="","1","0")

В этой формуле, если ячейка пуста, тогда результат будет 1 иначе он будет 0

Ответ 5

Сравните ячейку с "" (пустая строка):

=IF(A1="",1,0)

Ответ 6

Если у вас есть ячейка, заполненная пробелами или пробелами, вы можете использовать:

=Len(Trim(A2)) = 0

если ячейка, которую вы тестировали, была A2

Ответ 7

Возможно, вам придется использовать =IF(ISNUMBER(A1),A1,1) в некоторых ситуациях, когда вы ищете числовые значения в ячейке.

Ответ 8

Так как требуется довольно часто, это может быть и кратким:

=1*(A1="")

Это не вернет 1, если ячейка окажется пустой, но содержит пробел или формулу вида =IF(B1=3,"Yes",""), где B1 не содержит 3.

=A1="" вернет либо TRUE, либо FALSE, но те, что в уравнении, рассматриваются как 1 и 0 соответственно, поэтому умножение TRUE на 1 возвращает 1.

То же самое можно сделать с двойным унарным --:

=--(A1="")  

где, когда A1 пусто, минус отрицает TRUE в -1, а другой отрицает, что для 1 (только + вместо --, однако, не меняет TRUE на 1).