Warning: This Help page is relevant to LibreOffice up to version 6.0.
For updated Help pages, visit https://help.libreoffice.org.

Sposób postępowania z pustymi komórkami

From LibreOffice Help
Jump to navigation Jump to search

We wcześniejszych wersjach programu w niektórych kontekstach wymuszane było wstawianie w pustych komórkach wartości 0, a w innych – pustego ciągu. Wyjątek stanowiło bezpośrednie porównanie, gdzie zarówno formuła =A1=0, jak i formuła =A1="" zwracały wartość PRAWDA w przypadku, gdy komórka A1 była pusta. Atrybut braku zawartości jest teraz dziedziczony aż do momentu użycia, dlatego tak formuła =VLOOKUP(...)=0, jak i formuła =VLOOKUP(...)="" zwracają wartość PRAWDA, jeśli wynikiem wyszukiwania jest pusta komórka.

Użycie prostego odwołania do pustej komórki powoduje wyświetlanie wartości 0, która jednak nie zawsze jest wartością numeryczną, w związku z czym operacje porównywania z komórką odwołującą się do danej wartości również są wykonywane poprawnie.

W poniższych przykładach komórka A1 zawiera liczbę, komórka B1 jest pusta, a komórka C1 zawiera odwołanie do komórki B1:

A1: 1 B1: <empty> C1: =B1 (wyświetla 0)

=B1=0 => TRUE

=B1="" => TRUE

=C1=0 => TRUE

=C1="" => TRUE (poprzednio FALSE)

=ISNUMBER(B1) => FALSE

=ISNUMBER(C1) => FALSE (poprzednio TRUE)

=ISNUMBER(VLOOKUP(1;A1:C1;2)) => FALSE (B1)

=ISNUMBER(VLOOKUP(1;A1:C1;3)) => FALSE (C1, poprzednio TRUE)

=ISTEXT(B1) => FALSE

=ISTEXT(C1) => FALSE

=ISTEXT(VLOOKUP(1;A1:C1;2)) => FALSE (B1, poprzednio TRUE)

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

=ISBLANK(B1) => TRUE

=ISBLANK(C1) => FALSE

=ISBLANK(VLOOKUP(1;A1:C1;2)) => TRUE (B1, poprzednio FALSE)

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

Note.png Warto zauważyć, że program Microsoft Excel zachowuje się inaczej: jako wynik odwołania do pustej komórki lub komórki formuły zawierającej wynik dla pustej komórki zawsze zwraca liczbę. Przykład:

A1: <empty>

B1: =A1 => wyświetla wartość 0, ale jest to tylko odwołanie do pustej komórki

=ISNUMBER(A1) => FALSE

=ISTEXT(A1) => FALSE

=A1=0 => TRUE

=A1="" => TRUE

=ISNUMBER(B1) => FALSE (MS-Excel: TRUE)

=ISTEXT(B1) => FALSE

=B1=0 => TRUE

=B1="" => TRUE (MS-Excel: FALSE)

C1: =VLOOKUP(...) gdy wynikiem jest pusta komórka => wyświetla pustą komórkę (MS-Excel: wyświetla 0)

=ISNUMBER(VLOOKUP(...)) => FALSE

=ISTEXT(VLOOKUP(...)) => FALSE

=ISNUMBER(C1) => FALSE (MS-Excel: TRUE)

=ISTEXT(C1) => FALSE