підрахувати різні значення в електронній таблиці


84

У мене є електронна таблиця Google із стовпцем, який виглядає так:

City
----
London
Paris
London
Berlin
Rome
Paris

Я хочу порахувати виступи кожного окремого міста (тому мені потрібна назва міста та кількість виступів).

City   | Count
-------+------
London |  2
Paris  |  2
Berlin |  1
Rome   |  1

Як це зробити?


Мою відповідь видалено через те, що я не зміг створити робочий приклад. Я рекомендую поглянути на комбінацію з IF()іCOUNTIF()
sascha

Відповіді:


103

Посилання на робочі приклади

Рішення 0

Це можна здійснити за допомогою зведених таблиць.

Приклад зведеної таблиці - підраховуйте рядки за значенням

Рішення 1

Використовуйте uniqueформулу, щоб отримати всі різні значення. Потім використовуйте, countifщоб отримати підрахунок кожного значення. Дивіться посилання на робочий приклад вгорі, щоб побачити, як саме це реалізовано.

Unique Values        Count
=UNIQUE(A3:A8)       =COUNTIF(A3:A8;B3)
                     =COUNTIF(A3:A8;B4)
                     ...

Рішення 2

Якщо ви налаштуєте свої дані як такі:

City    
----    
London   1
Paris    1
London   1
Berlin   1
Rome     1
Paris    1

Тоді наступне дасть бажаний результат.

=sort(transpose(query(A3:B8,"Select sum(B) pivot (A)")),2,FALSE)

Я впевнений, що є спосіб позбутися другого стовпця, оскільки всі значення будуть дорівнювати 1. На мою думку, це не ідеальне рішення.

через http://googledocsforlife.blogspot.com/2011/12/counting-unique-values-of-data-set.html

Інші, можливо, корисні посилання


Це спрацювало. Дякую. Забавно, що я вже застосував друге рішення з іншим набором, але не думав про це тут.
Marius Bancila

для рішення 2: можна залишити стовпець B порожнім, а потім використовувати "count" замість "sum": = sort (transpose (query (A3: B8, "Select count (B) pivot (A)")), 2, FALSE )
wivku

... але як мені створити зведену таблицю? хоча ця відповідь виглядає чудово і детально, мене врятувала більш пряма відповідь. тут я навіть не помітив - більш простих - наведених альтернативних рішень 1 і 2. Шкода :(
Бальміпур,

1
@Balmipour Data> Pivot Table>, а потім просто скопіюйте знімок екрана.
Joshua Dance

Щойно повернувся сюди після вашого коментаря. Я не здогадався, що французькою мовою для "зведених таблиць" було "tableaux croisés dynamiques". Думаю, я міг би шукати трохи кращого того дня, але принаймні, знання пункту меню було просто в "Дані" дозволило мені його знайти.
Бальміпур

25

Ви можете використовувати queryфункцію, тому, якщо ваші дані були в колонці A, де перший рядок був заголовком стовпця ...

=query(A2:A,"select A, count(A) where A != '' group by A order by count(A) desc label A 'City'", 0)

врожайність

City    count 
London  2
Paris   2
Berlin  1
Rome    1

Посилання на робочий аркуш Google.

https://docs.google.com/spreadsheets/d/1N5xw8-YP2GEPYOaRkX8iRA6DoeRXI86OkfuYxwXUCbc/edit#gid=0


Цей прийом працював добре і його було легше застосувати у моєму конкретному випадку. Однак, як не дивно, запит, здається, порушився (тобто він нічого не видасть), якщо в стовпці, що підраховується, є більше одного чіткого числового значення. Це спрацювало, коли я перетворив числові значення у їхні еквіваленти рядків.
Matt V.

@MattV. Я спробував додати різні числові значення до підрахованого стовпця, і запит спрацював чудово. docs.google.com/spreadsheets/d/…
Майк Латч,

Щоб позначити інші стовпці, точно повторіть їх визначення. У цьому прикладі:label A 'City', count(A) 'Total'
Брайан Роуч,

21

=iferror(counta(unique(A1:A100))) підраховує кількість унікальних комірок від А1 до А100


2
Ви можете пояснити функцію iferror () у цьому випадку? counta (унікальний (A1: A100)) дав мені результат, який я шукав.
Рагу

10
OP не просив про підрахунок унікальних значень, але якщо ви цього хочете, ви можете спростити це, використовуючи = COUNTUNIQUE (A: A)
wivku

6

Не зовсім те, що запитав користувач, але простий спосіб просто підрахувати унікальні значення:

Google представив нову функцію для підрахунку унікальних значень лише за один крок, і ви можете використовувати це як вхід для інших формул:

=COUNTUNIQUE(A1:B10)


1
Це поверне лише 1 число. Кількість унікальних значень. Однак OP запитав, як підрахувати кожне унікальне значення.
Joshua Dance

3
@JoshuaDance Ви маєте рацію, але публікація опера називається "підрахувати різні значення в електронній таблиці". Це виглядає для мене законною відповіддю на це конкретне запитання. Тільки зауважте, що він не враховує "порожню клітинку" як значення
Бальміпур,

1
Якщо у вас все добре, я поки що це залишу. Якщо занадто багато користувачів не вважають цю помилкову відповідь, тому я її видалю. @Balmipour
Rudolf Real

1
Це саме те, що мені потрібно було.
FellyTone84,

6

Це працює, якщо ви просто хочете підрахувати унікальні значення, наприклад, у наступному діапазоні

=counta(unique(B4:B21))

0

Це схоже на рішення 1 від @JSuar ...

Припустимо, що вихідні дані про місто - це іменований діапазон dataCity. На новому аркуші введіть наступне:

    A                 | B
  ----------------------------------------------------------
1 | =UNIQUE(dataCity) | Count
2 |                   | =DCOUNTA(dataCity,"City",{"City";$A2})
3 |                   | [copy down the formula above]
4 |                   | ...
5 |                   | ...

-3

= УНІКАЛЬНИЙ ({фільтр (Core! L8: L27, isblank (Core! L8: L27) = false), запит (ArrayFormula (count (Core! L8: L27, Core! L8: L27)), "виберіть Col1 де Col1 < > 0 ")})

Ядро! L8: L27 = список


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