Sumuj wartości o tej samej nazwie

45

Mam Arkusze Google z długą listą nazwisk i kwot. Wiele nazw jest duplikatami. Na przykład:

John  | 10
Bill  | 2
Susan | 3
Frank | 4
Sally | 10
John  | 2
Susan | 2
John  | 3

Czy istnieje jakiś automatyczny sposób na połączenie wszystkich wartości, aby uzyskać listę bez duplikatów nazwisk i pojedynczej sumy wszystkich wpisów każdej osoby?

Na przykład:

John  | 15
Bill  | 2
Susan | 5
Sally | 10
Piotr
źródło

Odpowiedzi:

51

Zakładając, że nazwy są w A1: A8, kwoty w B1: B8, najpierw potrzebujemy unikalnej listy nazw w D1:

=UNIQUE(A1:A8)

Następnie użyj sumy warunkowej w E1:

=SUMIF(A$1:A$8,D1,B$1:B$8)

Proszę zanotować $prefiks przed numerem komórki. Pozwoli to zachować te same zakresy, gdy skopiujemy zawartość komórki w dół (wybierz komórki E1: E8 i naciśnij Ctrl+ D).

Zmogas
źródło
2
Wspaniały! Wystarczy dodać, że w niektórych lokalizacjach musisz zastąpić przecinek średnikiem, tj. = SUMIF (A 1 USD: 8 USD; D1; B 1 USD: 8 USD).
JLund,
Dziękuję za odpowiedź. Pozytywne. Jak posortować w kolejności malejącej według ilości? W tym przykładzie najpierw John, a potem Sally, Susan i Bill.
Vaddadi Kartick
Prosty :) = SORT (A2: B92; FALSE)
Zmogas
2
nie działa dla mnie
Gilbou
23

Jeśli używasz funkcji zapytania , nie musisz się martwić, że lista się powiększy i nie skopiujesz wystarczająco formuły sumy.

Jeśli nazwy są w A: A, a kwoty w B: B, to w D1 wprowadź:

=QUERY(A:B, "select A, sum(B) group by A")

Jest znacznie bardziej dokładna odpowiedź tutaj , ze screenów nawet.

SlimPickens
źródło
1
Co jeśli masz wiersz nagłówka? Czy musiałbyś wtedy znać konkretne indeksy początkowe i końcowe? Aha, wygląda na to, że mogę podać liczbę wierszy nagłówka ... support.google.com/docs/answer/3093343?hl=pl
qix
To chyba najczystsza metoda. Pamiętaj, że jeśli nie chcesz wysyłać zapytań do całego arkusza kalkulacyjnego (na przykład, jeśli masz niepowiązane dane poniżej), możesz podać zakres taki jak A2: B28). Ponadto lubię używać funkcji ZLICZANIE do łączenia wielu kolumn z mojego arkusze kalkulacyjne w jednym wierszu do grupowania - takie jak Nazwisko, Imię.
Evan Donovan,
7

Spróbuję również na tym: wolę korzystać z funkcji filtrowania. Korzystanie z wyboru kolumn umożliwia automatyczne powiększanie tabeli podczas dodawania „nowych” danych:

FILTER(B:B;A:A=D2)

Jeśli masz nagłówek, możesz go odpowiednio zmienić:

FILTER($B$2:B;$A$2:A=D2)

Wykonanie kolejnego podsumowania jest łatwe:

SUM(FILTER($B$2:B;$A$2:A=D2))

Zobacz przykład: plik, który przygotowałem z przykładem

Jacob Jan Tuinstra
źródło
6

Skorzystaj z raportu tabeli przestawnej ... w Datamenu.

Musisz upewnić się, że pierwszy wiersz ma nazwy pól.

mhoran_psprep
źródło
Jest to w rzeczywistości łatwiejsze niż formuła odpowiada.
Dannid,
Tak, to poprawna odpowiedź. Zapomnij o formułach dla takiego zadania grupowania.
giorgio79
1

Użyj następującej formuły!

Nagłówek: =UNIQUE(A:A)

Wartość: =SUMIF(A:A,UNIQUE(A:A),B:B)

Kowser
źródło