LADER napsal(a)příkaz
nefunguje správně právě když je tam prázdný řetězec ""
Nevím, jak to myslíte. Text s nulovou délkou je stále text.
Celá debata se točí kolem názoru, co je považovat za prázdnou buňku. radee je spokojen s výrazem != "".
Použití CELL. Dotaz (jako většinu dotazů) lze řešit mnoha způsoby. Osobně dávám přednost stručnému a srozumitelnému zápisu podmínky. To podle mne častěji splňují logické funkce než volání funkce a testování výsledku. Např.: Výsledky vzorců ISBLANK(A1) a CELL("Type";A1)="b" jsou shodné. Každý ať si vybere.
Něco z OpenFormula:
4.7 Empty Cell
An empty cell is neither zero nor the empty string, and an empty cell can be distinguished from cells containing values (including zero and the empty string). An empty cell is not the same as an Error, in particular, it is distinguishable from the Error #N/A (not available).
6.13.14 ISBLANK
Summary: Return TRUE if the referenced cell is blank, else return FALSE
Syntax: ISBLANK( Scalar X )
Returns: Logical
Constraints: None
Semantics: If X is of type Number, Text, or Logical, return FALSE. If X is a reference to a cell, examine the cell; if it is blank (has no value), return TRUE, but if it has a value, return FALSE. A cell with the empty string is not considered blank.
6.13.21 ISNONTEXT
Summary: Return TRUE if the parameter does not have type Text, else return FALSE
Syntax: ISNONTEXT( Scalar X )
Returns: Logical
Constraints: None
Semantics: If X is of type Text, ISNONTEXT returns FALSE, else TRUE. If X is a reference, it examines what X references. References to empty cells are not considered text, so for reference to an empty cell ISNONTEXT will return TRUE
6.13.25 ISTEXT
Summary: Return TRUE if the parameter has type Text, else return FALSE.
ISTEXT(X) is equivalent to NOT(ISNONTEXT(X)).
Syntax: ISTEXT( Scalar X )
Returns: Logical
Constraints: None
Semantics: If X is of type Text, returns TRUE, else FALSE. References to empty cells are NOT considered Text. If X is a reference, examines what X references. References to empty cells are NOT considered Text, so a reference to a empty cell will return FALSE.
A aby se to nepletlo, ještě
6.13.8 COUNTBLANK
Summary: Count the number of blank values
Syntax: COUNTBLANK( ReferenceList R )
Returns: Number
Constraints: None.
Semantics: Counts the number of blank cells in the Reference provided. A cell is blank if the cell is empty for purposes of COUNTBLANK. If ISBLANK(R) is true, then it is blank. A cell with numeric value zero ('0') is not blank. It is implementation-defined whether or not a cell returning the empty string ("") is considered blank; because of this, there is a (potential) subtle difference between COUNTBLANK and ISBLANK.
Pozn.: Tato funkce v Excelu do prázdných "" započítává, tj. implementace funkce není kompatibilní s Excelem.