В Excel мне нужно вернуть значение 1
, если ссылочная ячейка пуста
Я могу сделать это, если значение zero
, но как это сделать, если оно пустое?
В Excel мне нужно вернуть значение 1
, если ссылочная ячейка пуста
Я могу сделать это, если значение zero
, но как это сделать, если оно пустое?
Вы можете использовать:
=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)
. Вы увидите, что первое верно, а последнее неверно.
P4 - это проверка ячейки я для:
=IF(ISBLANK(P4),1,0)
Ответ Paxdiablo абсолютно правильный.
Чтобы не записывать возвращаемое значение 1
дважды, я бы использовал это вместо:
=IF(OR(ISBLANK(A1),TRIM(A1)=""),1,0)
=if(a1="","1","0")
В этой формуле, если ячейка пуста, тогда результат будет 1
иначе он будет 0
Сравните ячейку с "" (пустая строка):
=IF(A1="",1,0)
Если у вас есть ячейка, заполненная пробелами или пробелами, вы можете использовать:
=Len(Trim(A2)) = 0
если ячейка, которую вы тестировали, была A2
Возможно, вам придется использовать =IF(ISNUMBER(A1),A1,1)
в некоторых ситуациях, когда вы ищете числовые значения в ячейке.
Так как требуется довольно часто, это может быть и кратким:
=1*(A1="")
Это не вернет 1
, если ячейка окажется пустой, но содержит пробел или формулу вида =IF(B1=3,"Yes","")
, где B1
не содержит 3
.
=A1=""
вернет либо TRUE
, либо FALSE
, но те, что в уравнении, рассматриваются как 1
и 0
соответственно, поэтому умножение TRUE
на 1
возвращает 1
.
То же самое можно сделать с двойным унарным --
:
=--(A1="")
где, когда A1 пусто, минус отрицает TRUE
в -1, а другой отрицает, что для 1
(только +
вместо --
, однако, не меняет TRUE
на 1
).