Съдържание

# Обработка на празни клетки

В по-старите версии на софтуера празните клетки бяха считани за числото 0 в някои контексти и за празен текст – в други, освен при пряко сравнение, където и =A1=0, и =A1="" даваха TRUE, ако A1 е празна. Сега свойството „празна“ се пренася през изчисленията до момента, когато трябва да бъде използвано. Така ако извличането на стойност върне празна клетка, и =VLOOKUP(...)=0, и =VLOOKUP(...)="" ще имат резултат TRUE.

Обикновено обръщение към празна клетка все още се показва като числото 0, но вече не е задължително от числов тип, така че сравненията с клетката, съдържаща обръщение, работят както се очаква.

В следващите примери A1 съдържа число, B1 е празна, а C1 съдържа обръщение към B1:

Случай | Формула | Резултати и коментари
--- | --- | ---
A1: 1 B1: <Празна> | C1: =B1 | Показва 0.
=B1=0 | TRUE
=B1="" | TRUE
=C1=0 | TRUE
=C1="" | TRUE (преди беше FALSE)
=ISNUMBER(B1) | FALSE
=ISNUMBER(C1) | FALSE (преди беше TRUE)
=ISNUMBER(VLOOKUP(1;A1:C1;2)) | FALSE (B1)
=ISNUMBER(VLOOKUP(1;A1:C1;3)) | FALSE (C1, преди беше TRUE)
=ISTEXT(B1) | FALSE
=ISTEXT(C1) | TRUE
=ISTEXT(VLOOKUP(1;A1:C1;2)) | FALSE (B1, преди беше TRUE)
=ISTEXT(VLOOKUP(1;A1:C1;3)) | FALSE (C1)
=ISBLANK(B1) | TRUE
=ISBLANK(C1) | TRUE
=ISBLANK(VLOOKUP(1;A1:C1;2)) | TRUE (B1, преди беше FALSE)
=ISBLANK(VLOOKUP(1;A1:C1;3)) | FALSE (C1)

Обърнете внимание, че Microsoft Excel се държи различно и винаги дава число като резултат от обръщение към празна клетка или формула с резултат празна клетка. Например:

Случай | Формула | Резултати и коментари
--- | --- | ---
A1: <празна> | B1: =A1 | Показва 0, но представлява обръщение към празна клетка.
=ISNUMBER(A1) | FALSE
=ISTEXT(A1) | FALSE
=A1=0 | TRUE
=A1="" | TRUE
=ISNUMBER(B1) | FALSE (Microsoft Excel: TRUE)
=ISTEXT(B1) | FALSE
=B1=0 | TRUE
=B1="" | TRUE (Microsoft Excel: FALSE)
C1: =VLOOKUP(...) с резултат празна клетка | Показва празна (Microsoft Excel: показва 0).
=ISNUMBER(VLOOKUP(...)) | FALSE
=ISTEXT(VLOOKUP(...)) | FALSE
=ISNUMBER(C1) | FALSE (Microsoft Excel: TRUE)
=ISTEXT(C1) | FALSE