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

Wie zählt man die Anzahl der eindeutigen Werte in einem Bereich?

Advertisement

Ich habe eine große Tabelle, die bereits mit Filtern usw. organisiert ist. Ich würde gerne eine Zusammenfassung unter bestimmten Spalten hinzufügen, die die Anzahl der unterschiedlichen Werte in dieser Spalte enthält.

Es gibt keine Funktion =COUNTDISTINCT(A2:A100), was kann ich also stattdessen tun? (Excel 2003)

Ich kann nicht genau die Antworten auf diese ähnliche Frage verwenden, weil ich die Tabelle oder die Filterung nicht ändern möchte. Ich brauche eine Ergänzung im Arbeitsblatt, keine Veränderung.

Advertisement
Advertisement

Antworten (7)

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

wird es tun, ohne eine Array-Formel zu verwenden.

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

Ich habe eine Lösung hier gefunden, die ein unglaublicher Umweg zu sein scheint, um es zu lösen. Aber hey, es funktioniert…

=SUMME(WENN(COUNTIF(A2:A100,A2:A100)=0, “”, 1/COUNTIF(A2:A100,A2:A100)))

und drücken Sie dann Strg+Umschalt+Eingabe. Wenn Sie nur Enter drücken, erhalten Sie das falsche Ergebnis.

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

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

Bestätigen Sie mit Strg+Umschalt+Eingabe

Für jede Zelle wird gezählt, wie oft sie vorkommt, und die Inversen aller dieser Werte werden summiert. Angenommen, eine Zeichenfolge oder Zahl kommt 5 Mal vor. Ihre Inverse ist 0,2, die 5 mal summiert wird, also wird 1 addiert. Am Ende ergibt sich die Anzahl der verschiedenen Werte.

Hinweis: Funktioniert nicht, wenn Leerzeichen vorkommen!

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

Ich habe zwei Ressourcen für Sie gefunden: http://www.excelforum.com/excel-worksheet-functions/365877-count-distinct-values.html

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

Sie sollten in der Lage sein, eine praktikable Lösung von dort zu finden.

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

Dieser Artikel zeigt dies für Textwerte:

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

und dies für numerische Werte:

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

Dieser Artikel zeigt ähnliche Formeln, zeigt aber auch eine Methode mit Filtern.

Zählen Sie die Anzahl der eindeutigen Werte mit Hilfe eines Filters

Sie können den erweiterten Filter verwenden, um die eindeutigen Werte aus einer Datenspalte zu extrahieren und an einer neuen Stelle einzufügen. Dann können Sie die Funktion ROWS verwenden, um die Anzahl der Elemente im neuen Bereich zu zählen.

  1. Stellen Sie sicher, dass die erste Zeile in der Spalte eine Spaltenüberschrift hat.
  2. Zeigen Sie im Menü Daten auf Filter und klicken Sie dann auf Erweiterter Filter.
  3. Klicken Sie im Dialogfeld “Advanced Filter” auf Copy to another location.
  4. Wenn der Bereich, den Sie zählen möchten, nicht bereits ausgewählt ist, löschen Sie alle Informationen im Feld Listenbereich und klicken Sie dann auf die Spalte (oder wählen Sie den Bereich), die Ihre Daten enthält.
  5. Löschen Sie im Feld “Kopieren nach” alle Informationen im Feld oder klicken Sie in das Feld und klicken Sie dann auf eine leere Spalte, in die Sie die eindeutigen Werte kopieren möchten.
  6. Aktivieren Sie das Kontrollkästchen Nur eindeutige Datensätze und klicken Sie auf OK.

  7. Geben Sie in der leeren Zelle unter der letzten Zelle des Bereichs die Funktion ROWS ein. Verwenden Sie den Bereich der eindeutigen Werte, den Sie gerade kopiert haben, als Argument. Wenn der Bereich der eindeutigen Werte z. B. B1:B45 ist, dann geben Sie ein:
    =ROWS(B1:B45)

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

Versuchen Sie diesen Link. Dieser zeigt, wie man eindeutige Werte in einer Liste zählt und dabei leere Zellen auslässt. http://www.functioninexcel.com/lists-arrays/count-unique-values-in-a-list/

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

Wobei “Liste” Ihr Zellbereich ist, zum Beispiel:

Liste = $A$2:$A$12 OR- Liste = offset($A$1,,,match( rept(“z”,255) , $A:$A )) -OR- Liste = 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))

Drücken Sie nach dem Einfügen dieser Formel unbedingt CONTROL+SHIFT+ENTER. Dies ist für einen Bereich von A2:A100, passen Sie den Bereich entsprechend an.

Advertisement

Verwandte Fragen

6
13
9
10
6
Advertisement