Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1596to1600
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

Vergleich zweier Datenmengen – summierte Anzahl id

Vergleich zweier Datenmengen – summierte Anzahl id
28.12.2017 09:34:11
Sascha
Guten Morgen zusammen,
ich finde leider keine Lösung für folgende(s) Problem(e):
Problem 1:
Mir liegen zwei größere Datenmengen vor (160.000 Zeilen / 200.000 Zeilen). Die Daten dürften zu einem gewissen Teil identisch sein und diese Menge ist für mich relevant. Ich bräuchte also bspw. eine Formel, die besagt: „Gib mir die Anzahl alle identischen Werte aus Tabellenblatt 1, Spalte A und Tabellenblatt 2, Spalte A “.
Siehe dazu Beispiel 1 der Excel-Datei: https://www.herber.de/bbs/user/118551.xlsx
(Das gewünschte Ergebnis für Beispiel 1 wäre 4, da vier Werte in beiden Mengen identisch sind [grün markiert])
Problem 2:
Ist prinzipiell identisch mit Problem 1, nur dass mehrere Spalten miteinander verglichen werden sollen, z.B. „Gib mir die Anzahl alle identischen Werte aus Tabellenblatt 1, Spalte A / Spalte B und Tabellenblatt 2, Spalte A / Spalte B“.
Siehe dazu Beispiel 2 der Excel-Datei: https://www.herber.de/bbs/user/118551.xlsx
(Das gewünschte Ergebnis für Beispiel 2 wären nur noch 3, da einem Wert eine andere Nummer zugeordnet ist)
Die einzige Lösung, die mir eingefallen ist, war bisher eine Hilfsspalte mit ZÄHLENWENN(S). Problem hierbei ist:
a) Es dauert sehr, sehr lange.
b) Ich müsste sehr viele Hilfsspalten anlegen.
c) Um diese Hilfsspalten anlegen zu können, müsste ich die Formel in Werte umwandeln und könnte daher die Auswertung nicht automatisch „reproduzieren“ (In Unregelmäßigen Abständen müsste diese Tabelle aktualisiert werden.)
Danke und viele Grüße
Sascha

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
32.000 Datensätze in 0,3 Sekunden verglichen
28.12.2017 09:40:04
lupo1
http://xxcl.de/0052.htm (unten, "Gegenüberstellung").
Du musst den Code und Deine Daten entsprechend etwas anpassen. Nach dem Durchlauf zählst Du dann die komplett besetzten Zielzeilen.
zu "Problem 1"
28.12.2017 12:28:03
ransi
Hallo,
Teste mal dies für "Problem 1":
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit



Sub Machs()
    Dim Arr1 As Variant
    Dim Arr2 As Variant
    Dim objDic As Object
    Dim L As Long
    Dim lngOut As Long
    'Dim dbLTimer As Double
    'dbLTimer = Timer
    Set objDic = CreateObject("scripting.Dictionary")
    With Sheets("BEISPIEL 1 - Datenmenge 1")
        Arr1 = .Range("A2:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
    End With
    With Sheets("BEISPIEL 1 - Datenmenge 2")
        Arr2 = .Range("A2:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
    End With
    For L = LBound(Arr2) To UBound(Arr2)
        objDic(Arr2(L, 1)) = 0
    Next
    For L = LBound(Arr1) To UBound(Arr1)
        If objDic.exists(Arr1(L, 1)) Then lngOut = lngOut + 1
    Next
    MsgBox lngOut '& vbCrLf & Timer - dbLTimer
End Sub


Habs mal nachgebaut mit 160000 und 200000 Datensätzen.
Die Berechnung dauert ca. 10 Sekunden.
ransi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige