Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
708to712
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
708to712
708to712
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Schnell Zeile mit zwei Zelleninhalten suchen

Schnell Zeile mit zwei Zelleninhalten suchen
13.12.2005 20:07:03
Martin
Hi,
folgende Aufgabe, Suchen schnell zu programmieren:
habe zwei relativ grosses Tabellenblätter mit 10000 Zeilen, 50 Spalten in der in A Städte stehen, "Hamburg", "Stuttgart" und in Spalte B Zahlen.
Die Aufgabe: In Blatt 1 geht das Makro alle Zeilen durch und sucht
die Zeile, die die Stadt und die Zahl hat im zweiten Blatt.
Also: Suche aus Zeile 1 "Hamburg" und "1234" in einer zusammen vorkommend Zeile im Blatt B.
Es kann sein, daß in Blatt B diese Kombination nicht vorkommt - es kommt aber nicht vor, daß die Kombination zweimal vorkommt.
Wie macht man das am schnellsten?
Als Output brauche ich die gefundene Zeilennummer in B oder ein "Nicht gefunden" Naricht.
Haben es mit zwei Schleifen versucht, Ergbenis war eine Laufzeit von über 5 Stunden!
Jeder Tipp hilft,
Martin

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schnell Zeile mit zwei Zelleninhalten suchen
13.12.2005 20:30:25
Ramses
Hallo
":..Als Output brauche ich die gefundene Zeilennummer in B..:"
1. Was ist B ?
Tabelle B oder Spalte B in Tabelle A ?
Da sollten aber doch die zu suchendne Zahlen stehen
"... oder ein "Nicht gefunden" Naricht...."
2. Wenn die Kombinationen nicht vorkommen, musst 10000 Mal "OK" klicken ?
Ist das sinnvoll ?
Gruss Rainer
AW: Schnell Zeile mit zwei Zelleninhalten suchen
13.12.2005 20:36:04
Martin
Hi Rainer,
Du hats natürlich recht - ziemlich unklar formuliert.
A soll die Spalte A bezeichnen, da stehen die Städte drinne, in Spalte B die Zahlen. Im zwieten Tabellenblatt ist es genauso.
Mit "nicht gefunden" meine ich irgendein Eregbnis (ausser Error), sodaß ich weiss, daß ich keine Zeile gefunden habe.
Gruß,
Martin
Anzeige
Nochmals...
13.12.2005 20:43:18
Ramses
Hallo
"...Im zwieten Tabellenblatt ist es genauso..."
Was heisst das:
Stehen die zu suchenden Strings nun in EINER Zelle, wie in deinem ersten Posting beschrieben, oder nicht ?
WO soll die Info hin ob gefunden und WO soll die Info hin wenn nicht ?
Gruss Rainer
AW: Nochmals...
13.12.2005 20:49:05
Martin
Hallo,
als Skizze:
Tabelle 1:
Spalte A Spalte B
Zeile 1: Hamburg 1234
Tabelle 2:
Spalte A Spalte B
Zeile 235: Hamburg 1234
Output sollte 235 sein, denn in dieser Zelle ist diese Kombination gefunden worden.
Hoffe, dass hilft.
Gruß, Martin
Anzeige
AW: Nochmals...
13.12.2005 20:52:39
Martin
Hallo,
als Skizze:
Tabelle 1:
Spalte A Spalte B
Zeile 1: Hamburg 1234
Tabelle 2:
Spalte A Spalte B
Zeile 235: Hamburg 1234
Output sollte 235 sein, denn in dieser Zelle ist diese Kombination gefunden worden.
Hoffe, dass hilft.
Gruß, Martin
Ohne VBA...
13.12.2005 21:01:37
Ramses
Hallo
Die Bezüge musst du halt anpassen
 
 ABCDEF
15Tabelle 1   Tabelle 2 
16a118 a2
17b1Nicht gefunden a3
18c1Nicht gefunden a1
19      
Formeln der Tabelle
C16 : {=WENN(ISTFEHLER(VERGLEICH(A16&B16;E16:E18&F16:F18;0));"Nicht gefunden";VERGLEICH(A16&B16;E16:E18&F16:F18;0)+(ZEILE()-1))}
C17 : {=WENN(ISTFEHLER(VERGLEICH(A17&B17;E17:E19&F17:F19;0));"Nicht gefunden";VERGLEICH(A17&B17;E17:E19&F17:F19;0)+(ZEILE()-1))}
C18 : {=WENN(ISTFEHLER(VERGLEICH(A18&B18;E18:E20&F18:F20;0));"Nicht gefunden";VERGLEICH(A18&B18;E18:E20&F18:F20;0)+(ZEILE()-1))}
 

Die Formel mit "Ctrl"+"Shift"+"Enter" abschliessen und nach unten kopieren
Gruss Rainer
Anzeige
AW: Ohne VBA...
13.12.2005 21:23:03
Martin
Danke Rainer,
allerdings sollte es schon VBA sein, denn dieses Makro soll mehrmals täglich laufen und ich kann dann nicht immer die Formeln anpassen.
Danke für Deine Hilfe, wenn ich schon das Problem nicht beschreiben kann, dann gebe ich lieber auf.
Schönen Abend noch,
Martin
Nun,... das ist dein Problem
13.12.2005 21:37:16
Ramses
Hallo
Was glaubst du was der Unterschied ist ?
Dein Makro läuft nach deiner Angaben 5 Stunden.
Diese Formel ist in 20 Sekunden in die erste Zelle eingeben.
Doppelklick auf das kleine schwarze Kästchen dieser Zelle, und EXCEL kopiert auch noch automatisch bis zum Ende der Datensätze !?
Passe die Bezüge in der Formel von Zeile 1 bis 20000 an, dann hast du ausreichend Luft und musst die Formel noch nicht mal kopieren.
{=WENN(ISTFEHLER(VERGLEICH($A$2&$B$20000;$E$2:$E$20000&$F$2:$F$20000;0));"Nicht gefunden";VERGLEICH($A$2&$B$20000;$E$2:$E$20000&$F$2:$F$20000;0)+(ZEILE()-1)}
Diese Formel ist auf JEDEN Fall schneller, als ein Makro.
Man kann es auch kompliziert per Makro machen ;-)
Die Alternative:
Zeichne die Eingabe der Formel und das automatische Kopieren mit dem Makro auf.
Dann hast du auch ein Makro ;-)
Gruss Rainer
Anzeige
AW: Nun,... das ist dein Problem
13.12.2005 21:49:16
Martin
Hallo Rainer,
ich danke Dir wirklich herzlich für Deine Posts und Deine Hilfe, aber die ganze Sache ist aus einem grösseren Kontext rausgelöst und ich muß nachdem ich die Zelle in Blatt 2 mit den entsprechenden Werten per A & B-Spalte gefunde habe, auch noch die Werte vergleichen, farblich markieren etc. Die Ziele in Blatt 2 gefunden zu haben, wo die Werte aus Blatt 1 vorkommen, ist da nur die halbe Miete.
Ich setze mich morgen nochmal ran und wer weiss, vielleicht ist der Formel-Ansatz wirklich das beste.
Beste Grüsse,
Markus

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige