Werte in Spalte suchen und in Spalten daneben eintragen
#1
Hallo zusammen,

was hätte ich nur die letzten Jahre ohne dieses Forum gemacht. Bisher habe ich hier immer was zu meinen Problemen gefunden, aber diesmal scheint es zu komplex zu sein.

Ich habe eine Liste in einer Tabelle 1 mit 120.000 Einträgen in Spalte A. Die Länge der Einträge variiert zwischen 20 und 250 Zeichen.
Und ich habe eine zweite Liste in Tabelle 2 mit 7.860 Strings / Zeichenfolgen. Das sind die die Werte, nach denen ich in Spalte A suchen möchte.

Ich suche nach einer Lösung, die den ersten Wert aus Tabelle 2 nimmt und die Spalte A der Tabelle 1 danach durchsucht. Findet er den Wert in einer Zeile, dann soll er in die nächste freie Zelle in dieser Zeile den Wert eintragen. Danach weitersuchen in den restlichen Zeilen. Findet er den Wert nicht, soll nichts passieren.

Hat er alle 120.000 Zeilen aus Tabelle 1 durchsucht, dann soll er das wiederholen mit dem nächsten Wert aus Tabelle 2, bis alle Werte gesucht wurden.


Ich wäre Euch wirklich dankbar für jede Hilfe um das zu lösen.


Grüße
Oliver
Antworten Top
#2
Hi,

nach folgendem Ansatz mit Formel:

Code:
=WENN(ISTZAHL(SUCHEN(INDEX(Tabelle2!$A:$A;SPALTE(A$1));$A:$A));INDEX(Tabelle2!$A:$A;SPALTE(A$1));"")

nach rechts und unten ziehen.

Mit VBA ginge es wahrscheinlich einfacher. Möglicherweise auch mit den neuen Funktionen in Excel.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#3
(09.05.2022, 16:53)obux schrieb: Findet er den Wert in einer Zeile, dann soll er in die nächste freie Zelle in dieser Zeile den Wert eintragen.

Hallo,

also ich würde mal stark behaupten, dass sowas nur mit VBA möglich ist, sonst müsste man ja in Tabelle1 irgendwie schonmal ein paar Spalten mit Formeln vorausfüllen. Klingt nach totalem Overkill ... also wenn man sowas mit Formeln versucht.

Mit VBA wahrscheinlich gar nicht so schwierig, aber ohne die Daten zu sehen, kann man wenig dazu sagen.

mfg
Antworten Top
#4
Hi,


Zitat:...einfacher. Möglicherweise auch mit den neuen Funktionen in Excel.

Ab xl365:

Werte in Tabelle1!A1:A120000, Vergleichstrings in einem anderen Blatt in Spalte A ab A1.
In B1 des anderen Blattes:
=MTRANS(FILTER(Tabelle1!A$1:A$120000;ISTZAHL(SUCHEN(A1;Tabelle1!A$1:A$120000));""))
und runterkopieren.
Antworten Top
#5
Guten Morgen,

vielen Dank für die Formeln und die Hilfe, aber ich denke Janus könnte Recht behalten. Die Formeln produzieren bei mir alle Überlauf und die Lösung von {Boris} findet zwar die passenden Einträge (inklusive Überlauf), aber ich brauche das genau umgekehrt.

Ich habe die Datei mal angehängt mit den Werten allerdings gekürzt, sonst wäre sie zu groß gewesen. In der Tabelle Stellentitel habe ich ein paar Beispiele eingetragen, wie das Ergebnis aussehen soll.


Ich hoffe das hilft und vielleicht geht das mit den Formeln ja doch und ich hab mich nur zu doof angestellt. Ich habe aber auch nix gegen VBA...


Grüße und Danke
Oliver


Angehängte Dateien
.xlsx   Stellentitel_filtern_2022_05_10_upload.xlsx (Größe: 1,45 MB / Downloads: 8)
Antworten Top
#6
So ungefähr hatte ich mir das vorgestellt. Aber mal ehrlich, selbst wenn es möglich ist, wer will sowas mit Formeln machen?

Ist das jetzt eine einmalige Aufgabe, oder wird das "Tool" immer mal wieder gebraucht?
Antworten Top
#7
Hi,

das brauche ich immer wieder, wenn auch in geringerem Umfang. Das ist der Start, aber das soll dann wöchentlich ergänzt werden um neue Einträge auf beiden Seiten.

Wegen Formel, habe ich da was falsch gemacht beim Posten? Wegen mir muss das keine Formel Lösung sein, ich denke auch nicht, dass das klappt.


Grüße
Oliver
Antworten Top
#8
(10.05.2022, 16:25)obux schrieb: Wegen Formel, habe ich da was falsch gemacht beim Posten? Wegen mir muss das keine Formel Lösung sein, ich denke auch nicht, dass das klappt.

Nee nee, das habe ich nur geschieben, weil die ganzen Peops gleich wieder mit Monster-Formeln um die Ecke kommen Smile

Wie gut sind deine VBA Kenntnisse? Reichen hier ein paar Hinweise, oder muss man eigentlich alles zusammenbauen?
Antworten Top
#9
Hi Janush,

meine VBA Kenntnisse sind mehr so Copy Paste und / oder Macro Rekorder und das dann zusammenstöpseln. Bisher hat das gerreicht, aber hier komme ich damit einfach nicht weiter. Wenn Du mir da helfen könntest, wäre ich wirklich sehr dankbar.


Grüße und Danke
Oliver
Antworten Top
#10
Hallo Oliver,

habe ein Makro dafür entwickelt, hat aber den Nachteil, dass es sehr lange läuft. Wie oft soll / muss das eingesetzt werden? Würde ggf. versuchen, das hinsichtlich der Laufzeit zu optimieren.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste