2009-03-31 5 views
8

Voglio una funzione di foglio di calcolo che produrrà una somma di tutti i valori nella colonna B per quando la colonna A è uguale a 'X' e quando è uguale a 'Y'Quale sarebbe la funzione del foglio di calcolo per sommare tutti i valori in una colonna in base ai criteri di un'altra colonna (sto usando il foglio di calcolo di google)

A  B 

X 10 
Y  3 
X  7 
X 22 
Y  4 
Y  9 

l'output dovrebbe assomigliare alla seguente (dove 39 & 16 sono risultati delle formule):

X 39   -> 10 + 7 + 22 
Y 16   -> 3 + 4 + 9 
+0

e sì, io sono foglio di calcolo noob =) –

+0

Appartiene a webapps.stackexchange –

risposta

13

Qualcosa di simile

X 10 
Y 3 
X 7 
X 22 
Y 4 
Y 9 

X "=SUMIF(A1:A6;A8;B1:B6)" 
Y "=SUMIF(A1:A6;A9;B1:B6)" 
+0

ha funzionato come un fascino. Grazie. –

1

One soluzione rapida e sporca consiste nel creare due nuove colonne. Per ogni riga x, Cx dovrebbe essere qualcosa come = Ax == 'X'? Bx: 0. Fai lo stesso per la colonna D, ma controlla Ax == 'Y'. Poi somma C e D.

(Non sono sicuro se questo corrisponde sintassi foglio di calcolo di Google esattamente.)

+0

una ragione per cui non riesco ad aggiungere più colonne è perché sto costruendo un modulo google e se aggiungo colonne diventa davvero pazzesco. Devo inserire questa formula su un foglio di lavoro separato senza modificare il foglio di lavoro utilizzato dal modulo di Google. –

2

È possibile utilizzare SUMPRODUCT per calcolare i totali. Per i valori "X":

=SUMPRODUCT((A1:A6="X")*(B1:B6)) 

per i valori "Y":

=SUMPRODUCT((A1:A6="Y")*(B1:B6)) 

Speranza che aiuta,

Eric Melski

EDIT: A quanto pare è necessario utilizzare ARRAYFORMULA per utilizzare SUMPRODUCT nel foglio di lavoro di Google. Vedi ad esempio http://www.google.com/support/forum/p/Google+Docs/thread?tid=13a3eb824446e891&hl=en

+0

Per quanto mi riguarda, ora, non funziona in Googledocs – Martin

+0

Credo sia supportato, ma è necessario utilizzare ARRAYFORMULA per utilizzare SUMPRODUCT. Vedi la mia modifica sopra. –

+0

+1: In Excel 2003 è stato possibile eseguire = SUMPRODUCT ((A1: A6 <> "" *) * (B1: B6)) per contare solo gli elementi da B1 a B6 in cui c'era qualcosa nel corrispondente da A1 a A6. Grazie per la risposta (alla mia domanda leggermente diversa)! – Craig

0

Il fatto che Google Docs non supporta il sumproduct e l'operatore - come fa Excel è un po 'fastidioso. Potresti sempre replicare la funzione usando più colonne, ma come hai risposto in uno dei tuoi commenti, questo sembra impossibile.

È possibile controllare se una colonna nascosta è visualizzata nel modulo. Se non lo è, questa è la strada da percorrere.

6

uso SUMIF(range, criteria, sum_range): (valori di somma tra B2-B8, utilizzando il valore in A2-A8 come criterea, utilizzando la condizione specificata)

=SUMIF(A2:A8,"=X",B2:B8) 
=SUMIF(A2:A8,"=Y",B2:B8) 
1

Che dire

=query(A:B, "select A, sum(B) group by A order by sum(B) desc") 
+0

Forse dovresti aggiungere una piccola spiegazione a questo. – simbabque