2010-09-17 14:13:03 +0000 2010-09-17 14:13:03 +0000
32
32

Как подсчитать количество различных значений в диапазоне?

У меня есть большой стол, который уже организован с помощью фильтров и т.д. Я хотел бы добавить сводку под определенными столбцами, которые содержат количество различных значений в этом столбце.

Функция не работает =COUNTDISTINCT(A2:A100), так что же мне делать вместо нее? (Excel 2003)

Я не могу точно использовать ответы на этот похожий вопрос , потому что не хочу изменять таблицу или фильтрацию. Мне нужно добавление в рабочей таблице, а не модификация.

Ответы (7)

32
32
32
2011-06-05 08:44:38 +0000
=SUMPRODUCT((A2:A100 <> "")/COUNTIF(A2:A100,A2:A100 & ""))

сделает это без использования формулы массива.

7
7
7
2010-09-17 14:16:02 +0000

Я нашел решение здесь , которое кажется невероятным окольным путем. Но это работает…

=SUM(IF(COUNTIF(A2:A100,A2:A100)=0, “”, 1/COUNTIF(A2:A100,A2:A100))))).

и нажмите Ctrl+Shift+Enter. Нажатие только Enter даст неверный результат.

1
1
1
2013-05-02 05:42:13 +0000

=SUM(1/COUNTIF(A2:A100;A2:A100))

Подтвердить с помощью Ctrl+Shift+Enter

Для каждой ячейки подсчитывается, сколько раз это происходит, и суммируются обратные вызовы всех этих значений. Предположим, некоторые строки или числа повторяются 5 раз. Ее обратная величина равна 0.2, которые суммируются 5 раз, поэтому добавляется 1. В конце концов, она дает количество различных значений.

Заметка: не работает, когда возникают пробелы!

1
1
1
2010-09-17 15:08:28 +0000

Нашел два ресурса для тебя: http://www.excelforum.com/excel-worksheet-functions/365877-count-distinct-values.html

и http://www.cpearson.com/excel/Duplicates.aspx

Вы должны найти работоспособное решение.

1
1
1
2010-09-17 15:10:55 +0000

Эта статья показывает это для текстовых значений:

=SUM(IF(FREQUENCY(IF(LEN(C3:C25)>0,MATCH(C3:C25,C3:C25,0),""), IF(LEN(C3:C25)>0,MATCH(C3:C25,C3:C25,0),""))>0,1))

и это для числовых значений:

=SUM(IF(FREQUENCY(C3:C25, C3:C25)>0,1))

В этой статье показаны аналогичные формулы, но также показан метод с использованием фильтров.

Считайте количество уникальных значений с помощью фильтра

Вы можете использовать Расширенный фильтр для извлечения уникальных значений из столбца данных и вставки их в новое место. Затем можно использовать функцию ROWS для подсчета количества элементов в новом диапазоне.

  1. Убедитесь, что первая строка столбца имеет заголовок столбца.
  2. В меню “Данные” наведите курсор на “Фильтр”, а затем нажмите кнопку “Расширенный фильтр”. В диалоговом окне Дополнительный фильтр нажмите кнопку Копировать в другое место.
  3. Если диапазон, который вы считаете, еще не выбран, удалите любую информацию в поле List range (Диапазон диапазона), а затем щелкните по столбцу (или выберите диапазон), который содержит ваши данные.
  4. в поле Копировать в, удалите любую информацию в поле или щелкните в поле, а затем щелкните пустой столбец, в который вы хотите скопировать уникальные значения.
  5. Установите флажок Только для уникальных записей и нажмите OK.

  6. В пустой ячейке под последней ячейкой диапазона введите функцию ROWS. Используйте в качестве аргумента диапазон уникальных значений, которые вы только что скопировали. Например, если диапазон уникальных значений B1:B45, то введите:
    = ROWS(B1:B45).

0
0
0
2013-07-02 11:56:27 +0000

Попробуй эту ссылку. Здесь показано, как считать уникальные значения в списке, опуская пустые ячейки. http://www.functioninexcel.com/lists-arrays/count-unique-values-in-a-list/

= sum( if( frequency( match( List , List , 0 ), match( List , List , 0 ))) > 0 , 1 ))

Где “Список” - это диапазон ячеек, например:

Список = $A$2:$A$12 OR- Список = смещение($A$1,,,,match( rept(“z”,255) , $A:$A)) -OR- List = offset($A$1,,, match( value(rept(“9”,255)) , $A:$A)))

0
0
0
2013-08-03 23:06:09 +0000

=SUM(IF(FREQUENCY(IF(SUBTOTAL(3,OFFSET(A2:A100,ROW(A2:A100)-ROW(A2),0,1)),MATCH(“~”&A2:A100,A2:A100&“,0))),ROW(A2:A100)-ROW(A2)+1),1)))

& После вставки этой формулы обязательно нажмите CONTROL+SHIFT+ENTER. Это для диапазона A2:A100, отрегулируйте диапазон соответствующим образом.

Похожие вопросы

6
13
9
10
3