Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1424to1428
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
Inhaltsverzeichnis

Anzahl gleicher Werte in sehr großer Tabelle

Anzahl gleicher Werte in sehr großer Tabelle
08.05.2015 10:19:30
V
Hallo,
ich habe eine Frage und hoffe auf eure bewährte Hilfe. Vorab vielen dank an alle, die versuchen mich zu unterstützen!
Ich haben eine Tabelle mit 20 Spalten und 500000 Zeile. In der ersten Spalte (A) steht eine Kennnummer. Ich möchte nun eine Spalte hinzufügen, in der steht wie oft die Kennnummer aus Spalte A in allen Kennnummern der Spalte A vorkommt.
Im Normalfall mache ich das mit einer Formel =zählenwenn(A:A;A2)und ziehe die einfach nach unten. Funktioniert prima! :-)
Beispiel:
Spalte A - neue Spalte mit Formel
23 3
34 2
56 1
34 2
78 1
23 3
23 3
Aber...das Problem sind nun die 500000 Zeilen (ja, ich weiß da gibt's andere Programme, aber ich kenn mich halt mal nur mit Excel einigermaßen aus). Wenn ich die Formel bis zur letzten Zeile runterkopiere, dann rechnet mein Rechner 10 Stunden.
Gibt es irgendeinen Weg das schneller hin zu bekommen?
Grüße und nochmals Danke!
V A T

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anzahl gleicher Werte in sehr großer Tabelle
08.05.2015 10:31:41
Daniel
Hi
1. sortiere nach der Spalte A
2. erste Hilfsspalte (X) diese Formel, Formel für X2, bis ans Datenende runterziehen
=Summe(1;Wenn(A1=A2;X1;0))
3. Ergebnisspalte (y) diese Formel, wieder für Y2 und bis zum Datenende
=Wenn(A2=A3;Y3;X2)
4. Spalte Y kopieren und an gleicher Stelle als Wert einfügen
5. Spalte X löschen
6. falls erforderlich Tabelle in die Ausgangsreihenfolge zurücksortieren
ist zwar Statisch und muss wiederholt werden, wenn sich die Tabelle ändert, hat aber bei der Datenmenge die beste Peformance
Gruß Daniel

AW: Anzahl gleicher Werte in sehr großer Tabelle
08.05.2015 10:36:41
Rudi
Hallo,
ca.2,5 Sek.
Function ZaehlMich(arr)
Dim i As Long, oDic As Object
Set oDic = CreateObject("scripting.dictionary")
For i = 1 To UBound(arr)
oDic(arr(i, 1)) = oDic(arr(i, 1)) + 1
Next
For i = 1 To UBound(arr)
arr(i, 1) = oDic(arr(i, 1))
Next
ZaehlMich = arr
End Function

Sub test()
Dim arr
With Range(Cells(2, 1), Cells(Rows.Count, 1).End(xlUp))
arr = .Value
.Offset(, 20) = ZaehlMich(arr)
End With
End Sub
Gruß
Rudi

Anzeige
AW: Anzahl gleicher Werte in sehr großer Tabelle
08.05.2015 11:06:08
V
Hallo Rudi,
danke für Deine Antwort, die ja auch höchstens 2,5 Sekunden gebraucht hat... ;-)
Könntest Du deine Lösung etwas erläutern/kommentieren, mir fehlt ein wenig das VBA-Knowhow, um sie sofort zu verstehen und somit auch zu wissen, wie ich sie praktisch einsetze.
Gruß
V A T

AW: Anzahl gleicher Werte in sehr großer Tabelle
08.05.2015 11:21:43
V
Hi,
ok, Entwarnung bzgl. der erbetenen Zusatzunterstützung! :-)
Ich hab es hinbekommen, ich kann es anwenden, es funktioniert (bei mir sind es zwar 2,5 Minuten, aber das liegt bestimmt an meinem saulangsamen System und ist immer noch 1.000.000 mal schneller als die Methode zuvor).
Inhaltlich verstehe ich es zwar nur teilweise (bin in VBA nicht fit genug), aber es reicht, um es auf meine Bedürfnisse anzupassen und weiter damit zu arbeiten.
Vielen, vielen Dank für Deine schnelle und super funktionierende Lösung!!!
Immer wieder ein geiles Forum!!!
Gruß
V A T

Anzeige
AW: Anzahl gleicher Werte in sehr großer Tabelle
08.05.2015 12:03:47
Daniel
Hi
du hast ja noch eine manuelle Lösung bekommen, mit der du die Aufgabe auch ohne Makros in 2 Minuten erledigen kannst!
Gruß Daniel

Interessehalber nachgefragt ...
08.05.2015 16:56:13
der
Hallo V A T,
... dank Rudis Makro hast Du exakt das von Dir gewünschte Ergebnis.
Mich interessiert nun, wie lange für Deine Datenmenge eine PIVOTauswertung dauern würde.
Dieselbe wäre mit ca. Mausklicks in wenigen Sekunden erstellt (notfalls einfach nachfragen) Sie ergibt zwar nicht die von Dir gewünschte Zuordnung des Ergebnisses in jeder Zeile, dafür aber eine schnelle komprimierte Ergebnisauswertung (die Du zusätzlich nach beliebigen Gesichtspunkten sortieren filtern etc. kannst).
Wie lange dauert die PIVOT-Auswertung und eine Aktualisierung bei zwei Datenänderungen in Deiner Datei mit Deinem PC?
Würde mich über Deine Antwort freuen.
Gruß Werner
.. , - ...
Anzeige

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige