У меня есть большая таблица, которая уже организована с использованием фильтров и т. Д. Я хотел бы добавить сводку под определенными столбцами, которые содержат количество различных значений в этом столбце.
Там нет функции, =COUNTDISTINCT(A2:A100)
так что я могу сделать вместо этого? (Excel 2003)
Я не могу точно использовать ответы на этот похожий вопрос, потому что я не хочу изменять таблицу или фильтрацию. Мне нужно дополнение на листе, а не модификация .
microsoft-excel
worksheet-function
Торбен Гундтофте-Бруун
источник
источник
for each [i] in A2:A100 DO:{ sum += (([i]<>"")/COUNTIF(A2:A100,[i])) }
правильно ? У меня возникли небольшие проблемы с пониманием того, как он знает, как перечислить условный и 2-й параметр COUNTIF, но не 1-й параметр COUNTIF? Является ли эта магия DWIM документированной / объясненной где-либо MS? Было бы неплохо знать, как написать это намеренно.=SUMPRODUCT((A2:A100<>"")/COUNTIF(A2:A100,A2:A100&""))
. Это гарантирует, чтоCOUNTIF
никогда не возвращает 0 для пустых строк, что приведет кDIV/0
ошибке.Я нашел решение здесь которое кажется невероятным окольным путем. Но эй, это работает ...
а затем нажмите Ctrl+ Shift+ Enter. Нажатие только Enterдаст неправильный результат.
источник
Найдены два ресурса для вас:
http://www.excelforum.com/excel-worksheet-functions/365877-count-distinct-values.html
а также
http://www.cpearson.com/excel/Duplicates.aspx
Вы должны быть в состоянии найти работоспособное решение оттуда.
источник
Эта статья показывает это для текстовых значений:
и это для числовых значений:
В этой статье показаны похожие формулы, а также показан метод с использованием фильтров.
источник
= СУММ (1 / СЧЕТЕСЛИ (А2: А100; A2: A100))
Подтвердите с помощью Ctrl + Shift + Enter
Для каждой ячейки он подсчитывает, сколько раз это происходит, и суммирует обратные значения всех этих значений. Предположим, что некоторые строки или числа окк 5 раз. Его обратное значение равно 0,2, которое суммируется 5 раз, поэтому добавляется 1. В конце он дает количество разных значений.
Примечание: не работает, когда возникают пробелы!
источник
Попробуйте эту ссылку. Это показывает, как считать уникальные значения в списке, пропуская пустые ячейки.
http://www.functioninexcel.com/lists-arrays/count-unique-values-in-a-list/
= сумма (если (частота (совпадение (список, список, 0), совпадение (список, список, 0))> 0, 1))
Где «Список» - это ваш диапазон ячеек, например:
Список = $ A $ 2: $ A $ 12 ИЛИ- Список = смещение ($ A $ 1 ,,, match (rept ("z", 255), $ A: $ A)) -OR- Список = смещение ($ A $ 1, ,, match (value (rept ("9", 255)), $ A: $ A))
источник
Обязательно нажимайте клавиши CONTROL + SHIFT + ENTER после вставки этой формулы. Это для диапазона A2: A100, отрегулируйте диапазон соответствующим образом.
источник