Come sommare solo i valori in una colonna che hanno un valore univoco in un'altra colonna?


1

Buon pomeriggio, questo è il mio primo post su SU, ma ho usato spesso la risorsa per aiutarmi a risolvere varie domande.

Non ho avuto fortuna nel trovare una risposta a quanto segue:

In Excel per Mac v15 ho una grande tabella con una colonna che voglio riassumere. Tuttavia, la colonna contiene valori duplicati (per un motivo che non posso cambiare). La colonna A ha ID univoci per ogni riga che ha dati distinti. L'ID viene ripetuto per le righe duplicate. Un esempio è il seguente:

A --------- B ------------ C  
ID --- COLOUR --- VALUE  
1 ----- Orange -------- 4  
2 ------Brown --------- 3  
2 ----- Red ------------ 3  
2 ----- Green --------- 3  
3 ----- Blue ----------- 8  
4 ----- Green --------- 2  
4 ----- Brown --------- 2  
5 ----- Purple --------- 6  
5 ----- Brown --------- 6  
5 ----- Red ------------ 6  
6 ----- Blue ----------- 2

Quindi sto cercando di creare una formula che somma la colonna C, ma ignora le righe in cui la colonna A ha un numero ID ripetuto: la risposta nell'esempio sarebbe (4 + 3 + 8 + 2 + 6 + 2) = 25

Qualsiasi aiuto su questo sarebbe molto apprezzato, e se hai bisogno di ulteriori informazioni, fammelo sapere! Grazie.

EDIT: Grazie a tutti finora per il vostro aiuto, tutti i suggerimenti sembrano funzionare bene. Per rendere le cose leggermente più complicate:

Tabella 2 Ora devo essere in grado di sommare la colonna D se la colonna E indica "Ordinato" e quindi la colonna B indica "Piccola", ignorando comunque i duplicati come prima. Quindi in questo esempio la risposta sarebbe (4 + 8 + 6) = 18.

I dati per la tabella provengono da un dump di dati e quindi non ci sarà sempre lo stesso numero di righe di dati e non ci sarà sempre ogni opzione di testo presente nella tabella. Avrei dovuto menzionarlo prima, ma ho pensato che avrei potuto ordinare l'ultima parte una volta che avessi saputo fare la prima parte!

Grazie ancora per qualsiasi aiuto offerto! Molto apprezzato.


1
Avrai bisogno di una colonna di supporto.
Scott Craner,

Risposte:


2

Possiamo usare una colonna Helper per evitare le formule di array . In D1 inserisci 1 , in D2 inserisci:

=IF(COUNTIF($A$1:A1,A2)>0,0,1)

e copia giù. Questo "segna" i valori da aggiungere. Quindi in un'altra cella:

=SUMPRODUCT(C:C*D:D)

inserisci qui la descrizione dell'immagine


SUMPRODUCT è una formula di tipo array. :)
Scott Craner,

@ScottCraner hai ragione .... (in un certo senso)
Gary's Student il

1
È possibile modificare la prima formula per =IF(COUNTIF($A$1:A1,A2)>0,0,A2)poi semplicemente sommare:SUM(D:D)
Scott Craner

Grazie Gary e Scott per il tuo aiuto finora - molto utile. Ho modificato la domanda originale e mi chiedevo se potreste essere in grado di dare un'occhiata per vedere se potete aiutare ulteriormente? Grazie.
sipound

2

Non è necessaria una colonna aggiuntiva, basta usare una formula:

=SUMPRODUCT(N(A1:A11<>A2:A12),C2:C12)

Nota, non è una formula di matrice, solo una semplice.

inserisci qui la descrizione dell'immagine

Modifica :

È possibile combinare le condizioni come segue:

=SUMPRODUCT(N(A2:A25<>A1:A24)*(E1:E24="Ordered")*(B1:B24="Small"),D1:D24)

ancora una sola formula semplice.

inserisci qui la descrizione dell'immagine

Modifica2 :

Usando un suggerimento da questa risposta per ottenere l'ultima riga con il numero in colonna A, puoi usare questa funzione mostro

=SUMPRODUCT(N(OFFSET($A$1,,,MATCH(99^99,$A:$A,1))<>OFFSET($A$2,,,MATCH(99^99,$A:$A,1)))*(OFFSET($E$1,,,MATCH(99^99,$A:$A,1))="Ordered")*(OFFSET($B$1,,,MATCH(99^99,$A:$A,1))="Small"),OFFSET($D$1,,,MATCH(99^99,$A:$A,1)))

che avrebbe dovuto funzionare con un numero arbitrario di righe.

inserisci qui la descrizione dell'immagine


Ciao g.kov. Grazie per la tua semplice formula che ti dà la possibilità di non dover usare una colonna helper. Come accennato in precedenza, suppongo che non sarai in grado di dare un'occhiata alla domanda modificata per vedere se puoi aiutarmi con la parte successiva? Grazie mille.
sipound

@sipound: aggiornato.
g.kov,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.