Сума значень з однойменною назвою


45

У мене є Google Таблиці з довгим списком імен та сум. Багато імен є дублікатами. Наприклад:

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

Чи є якийсь автоматизований спосіб поєднання всіх значень, щоб я отримав список без жодних повторюваних імен та єдиної суми всіх записів кожної людини?

Наприклад:

John  | 15
Bill  | 2
Susan | 5
Sally | 10

Відповіді:


51

Припустимо, що імена знаходяться в A1: A8, кількості в B1: B8, для початку нам потрібен унікальний список імен у D1:

=UNIQUE(A1:A8)

Тоді використовуйте умовну суму в E1:

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

Зверніть увагу на $префікс перед номером комірки. Це збереже ті ж діапазони, коли ми будемо копіювати вміст комірок вниз (вибираємо комірки E1: E8 і натискаємо Ctrl+ D).


2
Чудово! Просто хочу додати, що в деяких локальних місцях вам потрібно замінити кому на напівкрапку, тобто = SUMIF (A $ 1: A $ 8; D1; B $ 1: B $ 8).
JLund

Дякую за відповідь. Оголошено. Як ви сортуєте це у порядку зменшення за кількістю? У цьому прикладі спочатку прийшов би Джон, потім Саллі, Сьюзен і нарешті Білл.
Ваддаді Картік

SImple :) = SORT (A2: B92; FALSE)
Змогас

2
не працює для мене
Gilbou

23

Якщо ви використовуєте функцію запиту, вам не доведеться турбуватися про те, що список зростає і не скопіювали формулу суми вниз досить далеко.

Якщо імена в A: A, а суми в B: B, то в D1 введіть:

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

Існує набагато більш ретельний відповідь тут , скріншоти навіть.


1
Що робити, якщо у вас був рядок заголовка? Чи повинні ви тоді знати конкретні індекси початку та кінця рядків? Ага, схоже, я можу вказати кількість рядків заголовків ... support.google.com/docs/answer/3093343?hl=uk
qix

Це найчистіший метод, я думаю. Зауважте, що якщо ви не хочете запитувати всю електронну таблицю (наприклад, якщо у вас є непов'язані дані нижче), ви можете вказати діапазон, як A2: B28) Також я люблю використовувати функцію CONCATENATE для об'єднання декількох стовпців із мого таблиці в один рядок для групування - як прізвище, ім'я.
Еван Донован

7

Я теж спробую зробити це: я вважаю за краще використовувати функцію фільтра. Використання вибору стовпців дозволяє таблиці автоматично збільшуватися при додаванні "нових" даних:

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

Якщо у вас є заголовок, ви можете відповідно змінити його:

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

Зробити підрядний підсумок легко:

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

Дивіться приклад: Файл, який я підготував із прикладом


6

Скористайтеся звітом зведеної таблиці ... під Dataменю.

Вам потрібно буде переконатися, що перший рядок має назви полів.


Це насправді простіше, ніж відповідає формула.
Даннід

Так, це правильна відповідь. Забудьте формули для такого завдання групування.
giorgio79

1

Використовуйте наступну формулу!

Заголовок: =UNIQUE(A:A)

Значення: =SUMIF(A:A,UNIQUE(A:A),B:B)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.