Formula Excel: calcola solo se non è vuoto -

Sommario

Formula generica

=IF(criteria,formula(),"")

Sommario

Per eseguire una formula solo quando una o più celle non sono vuote, è possibile utilizzare la funzione SE con un criterio logico appropriato. Nell'esempio mostrato, la formula in E5 è:

=IF(COUNT(C5:C7)=3,SUM(C5:C7),"")

Poiché C7 non ha alcun valore nella schermata sopra, la formula non mostra alcun risultato. Nella schermata seguente, C7 contiene un numero e viene visualizzata la somma:

Spiegazione

L'obiettivo di questo esempio è verificare l'input prima di calcolare un risultato. Il punto chiave da capire è che qualsiasi formula valida può essere sostituita. La funzione SOMMA è utilizzata solo come esempio. La logica può anche essere regolata in molti modi per adattarsi alla situazione.

Nell'esempio mostrato, stiamo usando la funzione IF insieme alla funzione COUNT. Il criterio è un'espressione basata sulla funzione COUNT, che conta solo valori numerici:

COUNT(C5:C7)=3 // returns TRUE or FALSE

Finché l'intervallo contiene tre numeri (cioè tutte e 3 le celle non sono vuote) il risultato è VERO e SE eseguirà la funzione SOMMA. In caso contrario, il risultato è FALSO e SE restituisce una stringa vuota (""). Poiché C7 non ha alcun valore nella schermata sopra, la formula non mostra alcun risultato.

Esistono molti modi per verificare la presenza di celle vuote e di seguito vengono spiegate diverse opzioni.

Con COUNTBLANK

La funzione COUNTBLANK conta le celle vuote in un intervallo, quindi possiamo scrivere una formula leggermente più compatta come questa:

=IF(COUNTBLANK(C5:C7),"",SUM(C5:C7))

Se CONTA.VUOTO restituisce un numero diverso da zero, la funzione SE valuterà come VERO e non restituirà nulla (""). Se COUNTBLANK restituisce zero, IF restituisce FALSE e restituisce la somma.

Con ISBLANK

Nell'esempio mostrato, le celle di input sono tutte nello stesso intervallo contiguo. Nei casi in cui le celle non sono insieme, puoi utilizzare una formula come questa:

=IF(OR(ISBLANK(C5),ISBLANK(C6),ISBLANK(C7)),"",SUM(C5:C7))

Questo esempio utilizza un approccio letterale con la funzione ISBLANK. Poiché vogliamo controllare tutte e tre le celle contemporaneamente, dobbiamo usare ISBLANK tre volte all'interno della funzione OR. Questo è il test logico all'interno di IF:

OR(ISBLANK(C5),ISBLANK(C6),ISBLANK(C7)

Quando OR restituisce VERO (almeno una cella è vuota), IF restituisce una stringa vuota (""). Quando OR restituisce FALSE (nessuna cella è vuota), IF esegue la funzione SUM e restituisce il risultato:

SUM(C5:C7)

Con operatori logici

La funzione ISBLANK può essere sostituita con operatori logici standard come questo:

=IF(OR(C5="",C6="",C7=""),"",SUM(C5:C7))

In alternativa, possiamo combinare l'operatore non uguale a () con la funzione AND in questo modo:

=IF(AND(C5"",C6"",C7""),SUM(C5:C7),"")

Notare che la funzione SUM è stata spostata nel risultato TRUE. Verrà eseguito solo se C5 e C6 e C5 non sono vuoti.

Con COUNTA

Infine, puoi utilizzare la funzione CONTA.VALORI per verificare l'immissione di testo o numeri:

=IF(COUNTA(C5:C7)=3,SUM(C5:C7),"")

Finché l'intervallo C5: C5 contiene tre valori (numeri o testo), il risultato sarà TRUE e verrà eseguita la funzione SUM. Questo non ha davvero senso per l'esempio mostrato (che richiede un input numerico) ma può essere utilizzato in altre situazioni.

Articoli interessanti...