Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
292to296
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
292to296
292to296
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

doppelte Werte nur einmal zählen

doppelte Werte nur einmal zählen
14.08.2003 10:17:25
Alyssia
Hallo

Ich habe in Spalte A etwa 9'000 Adressen, vondenen einige mehrmals vorkommen.
Nun habe ich mit bedingter Formatierung folgende Formel, um die doppelten Adressen einzufärben: =ZÄHLENWENN(A$2:A2;A3)>=1

Nun möchte ich in A1 die gesamten Adressen zusammenzählen, damit ich weiss, wie viele es sind.
Das Problem ist jetzt, dass ich die Adressen, welche mehrmals vorkommen, nur
einmal zählen möchte.

Welche Formal brauche ich?

Gruss Alyssia

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: doppelte Werte nur einmal zählen
14.08.2003 10:25:32
Boris
Hi Alyssia,

schreib die gleiche Formel in die Tabelle in eine Hilfsspalte (z.B. F) - deine gepostete Formel gehört also in F3 - und kopier diese dann runter.
Mit =ZÄHLENWENN(F:F;WAHR)
kannst du dann alle zählen.

Grüße Boris


Kleine Korrektur:
14.08.2003 10:27:09
Boris
Mit =ZÄHLENWENN(F:F;WAHR) zählst du alle doppelten.
Mit =ZÄHLENWENN(F:F;FALSCH) zählst du alle nicht doppelten.

Boris


AW: doppelte Werte nur einmal zählen
14.08.2003 10:30:05
Alyssia
Hallo Boris

Ich glaub, Du hast mich falsch verstanden, ich muss alle Adressen zählen, auch die welche nur einmal vorhanden sind. Aber wenn 4x die selbe Adresse vorkommt, muss
es nicht als 4, sondern als 1x gezählt werden.

Kannst Du mir da helfen?

Vielen Dank und Grüsse
Alyssia


Anzeige
Du hast es noch nicht ausprobiert...?
14.08.2003 10:37:58
Boris
Hi Alyssia,

Schreib mal - beginnend bei A1 - folgende Einträge untereinander:
a
b
a
b
a
a
b
c

Jetzt in B1 folgende Formel und runterkopieren:
=ZÄHLENWENN(A$1:A1;A1)>1

Und in C1:
=ZÄHLENWENN(B:B;FALSCH)
Ergebnis: 3 (a,b,c)

Alles klar?

Grüße Boris


AW: Du hast es noch nicht ausprobiert...?
14.08.2003 11:03:16
Alyssia
Hi Boris

Hab wohl erst was falsch gemacht, aber jetzt hat's funktioniert.

Vielen vielen Dank

Gruss Alyssia


Lieblingsformel LOL
14.08.2003 13:26:25
ingo
Hallo zusammen,

für dieses Problem gibts doch meine Lieblingsmatrixformel ;-) aus www.excel-formeln.de

=SUMME((A1:A9000<>"")/ZÄHLENWENN(A1:A9000;A1:A9000)

(Eingabe abschliessen mit Strg-Shift-Enter)

Gruß Ingo


Anzeige
AW: Lieblingsformel richtig
14.08.2003 13:34:42
ingo
Hallo nochmal,

man soll sich nicht tot-optimieren ;-)

besser ist:

=SUMME(WENN((A1:A9000<>"");1/ZÄHLENWENN(A1:A9000;A1:A9000);0))

Gruß Ingo


AW: Lieblingsformel richtig
14.08.2003 14:37:17
Alyssia
Hi zusammen

Die Formeln sind super, doch nun hab ich noch ein kleines Problem.
Wenn ich per Autofilter suche und von den gesamten 9'000 3'000 rausfiltere,
dann gibt die Formel =SUMME((A1:A9000<>"")/ZÄHLENWENN(A1:A9000;A1:A9000)
nachwievor alle 9'000 an.

Wie kann man die Formel abändern, damit sie noch immer die doppelten Werte nur
einmal zählt, dafür nur die gefilterten Werte?

Vielen Dank.

Gruss Alyssia


Anzeige
Dauert bei 9000 Zeilen so ca. 10 Sek. ...
14.08.2003 15:03:40
Boris
Hi Ingo,

...so schön die Lösung auch ist (ich verwende sie auch gerne) - die Performance wird bei 9000 Zeilen gekillt...;-)

Grüße Boris


188 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Infobox zum Thema

EXCEL - VBA: Anzahl eindeutiger Werte ermitteln


Inhaltsverzeichnis


Problemdefinition

Ein Benutzer hat etwa 9000 Adressen in Spalte A, von denen einige mehrmals vorkommen. Der Benutzer möchte die Anzahl der einzigartigen Adressen ermitteln, ohne die Duplikate zu entfernen.


Lösung des Problems mit VBA

Eine Möglichkeit, die Anzahl der einzigartigen Einträge in einer Spalte zu ermitteln, ohne die Duplikate zu entfernen, ist die Verwendung von Visual Basic for Applications (VBA). Du kannst ein Makro schreiben, das durch die Liste geht und jeden Eintrag zählt, der noch nicht gezählt wurde.


Anwendungsbeispiel aus der Praxis

Hier ist ein Beispiel für ein VBA-Makro, das die Anzahl der einzigartigen Adressen in Spalte A ermittelt:

Sub CountUniqueAddresses()
    Dim dict As Object
    Dim cell As Range
    Dim uniqueCount As Integer

    ' Erstelle ein Dictionary-Objekt
    Set dict = CreateObject("Scripting.Dictionary")

    ' Gehe durch jede Zelle in Spalte A
    For Each cell In Range("A1:A9000")
        If Not IsEmpty(cell.Value) Then
            ' Füge den Wert der Zelle zum Dictionary hinzu
            dict(cell.Value) = 1
        End If
    Next cell

    ' Die Anzahl der einzigartigen Adressen ist die Anzahl der Schlüssel im Dictionary
    uniqueCount = dict.Count

    ' Zeige die Anzahl der einzigartigen Adressen an
    MsgBox uniqueCount & " einzigartige Adressen gefunden."

    ' Lösche das Dictionary-Objekt
    Set dict = Nothing
End Sub

Um das Makro auszuführen, öffne den VBA-Editor, indem du Alt + F11 drückst, füge den obigen Code in ein Modul ein und drücke F5, um das Makro auszuführen.


Tipps

  • Stelle sicher, dass du eine Kopie deiner Daten erstellst, bevor du das Makro ausführst, da VBA-Code nicht rückgängig gemacht werden kann.
  • Wenn du eine sehr große Anzahl von Adressen hast, kann das Ausführen des Makros einige Zeit in Anspruch nehmen.

Zusammenfassung

Ein VBA-Makro kann verwendet werden, um die Anzahl der einzigartigen Adressen in einem Bereich zu ermitteln, ohne die Duplikate zu entfernen. Das obige Makro verwendet ein Dictionary-Objekt, um jeden einzigartigen Eintrag in Spalte A zu zählen. Bevor du das Makro ausführst, solltest du eine Kopie deiner Daten erstellen, da VBA-Code nicht rückgängig gemacht werden kann.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige