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


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.