#Excel – Come sommare se le celle contengono x oppure y

Per sommare dei valori se le celle contengono una stringa di testo oppure un’altra (cioè contengono “verde” o “blu”) è possibile utilizzare la funzione MATR.SOMMA.PRODOTTO.

Sommare se le celle contengono un valore oppure un altro

Contesto

Quando si sommano delle celle con criteri “O”, è necessario stare attenti a non raddoppiare il risultato quando vi è la possibilità che entrambi i criteri restituiscano VERO. Nell’esempio mostrato, vogliamo sommare i valori nella colonna C quando le celle in colonna B contengono “verde” o “blu”. Non possiamo usare SOMMA.PIÙ.SE con due criteri, perché SOMMA.PIÙ.SE si basa sulla logica “E”. E se proviamo a usare due SOMMA.PIÙ.SE (cioè SOMMA.PIÙ.SE + SOMMA.PIÙ.SE) ci sarebbero valori raddoppiati, perché ci sono celle che contengono sia “verde” che “blu”.

Soluzione

Una soluzione è quella di utilizzare MATR.SOMMA.PRODOTTO con VAL.NUMERO + RICERCA (o TROVA). La formula in cella F3 è:

=MATR.SOMMA.PRODOTTO(--((VAL.NUMERO(RICERCA("verde";B3:B7))+VAL.NUMERO(RICERCA("blu";B3:B7)))>0);C3:C7)

Questa formula è basata sulla porzione di codice seguente:

VAL.NUMERO(RICERCA(testo;intervallo))

Quando utilizzato con un intervallo di celle, questo frammento di codice restituisce una matrice di valori VERO/FALSO, un valore per ogni cella dell’intervallo. Dal momento che nell’esempio usiamo questa formula due volte (una volta per “verde” e una volta per “blu”), otterremo due matrici.

Poi, sommiamo queste matrici insieme (con +), che crea una nuova matrice singola di numeri. Ogni numero in questa matrice è il risultato della somma dei valori VERO e FALSO delle matrici originali. Nell’esempio mostrato, la matrice è simile alla seguente:

{2.0.2.1.0}

Abbiamo bisogno di sommare questi numeri, ma non vogliamo raddoppiare il conteggio. Quindi abbiamo bisogno di fare in modo che qualsiasi valore maggiore di zero venga conteggiato solo una sola volta. Per fare questo, trasformiamo i valori presenti in matrice in VERO o FALSO utilizzando la porzione “> 0”. Questo restituisce VERO/FALSO:

{VERO.FALSO.VERO.VERO.FALSO}

Che abbiamo poi convertito in 1/0 utilizzando il doppio unario ():

{1.0.1.1.0}

Variante che tenga conto della differenza tra maiuscole e minuscole

La funzione RICERCA ignora le maiuscole. Se avete bisogno di una soluzione che tenga conto della differenza tra maiuscole e minuscole, dovrete sostituire RICERCA con TROVA.

=MATR.SOMMA.PRODOTTO(--((VAL.NUMERO(TROVA("verde";B3:B7))+VAL.NUMERO(TROVA("blu";B3:B7)))>0);C3:C7)

 

LE SCHEDE TECNICHE DELLE FUNZIONI UTILIZZATE
LEGGI:  #Excel - Come ottenere la parte decimale di un numero

Copyright © 2014-2017  Office Academy. Tutti i diritti riservati.
Vai alla barra degli strumenti