Frage von marcelsteffens, 129

An die Excel-Spezialisten.. Sverweis und Wenn Funktion.. Spalte nach gleichen Werten durchsuchen und in einer weiteren Spalte aufzählen, wieviele es sind?

Ich habe in Spalte A diverse Werte. Es kann durchaus sein, dass ein Wert 2 oder auch 3 mal vorkommen kann, aber nicht mehr.

Ich möchte in Zeile B die Zahl haben, wie oft der Wert in A vorkommt. Wenn es nur einmal vorkommt, sollte das Fehld nach Möglichkeit leer bleiben. Wenn das nicht geht, kann da auch eine 1 stehen. Kommt der Wert 2 mal vor, sollte immer eine 2 hinten stehen. Kommt eder Wert 3 mal vor, sollte eine jeweils 3 dahinter stehen.

Siehe Vorschaubild...

Vielen Dank für Eure Unterstützung.

Expertenantwort
von Iamiam, Community-Experte für Excel, 105

in B1

=zählenwenn(A:A;A1)-1

und runterziehen. Ergibt die Zahl der Doppel (einmaliges Auftreten =0)

Willst Du aber jede Nennung nur einmal haben (beim ersten Auftreten), dann:

=wenn(Zählenwenn(A$1:A1;A1)=1;zählenwenn(A:A;A1)-1;"schon gezählt")

Bei einmaligem Auftreten liefert das 0,

bei mehrfachem Auftreten neben dem ersten Vorkommen die Anzahl der Doppel,

neben allen weiteren  Vorkommen  den Text "schon gezählt"

Kommentar von Iamiam ,

bei derart vielen macht das "nach unten ziehen" etwas Probleme:

Schreibe die Formel zB in A1 (oder A2, 3, ...) und klicke dann doppelt aufs Ausfüllkästchen(rechts unten): Die Formel wird dann bis ans Ende der Einträge daneben automatisch kopiert.

Und mit einem Bendef Format(Strg+1 Karte Zahlen ), zB

#.##0,00;[Farbe46]-#.##0,00;[Farbe7]—

bekommst du das ein wenig übersaichtlicher.

Kommentar von Iamiam ,

Beachte: für Doppel = 1 sind das natürlich 2 Vorkommen für =2 sinds 3, musst also im Kopf eins dazuzählen, habs ja auch DOPPEL genannt! Willst Du es genau so, wie beschrieben, dann lässt Du das -1 weg. Das ist nur wegen der Format-Option für 0: [Farbe7]— , die würde das Ganze bei langen Listen nämlich wesentlich übersichtlicher machen.

Antwort
von skychecker, 85

Ich wüsste nicht, was du da mit einem sverweis willst...

Die richtige Formel lautet

=WENN(ZÄHLENWENN(A:A;A1)=1;"";ZÄHLENWENN(A:A;A1))

Und die kannst du dann entsprechend nach unten ziehen.

Antwort
von Gipfelstuermer, 69

sverweis würde nur dann sinn machen, wenn du wissen willst welcher wert es genau ist um den es sich handelt und dir das extern anzeigen lassen willst.

Antwort
von marcelsteffens, 59

Super vielen Dank !

Klappt, wie Du es schreibst... Nun gibt es doch noch ein Problem..., was ich nicht bedacht hatte...  

Die Spalte A ist derzeit über 350.000 Zeilen groß und täglich kommen innerhalb von 3-4 Stunden weitere 350-500 Werte hinzu... Teilweise in Sekundentakt...

Die Berechnung dauert dementsprechend lange und die eingegebenen Werte werde nach und nach eingetragen... Zu groß ist die Angst, dass etwas hängenbleibt und nicht aufgenommen wird...

Gibt es da überhaupt eine Möglkichkeit?

Kommentar von skychecker ,

Wir sprechen ja über Excel. Und das ist ja von zuhause aus in erster Linie ein Tabellenkalkulationsprogramm.

Es kann zwar total viel und ist  super vielseitig einsetzbar. Trotzdem sollte man bei manchen Projekten vielleicht einmal darüber nachdenken, ob eine Datenbank nicht hilfreicher ist.

Und bei deiner Datenmenge würde ich dann doch eher auf die Datenbank gehen.

Kommentar von Iamiam ,

Die Angst, dass etwas "hängenbleibt", brauchst Du nicht zu haben, aber der Zeitaufwand fürs Rechnen ist -je nach Arbeitsspeicher und Prozessor- natürlich schon erheblich. Noch dazu, wo Du Mehrfachnennungen (wie viele sind es denn prozentual voraussictlich?) weiter unten kaum noch finden, sondern sie evtl nur noch per Formel auswerten kannst.

Überlege auch, wann die 1Mio Zeilen erschöpft sein werden und kümmere Dich rechtzeitig um eine adäquate Lösung, evtl tatsächlich eine Datenbank. Lass Dir aber vorher vorführen, um wieviel schneller die tatsächlich wäre!

Keine passende Antwort gefunden?

Fragen Sie die Community