Formula di Excel: se non vuote più celle -

Sommario

Formula generica

=IF(A1"",A1,IF(B1"",B1,IF(C1"",C1,IF(D1"",D1,"no value"))))

Sommario

Per testare più celle e restituire il valore dalla prima cella non vuota, puoi utilizzare una formula basata sulla funzione SE. Nell'esempio mostrato, la colonna D contiene le date di completamento dell'attività. La formula nella cella F5 è:

=IF(B5"",B5,IF(C5"",C5,IF(D5"",D5,IF(E5"",E5,"no value"))))

che restituisce un valore dalla prima cella non vuota, rispettivamente B5, C5, D5 o E5. Quando tutte le celle sono vuote, la formula restituisce "nessun valore". Il valore restituito quando tutte le celle sono vuote può essere regolato come desiderato.

Spiegazione

In Excel, virgolette doppie vuote ("") indicano una stringa vuota. Il simbolo è un operatore logico che significa "diverso da", quindi la seguente espressione significa "A1 non è vuoto":

=A1"" // A1 is not empty

Questa espressione viene utilizzata quattro volte nella formula mostrata nell'esempio, al fine di testare quattro celle diverse in un ordine particolare.

La struttura complessiva di questa formula è quella che viene chiamata "formula IF annidata". Ogni istruzione IF controlla una cella per vedere se non è vuota. Se non è vuoto, IF restituisce il valore da quella cella. Se la cella è vuota, l'istruzione IF passa l'elaborazione a un'altra istruzione IF:

=IF(B5"",B5,IF(C5"",C5,IF(D5"",D5,IF(E5"",E5,"no value"))))

Il flusso di un IF annidato è più facile da visualizzare se aggiungi interruzioni di riga alla formula. Di seguito, le interruzioni di riga sono state aggiunte alla formula per allineare le istruzioni IF:

= IF(B5"",B5, IF(C5"",C5, IF(D5"",D5, IF(E5"",E5, "no value"))))

Con ISBLANK

Excel contiene la funzione ISBLANK, che restituisce TRUE quando una cella è vuota:

=ISBLANK(A1) // A1 is blank

Il comportamento può essere "invertito" annidando la funzione ISBLANK all'interno della funzione NOT:

=ISBLANK(A1) // A1 is not blank

La formula sopra può essere riscritta per utilizzare ISBLANK come segue:

=IF(NOT(ISBLANK(B5)),B5,IF(NOT(ISBLANK(C5)),C5,IF(NOT(ISBLANK(D5)),D5,IF(NOT(ISBLANK(E5)),E5,"novalue"))))

Articoli interessanti...