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

Jak policzyć liczbę odrębnych wartości w zakresie?

Advertisement

Mam dużą tabelę, która jest już zorganizowana przy użyciu filtrów itp. Chciałbym dodać podsumowanie pod niektórymi kolumnami, które zawiera liczbę odrębnych wartości w danej kolumnie.

*Nie ma funkcji =COUNTDISTINCT(A2:A100) więc co mogę zrobić zamiast tego? * (Excel 2003)

Nie mogę dokładnie użyć odpowiedzi na to podobne pytanie ponieważ nie chcę modyfikować tabeli lub filtrowania. Potrzebuję dodania w arkuszu roboczym, a nie modyfikacji.

Advertisement
Advertisement

Odpowiedzi (7)

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

zrobi to bez konieczności używania formuły tablicowej.

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

Znalazłem rozwiązanie tutaj , które wydaje się być niewiarygodnie okrężną drogą do rozwiązania tego problemu. Ale hej, to działa…

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

a następnie naciśnij Ctrl+Shift+Enter. Naciśnięcie tylko Enter da błędny wynik.

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

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

Potwierdź kombinacją klawiszy Ctrl+Shift+Enter

Dla każdej komórki liczy ile razy występuje dana liczba i sumuje odwrotności wszystkich tych wartości. Załóżmy, że jakiś ciąg znaków lub liczba występuje 5 razy. Jego odwrotność to 0.2, która jest sumowana 5 razy, więc dodawana jest 1. W końcu daje to liczbę różnych wartości.

Uwaga: nie działa, gdy występują spacje!.

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

Znalazłem dla Ciebie dwa źródła: http://www.excelforum.com/excel-worksheet-functions/365877-count-distinct-values.html

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

Powinieneś być w stanie znaleźć stamtąd działające rozwiązanie.

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

Ten artykuł ](http://www.officearticles.com/excel/count_unique_values_in_microsoft_excel.htm) pokazuje to dla wartości tekstowych:

=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))

a to dla wartości numerycznych:

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

Ten artykuł pokazuje podobne formuły, ale pokazuje też metodę z wykorzystaniem filtrów.

Policz liczbę unikalnych wartości, używając filtra

Możesz użyć filtra zaawansowanego, aby wyodrębnić unikalne wartości z kolumny danych i wkleić je do nowej lokalizacji. Następnie możesz użyć funkcji ROWS, aby policzyć liczbę elementów w nowym zakresie.

  1. Upewnij się, że pierwszy wiersz w kolumnie posiada nagłówek kolumny.
  2. W menu Dane wskaż polecenie Filtr, a następnie kliknij polecenie Filtr zaawansowany.
  3. W oknie dialogowym Filtr zaawansowany kliknij przycisk Kopiuj do innej lokalizacji.
  4. Jeśli zakres, który liczysz, nie jest jeszcze wybrany, usuń wszelkie informacje w polu Zakres listy, a następnie kliknij kolumnę (lub wybierz zakres), która zawiera Twoje dane.
  5. W polu Kopiuj do usuń wszelkie informacje w polu lub kliknij w polu, a następnie kliknij pustą kolumnę, do której chcesz skopiować unikalne wartości.
  6. Zaznacz pole wyboru Tylko unikatowe rekordy i kliknij przycisk OK.

  7. W pustej komórce poniżej ostatniej komórki zakresu wpisz funkcję ROWS. Jako argumentu użyj zakresu unikalnych wartości, które właśnie skopiowałeś. Na przykład, jeśli zakres unikalnych wartości to B1:B45, to wpisz:
    =ROWS(B1:B45)

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

Spróbuj tego linku. To pokazuje, jak policzyć unikalne wartości na liście pomijając puste komórki. http://www.functioninexcel.com/lists-arrays/count-unique-values-in-a-list/

= suma( if( frequency( match( Lista , Lista , 0 ) , match( Lista , Lista , 0 )) > 0 , 1 ))

Gdzie “Lista” jest twoim zakresem komórek na przykład:

Lista = $A$2:$A$12 OR- Lista = offset($A$1,,,,match( rept(“z”,255) , $A:$A )) -OR- List = offset($A$1,,,match( value(rept(“9”,255)) , $A:$A ))

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

=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))

Upewnij się, że nacisnąłeś CONTROL+SHIFT+ENTER po wklejeniu tej formuły. To jest dla zakresu A2:A100, dostosuj odpowiednio zakres.

Advertisement

Pytania pokrewne

6
13
9
10
10
Advertisement
Advertisement