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
|