Обработка пустых ячеек

В предыдущих версиях программы в пустых ячейках в некоторых контекстах принудительно устанавливалось число 0, а в других - пустая строка, за исключением прямого сравнения, где обе формулы =A1=0 и =A1="" возвращали значение TRUE в том случае, если ячейка A1 была пустой. Теперь пустота ячейки наследуется до момента её использования, поэтому оба выражения =VLOOKUP(...)=0 и =VLOOKUP(...)="" возвращают значение TRUE, если в результате поиска возвращена пустая ячейка.

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

В следующих примерах в A1 содержится число, B1 пуста, а в C1 содержится ссылка на B1:

Случай

Формула

Результаты и комментарии

A1: 1
B1: <Empty>

C1: =B1

Отображает 0

=B1=0

ИСТИНА

=B1=""

ИСТИНА

=C1=0

ИСТИНА

=C1=""

ИСТИНА (было ЛОЖЬ)

=ISNUMBER(B1)

ЛОЖЬ

=ISNUMBER(C1)

ЛОЖЬ (было ИСТИНА)

=ISNUMBER(VLOOKUP(1;A1:C1;2))

FALSE (B1)

=ISNUMBER(VLOOKUP(1;A1:C1;3))

FALSE (C1, previously was TRUE)

=ISTEXT(B1)

ЛОЖЬ

=ISTEXT(C1)

ИСТИНА

=ISTEXT(VLOOKUP(1;A1:C1;2))

FALSE (B1, previously was TRUE)

=ISTEXT(VLOOKUP(1;A1:C1;3))

FALSE (C1)

=ISBLANK(B1)

ИСТИНА

=ISBLANK(C1)

ИСТИНА

=ISBLANK(VLOOKUP(1;A1:C1;2))

TRUE (B1, previously was FALSE)

=ISBLANK(VLOOKUP(1;A1:C1;3))

FALSE (C1)


Значок примечания

Следует отметить, что поведение Microsoft Excel отличается: в качестве результата ссылки на пустую ячейку или ячейку с формулой, содержащую результат пустой ячейки, всегда возвращается число. Пример:


Case

Формула

Результаты и комментарии

A1: <Empty>

B1: =A1

Отображает 0, но это просто ссылка на пустую ячейку.

=ISNUMBER(A1)

ЛОЖЬ

=ISTEXT(A1)

ЛОЖЬ

=A1=0

ИСТИНА

=A1=""

ИСТИНА

=ISNUMBER(B1)

FALSE (Microsoft Excel: TRUE)

=ISTEXT(B1)

ЛОЖЬ

=B1=0

ИСТИНА

=B1=""

TRUE (Microsoft Excel: FALSE)

C1: =VLOOKUP(...) with empty cell result

отображает пустую (Microsoft Excel: отображает 0)

=ISNUMBER(VLOOKUP(...))

ЛОЖЬ

=ISTEXT(VLOOKUP(...))

ЛОЖЬ

=ISNUMBER(C1)

FALSE (Microsoft Excel: TRUE)

=ISTEXT(C1)

ЛОЖЬ


Please support us!