Sommare valori in base a criterio e confrontarli con altro valore

Buongiorno a tutti,
ho questa necessità.
Ho un lungo elenco di persone identificate per matricola e, associate a queste persone, dei valori. Per alcune il valore è uno quindi ho una sola riga con matricola, dati personali e 1 valore, per altre possono esserci anche 15 righe e quindi 15 valori.

In primis vorrei sapere come fare ad avere un solo valore per ognuno quindi come fare affinché libreoffice per ogni matricola che si ripete più volte faccia la somma dei diversi valori per ottenerne uno.

In secondo luogo mi serve confrontare questi valori con un secondo elenco, dove ci sono le stesse matricole, per verificare che i valori corrispondano.

Quindi io al momento ho un file dove c’è

|123456|Cognome|Nome|6| e non ho problemi perché il valore è 1 solo

ma ho anche

|1234567|Cognome|Nome|8|
|1234567|Cognome|Nome|3|
|1234567|Cognome|Nome|56|
e devo calcolare in modo automatico 8+3+56

Dopodiché devo confrontare tutti questi valori con un secondo file dove c’è scritto
|1234567|Cognome|Nome|67|

Grazie mille a chi vorrà rispondermi

Ciao. Ti posto un esempio dove dalla cella F2 ti ho ricavato gli univoci.
In F2 da tirare in basso e a destra di 3 metti
=SE.ERRORE(INDICE(A$2:A$39;CONFRONTA(0;INDICE(CONTA.SE($F$1:F1;$A$2:$A$39););0));"")
poi in I2 per le somme usa
=SOMMA.SE($A$2:$A$40;F2;$D$2:$D$40)
ed infine per la verifica in J2
=SE(I2="";"";SE(I2=CERCA.VERT(F2;Foglio2.$A$2:$D$40;4;0);"OK";"Verfica"))
sommare in base a criterio.ods (27.3 KB)

Ciao e grazie! Essendo piuttosto tarda ho seguito le istruzioni dell’altro commento perché le formule erano più semplice per me…

però potresti aiutarmi in questo se vuoi…
nel tuo file nella colonna I hai inserito i somma.se, come hai fatto a copiare la formula nelle celle sotto la prima senza che anche le aree scalassero? Le hai inserite una per una? Se io copio =SOMMA.SE($A$2:$A$40;F2;$D$2:$D$40) nella cella inferiore diventa a3a41;f3;d3:d41 ecc

Devi usare i riferimenti assoluti, il simbolo del dollaro “$”, anteposto ai riferimenti di riga e colonna.
Guarda le formule che ti ho postato sopra.
Se non lo fai trascinando le formule in basso, come hai notato, i riferimenti scalano.

no vabbè sappi che mi sto vergognando :rofl: :sweat_smile:

in realtà l’ho appena fatto e non funziona, ho riscritto la formula come =SOMMA.SE($B2:$B1338;B2;$F2:$F1338) e trascinandola o copiaincollandola le aree cambiano lo stesso nelle righe sottostanti

errore mio…ecco quella giusta =SOMMA.SE($B$2:$B$1338;B2;$F$2:$F$1338)

Sarebbe meglio allegare un file di esempio, comunque:
il primo problema si risolve con la funzione SOMMA.SE, il secondo con la funzione CERCA.VERT.
Usando sul primo elenco la creazione guidata di SOMMA.SE, alla voce Area inserisci l’intervallo di celle in cui sono riportate le matricole, alla voce Criteri il riferimento ad una singola matricola, alla voce Area della somma l’intervallo di celle in cui si trovano i valori da sommare. E’ importante che i due intervalli “Area” ed “Area della somma” comprendano le stesse righe. Poi ricopi la funzione lungo tutto l’elenco; ovviamente per le matricole che si ripetono avrai più volte la stessa somma, ma questo non creerà problemi nella seconda fase.
Sempre usando la creazione guidata, imposti CERCA.VERT sul secondo elenco così:
Criterio di ricerca è ua singola matricola compresa nel secondo elenco;
Matrice è l’area del primo elenco partendo dalla colonna delle matricole e arrivando alla colonna dove hai impostato la funzione SOMMA.SE;
Indice è il numero di colonne comprese nell’area della matrice;
in Ordinamento scrivi il numero 0
Anche qui ricopi la funzione lungo tutto il secondo elenco.
CERCA.VERT riporterà l’errore #N/D se non trova la matricola indicata come criterio di ricerca, e il valore ottenuto con SOMMA.SE quando invece trova la matricola (se è presente più volte, pesca comunque sempre il primo valore e ignora i successivi).

Ciao e grazie.
Ho provato come mi hai detto ma nel momento in cui copio la formula nella cella sottostante tutte le aree scalano di una riga (quindi se ad esempio nella prima cella c’è =SOMMA.SE(B2:B1338;B2;F2:F1338) nella cella sottostante c’è =SOMMA.SE(B3:B1339;B3;F3:F1339). Se questo ha senso per il criterio di ricerca che deve effettivamente diventare B3 non deve essere così per area e area della somma che dovrebbero essere sempre B2:B1338. Come posso fare senza inserire manualmente le formule in ogni riga?
Grazie ancora

Metti il $ davanti ai riferimenti di riga e di colonna che non devono cambiare

Sì hai ragione devi perdonarmi…