Modulo
Contenuto
Indice 🔎︎

# Gestione di celle vuote

Nelle versioni precedenti del software, le celle vuote erano forzate ad essere numeriche 0 in alcuni contesti e stringhe vuote in altri, eccetto che nei confronti diretti dove =A1=0 e =A1="" restituivano entrambe TRUE se la cella A1 era vuota. La condizione di vuoto è mantenuta fino a che non si usa la cella, per cui sia =CERCA.VERT(...)=0 sia =CERCA.VERT(...)="" restituiscono TRUE se la ricerca restituisce una cella vuota.

Il semplice riferimento a una cella vuota viene ancora visualizzata come numerica 0 ma non necessariamente risulta essere di formato numerico, dunque anche i confronti con la cella cui ci si riferisce funzionano come dovuto.

A1 contiene un numero, B1 è vuota, C1 contiene il riferimento a B1:

Caso | Formula | Risultati e commenti
A1: 1 B1: <Vuoto> | C1: =B1 | Mostra 0
=B1=0 | VERO
=B1="" | VERO
=C1=0 | VERO
=C1="" | VERO (prima era FALSO)
=VAL.NUMERO(B1) | FALSO
=VAL.NUMERO(C1) | FALSO (prima era VERO)
=VAL.NUMERO(CERCA.VERT(1;A1:C1;2)) | FALSO (B1)
=VAL.NUMERO(CERCA.VERT(1;A1:C1;3)) | FALSO (C1, prima era VERO)
=VAL.TESTO(B1) | FALSO
=VAL.TESTO(C1) | VERO
=VAL.TESTO(CERCA.VERT(1;A1:C1;2)) | FALSO (B1, prima era VERO)
=VAL.TESTO(CERCA.VERT(1;A1:C1;3)) | FALSO (C1)
=VAL.VUOTO(B1) | VERO
=VAL.VUOTO(C1) | VERO
=VAL.VUOTO(CERCA.VERT(1;A1:C1;2)) | VERO (B1, prima era FALSO)
=VAL.VUOTO(CERCA.VERT(1;A1:C1;3)) | FALSO (C1)

Si noti che Microsoft Excel si comporta in maniera diversa e restituisce sempre un numero come risultato di un riferimento a una cella vuota o a una formula che contenga il risultato di una cella vuota. Ad esempio:

Caso | Formula | Risultati e commenti
A1: <Vuoto> | B1: =A1 | Mostra 0, ma è solo il riferimento a una cella vuota.
=VAL.NUMERO(A1) | FALSO
=VAL.TESTO(A1) | FALSO
=A1=0 | VERO
=A1="" | VERO
=VAL.NUMERO(B1) | FALSO (Microsoft Excel: VERO)
=VAL.TESTO(B1) | FALSO
=B1=0 | VERO
=B1="" | VERO (Microsoft Excel: FALSO)
C1: =CERCA.VERT(...) con risultato di cella vuota | viene mostrata vuota (Microsoft Excel: mostra 0)
=VAL.NUMERO(CERCA.VERT(...)) | FALSO
=VAL.TESTO(CERCA.VERT(...)) | FALSO
=VAL.NUMERO(C1) | FALSO (Microsoft Excel: VERO)
=VAL.TESTO(C1) | FALSO