Funzione DB.SOMMA , ovvero un SOMMA.SE a più criteri.

Questo articolo soddisferà le problematiche di tutti coloro che devono poter interrogare tabelle di dati (dette appunto: database) per ottenere totali di dati presenti  individuati in base a criteri anche multipli, senza ricorrere a formule matriciali;

per poter sfruttare la funzione DB.SOMMA dovremo avere quindi dei dati in un database (una tabella), ed un'area (staccata dal database) nella quale scrivere i "criteri" di ricerca, area in cui impostare anche i nomi dei campi del database. Ma partiamo con ordine, intanto vediamo la sintassi della funzione letta nella guida in linea (F1):

La guida in linea ci dice al proposito:  Somma i numeri di una colonna di un elenco o database che soddisfano i criteri specificati.

La sua sintassi è  Funzione DB.SOMMA(database;campo;criteri) : (clicca per leggere)


Ad una prima lettura delle descrizioni fornite dalla guida, può sfuggire o non essere pienamente comprensibile come "lavora" DB.SOMMA: con una tabella contenente dati, possiamo, modificando a volontà i criteri di scelta basati sui "campi" presenti nel database,  ottenere risultati diversi con la stessa formula, oppure modificare leggermente la formula., o ancora modificare il nome dei "campi" e la formula. Per definire i valori dei "criteri di scelta" è opportuno usare gli "operatori di confronto" che servono alla funzione come comparativi di ricerca; sarà quindi necessario imparare a familiarizzarsi con gli operatori: uguale a, maggiore di, minore di, diverso da, ecc. Esiste un problemino proprio con l'operatore "uguale a" (simbolo di uguale =) : excel interpreta il segno di = ad inizio cella, come immissione di una formula, e nel caso di una comparazione da usarsi nella funzione, è necessario anteporre al simbolo uguale un apostrofo ( '= )in questo modo excel interpreta il segno = come l'operatore di confronto.

