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

Listen abgleichen

Listen abgleichen
21.10.2020 09:11:44
Oreelz
Guten Morgen,
Vorab, die Frage ist für einige wohl sehr Trivial aber manchmal sieht man wohl die Bäume vor lauter Wald nicht.
Und zwar zum Problem:
Ich habe eine Liste mit Deutschlandweiten Anlagendaten (500.000 Zeilen +) .
Aus dieser Liste will ich die Anlagen für einen Kreis beziehen. Dies mache ich über die PLZ, nun beschränkt sich ein Kreis nicht auf eine einzelne PLZ sondern habe ich eine liste von 20+ Postleitzahlen.
Kurz ich will eine Liste mit einer Liste abgleichen.
Mein, auch funktioneller Versuch dementsprechend so aus:
=WENN(ODER(F2=$W$3;F2=$W$4;F2=$W$5;F2=$W$6;F2=$W$7;F2=$W$8;F2=$W$9;F2=$W$10;F2=$W$11;F2=$W$12; F2=$W$13;F2=$W$14;F2=$W$15;F2=$W$16;F2=$W$17;F2=$W$18;F2=$W$19;F2=$W$20;F2=$W$21;F2=$W$22;F2=$W$23; F2=$W$24;F2=$W$25;F2=$W$26;F2=$W$27;F2=$W$28;F2=$W$29;F2=$W$30;F2=$W$31;F2=$W$32);"True";"False")
Dabei stellt F die momentane Spalte der Anlagenliste dar, und W die der Postleitszahlen.
Die Funktion funktuniert... Die Laufzeit allerdings...
Die Frage wäre nun, wie ich das ganze effizienter gestalten kann, wo mir die passende Funktion fehlt.
Ich bedanke mich im vorrab für jedliche Hilfe :)

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: dafür könnte PowerQuery genutzt werden ...
21.10.2020 09:32:49
neopa
Hallo
... also die Funktion Daten abrufen und transformieren.
Gruß Werner
.. , - ...
AW: Listen abgleichen
21.10.2020 11:25:26
fcs
Hallo Oreelz,
mein Vorschlag wäre das Eintragen der WAHR-FALSCH-Werte per Makro.
Braucht nur wenige Sekunden - je nach Rechnerleistung
Das Makro kannst du entweder in einem Modul in deiner Datei speichern oder in deiner persönlichen Makroarbeitsmappe.
Nach jeder Änderung der Daten in Spalte F muss dann das Makro ausgeführt werden, damit weitere Auswertungen korrekt sind.
LG
Franz
Sub PLZ_Filtern_Variante()
Dim wks As Worksheet
Dim arrDaten, arrWF() As Boolean
Dim arrFilter, iFilter As Integer
Dim Zeile As Long, Zeile_L As Long, Zeile_T As Long, spaWAHR_FALSCH As Long
Dim StatusCalc As Long
Set wks = ActiveSheet
'Makrobremsen lösen - Am Beginn eines Makros
With Application
.EnableEvents = False
StatusCalc = .Application.Calculation
.Calculation = xlCalculationManual
.ScreenUpdating = False
End With
With wks
'Filterwerte in Daten-Array einlesen
arrFilter = .Range("W3:W32") 'Zellbereich mit Filterwerten
'Spalte mit den WAHR-FALSCH-Werten
spaWAHR_FALSCH = 9 'Spalte I  - ggf anpassen
'Zeile mit Spaltentiteln
Zeile_T = 1                   ' ggf anpassen
'letzte Zeile mit PLZ
Zeile_L = .Cells(.Rows.Count, 6).End(xlUp).Row
'PLZ in Spalte F Array laden
arrDaten = .Range(.Cells(Zeile_T + 1, 6), .Cells(Zeile_L, 6))
'Array für WAHR-FALSCH-Werte initialisieren
ReDim arrWF(LBound(arrDaten, 1) To UBound(arrDaten, 1), 1 To 1)
For Zeile = LBound(arrDaten, 1) To UBound(arrDaten, 1)
For iFilter = 1 To UBound(arrFilter, 1)
If arrDaten(Zeile, 1) = arrFilter(iFilter, 1) Then
arrWF(Zeile, 1) = True
Exit For
End If
Next
Next Zeile
'Ergbisse in Spalte eintragen
With .Range(.Cells(Zeile_T + 1, spaWAHR_FALSCH), .Cells(Zeile_L, spaWAHR_FALSCH))
.Value = arrWF
End With
End With
'Makrobremsen zurücksetzen - am Ende eines Makros
With Application
.EnableEvents = True
.Calculation = StatusCalc
.ScreenUpdating = True
End With
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige