Подсчет количества вхождений в столбец?
Что было бы хорошим подходом для вычисления числа вхождений в столбец электронной таблицы? Можно ли это сделать с помощью одной формулы массива?
Пример (ввод столбца A
, столбцы B
и C
должны быть автоматически сгенерированы):
| A | B | C |
+-------+-------+-------+
| Name | Name | Count |
+-------+-------+-------+
| Joe | Joe | 2 |
| Lisa | Lisa | 3 |
| Jenny | Jenny | 2 |
| Lisa | | |
| Lisa | | |
| Joe | | |
| Jenny | | |
Ответы
Ответ 1
Try:
=ArrayFormula(QUERY(A:A&{"",""};"select Col1, count(Col2) where Col1 != '' group by Col1 label count(Col2) 'Count'";1))
22/07/2014 Некоторое время в прошлом месяце Sheets начал поддерживать более гибкую конкатенацию массивов с использованием встроенного массива. Таким образом, решение может быть немного сокращено до:
=QUERY({A:A,A:A},"select Col1, count(Col2) where Col1 != '' group by Col1 label count(Col2) 'Count'",1)
Ответ 2
Более простой подход к этому
В начале столбца B введите
=UNIQUE(A:A)
Затем в столбце C используйте
=COUNTIF(A:A, B1)
и скопируйте их во все строки столбца C.
Изменение: Если это не работает для вас, попробуйте использовать точку с запятой вместо запятой:
=COUNTIF(A:A; B1)
Ответ 3
=COUNTIF(A:A;"lisa")
Вы можете заменить критерии ссылками на ячейки из столбца B
Ответ 4
=arrayformula(if(isblank(B2:B),iferror(1/0),mmult(sign(B2:B=TRANSPOSE(A2:A)),A2:A)))
Я получил это из хорошего учебника - не могу вспомнить название - возможно, об использовании MMult
Ответ 5
Поместите следующее в B3 (кредит для Александра-Иванова для условия счета):
={UNIQUE(A3:A),ARRAYFORMULA(COUNTIF(UNIQUE(A3:A),"=" & UNIQUE(A3:A)))}
Преимущества: требуется только редактирование 1 ячейки, она включает имя, отфильтрованное по уникальности, и оно кратким.
Даунсайд: он запускает уникальную функцию 3x
Чтобы использовать уникальную функцию только один раз, разделите ее на 2 ячейки:
B3: =UNIQUE(A3:A)
C3: =ARRAYFORMULA(COUNTIF(B3:B,"=" & B3:B))