È possibile utilizzare come area per scrivere gli argomenti dei criteri, un intervallo qualsiasi, purché includa almeno un'etichetta di colonna e una cella sottostante l'etichetta di colonna in cui specificare il valore da verificare (vedi area bordata in rosso nell'immagine sotto).

È possibile collocare l'intervallo di criteri in qualsiasi posizione sul foglio di lavoro, non posizionarlo tuttavia al di sotto dell'elenco (database).

Assicurarsi che l'intervallo di criteri non si sovrapponga all'elenco.

Esempi:

Se dalla guida in linea, scegliamo "esempio" e copiamo/incolliamo l'esempio, a partire dalla cella A1 in un foglio di lavoro, otterremo una situazione simile:

Ho evidenziato in blu l'area dati, o tabella che dir si voglia, altresì detta "database". Qui sono contenuti i dati, divisi in colonne (campi), campi di cui nella riga 5 esistono le intestazioni di colonna altrimenti dette "nomi dei campi".

In rosso invece è evidenziata l'area che servirà a impostare i "criteri" sui campi che decideremo;è necessario che l'intervallo comprenda i nomi dei campi ed almeno 1 riga sottostante dove scrivere il oppure i "criteri"
Nell'esempio infatti vogliamo sapere il totale del campo: "profitto" impostando nel campo "albero" (area rossa) (1° criterio) il criterio: "melo", ma solo quei meli la cui altezza sarà superiore a 3 (2° criterio) e inferiore a 5 (3° criterio); come si nota, sono state usate due colonne per definire i limiti del campo "altezza" in quanto è impossibile usare una stessa cella per inserire l'unica istruzione maggiore di - inferiore a .

Colorando gli "argomenti" della funzione, avremo quindi:
Funzione DB.SOMMA(database;campo;criteri) cioè:

 

=DB.SOMMA(A5:E11;E5;A1:F2) ed otterremo 75 che è il valore del campo "profitto" del "criterio" melo altezza 4, che è l'unico "melo" che risponde ai "criteri" impostati nei campi altezza", cioè superiore a 3 e inferiore a 5.

 

Mi sembrano evidenti le implicazioni della funzione; facciamo due esempi variando di volta in volta qualcosa: aggiungiamo il "pero" e variamo un intervallo nella formula:

  • aggiungiamo nella cella A3 il nome di un'altra pianta, il "Pero" perchè vorremo sapere sia il totale del campo "Profitto" del Melo (relativa alle altezze già viste), sommato al totale del "Profitto" dei "Peri" la cui età sia inferiore ai 10 anni.

  • in questo esempio stiamo usando 3 criteri diversi e basterà variare la formula includendo solo la riga 3 dell'argomento "campo criteri" della funzione, cioè A1:F3 anzichè  A1:F2  

=DB.SOMMA(A5:E11;E5;A1:F3) ed otterremo 151,8 che è la somma del valore del campo "profitto" del "criterio" "melo" altezza 4, che è l'unico "melo" che risponde ai "criteri" impostati nei campi altezza", cioè superiore a 3 e inferiore a 5, cioè 75,  più il valore del campo "profitto" del "criterio" "pero" la cui età deve essere inferiore a 10 anni, quindi 76,8

 

Anche in questo esempio variamo 3 criteri, ma anzichè aggiungere un albero,  lavoreremo su uno stesso prodotto: useremo ancora il Melo, ma vorremo la somma dei meli la cui altezza è compresa tra 3 e 5, aggiungeremo i meli la cui età è inferiore ai 10 anni, e aggiungeremo i meli il cui rendimento sia uguale o superiore a 10.

In questi casi (criteri diversi di uno stesso articolo) NON possiamo lavorare sulla stessa riga dove esiste già un criterio di ricerca, ma dovremo aggiungere tante righe quanti sono i criteri; altra considerazione da fare è che se uno o più criteri indicizzano uno stesso valore di "Profitto", detto valore viene conteggiato una volta sola; e per l'esempio che stiamo esaminando il valore 75 di "Profitto" relativo al Melo viene reperito sia dal criterio "Altezza" sia dal criterio "Rendimento", e verrà sommato quindi una sola volta. Vediamo come impostare il tutto: intanto aumentiamo a 4 il riferimento dell'intervallo dell'argomento "criteri" della formula, quindi anzichè A1:F3 imposteremo A1:F4,

=DB.SOMMA(A5:E11;E5;A1:F4) ed otterremo 225 che è la somma del campo "Profitto"
 relativa ai 3 criteri "Melo"; come si nota a lato, la riga 9 ha due valori (valore 4 e 10) che  corrispondenti ai "criteri" ma verrà sommato una sola volta il valore del campo "Profitto", come è giusto;

 

Riassumendo:  visto che il Somma.Se è la parola più ricercata nei motori di ricerca da parte dei lettori, direi che usare la Funzione DB.SOMMA() agevola notevolmente tutti coloro che cercano soluzioni ad interrogazioni multiple sulle proprie tabelle o database. Invito i lettori a sfruttare la guida in linea dove troverete queste funzioni molto interessanti proprio per interrogazioni su database. Ciascuna di queste funzioni, denominate con il termine collettivo di DB.funzione, utilizza tre argomenti: database, campo e criteri. Tali argomenti si riferiscono agli intervalli del foglio di lavoro che vengono utilizzati dalla funzione del database

DB.MEDIA Restituisce la media delle voci del database selezionate
DB.CONTA.NUMERI Conta le celle di un database che contengono numeri
DB.CONTA.VALORI Conta le celle non vuote in un database
DB.VALORI Estrae da un database un singolo record che soddisfa i criteri specificati
DB.MAX Restituisce il valore massimo dalle voci di un database selezionate
DB.MIN Restituisce il valore minimo dalle voci di un database selezionate
DB.PRODOTTO Moltiplica i valori in un determinato campo di record che soddisfano i criteri del database
DB.DEV.ST Restituisce una stima della deviazione standard sulla base di un campione di voci di un database selezionate
DB.DEV.ST.POP Calcola la deviazione standard sulla base di tutte le voci di un database selezionate
DB.SOMMA Aggiunge i numeri nel campo colonna di record del database che soddisfa determinati criteri
DB.VAR Restituisce una stima della varianza sulla base di un campione da voci di un database selezionate
DB.VAR.POP Calcola la varianza sulla base di tutte le voci di un database selezionate
INFO.DATI.TAB.PIVOT Restituisce i dati memorizzati in una tabella pivot

 

Precisazione.

Nell'utilizzo dela funzione DB.SOMMA(), quando si usa un criterio di ricerca, può necessitare di definire con precisione il criterio stesso quando nel database appaiono similitudini; riferendomi quindi agli esempi sopra fatti (con nomi di alberi) se insieme al nome "Melo" nell'elenco comparisse anche il nome "Melograno" e comunque parole composte con la base "Melo", e si usasse come criterio di ricerca proprio la parola "Melo", la funzione restituirebbe la somma anche dei valori relativi a tutti i dati in cui compare il "Melo" del criterio di ricerca che corrispondano ai valori richiesti.

In casi simili, è sufficiente, per far capire alla funzione che desideriamo solo i risultati relativi ad un preciso criterio, useremo il simbolo di uguale ( = ) posto davanti al criterio; cioè come dire: uguale a Melo (=Melo); visto però, come già anticipato ad inizio articolo, che il simbolo di = viene frainteso da excel che lo interpreterebbe come inserimento di una formula, useremo quindi un apostrofo prima dell' uguale quindi '=Melo (l'apostrofo dice ad excel che ciò che segue è una stringa, e poi nella cella non risulta visibile) .

 

 

prelevato sul sito www.ennius.altervista.org