wieder mal eine vermutlich völlig banale Frage eines Anfängers:
Ich habe zwei Blätter in einer Excel Datei.
Auf dem einen Blatt (Blatt 1) muss in Spalte B eine Nummer vom anderen Blatt (Blatt 2) Spalte B übernommen werden.
Allerdings müssen hierfür 2 Bedingungen erfüllt sein:
Wert aus Spalte C und D auf Blatt 1 (gelistete Produkte) muss mit Wert von Blatt 2 (Gesamtkatalog) aus Spalte C und D übereinstimmen. Zudem soll er dabei die Produktbezeichnung aus Blatt 1 Spalte C ohne die letzten beiden Zeichen abgleichen, weil dort meistens ein Punkt und Leerzeichen ist, im Gesamtkatalog (Blatt 2) jedoch nicht.
Mein Kommilitone sagt, dass geht mit Index, ein anderer würde das über SVerweis machen, aber ich stelle mir das eher als Wenn-Dann Formel vor.
Mit INDEX (und VERGLEICH) geht das Rüber-Holen mehrerer Felder eines Datensatzes schneller. SVERWEIS kann das auch, wenn es als Array verwendet wird; es sucht dann auch nur einmal.
09.08.2018, 13:20 (Dieser Beitrag wurde zuletzt bearbeitet: 09.08.2018, 13:20 von LCohen.)
Ein Beispiel:
A2:A99999 enthält ganzzahlige Zahlen zwischen 1 und 99999, unsortiert
B2:F99999 enthält zugehörige Inhalte
H4:H1002 enthält zufällige Ganz-Zahlen zwischen 1 und 99999; in J4:O1002 sollen nun die zugehörigen Felder A:F zurückgegeben werden
a)
I4: =VERGLEICH(H4;A$1:A$99999;) als Hilfsspalte
J4:O4: =INDEX(A:A;$I4) (nach rechts ausgefüllt) ergeben zusammen nach unten ausgefüllt (Zeile 1002) 4 Sekunden
b)
J4: =SVERWEIS($H4;$A$1:A$99999;SPALTE(A4);) nach rechts bis O und unten bis 1002 entsprechend ausgefüllt 8 Sekunden
c)
J4:O4: {=SVERWEIS($H4;$A$1:$F$99999;SPALTE(A4:F4);)} als Array eingegeben (nicht: Matrixformel!), nach unten ausgefüllt 4 Sekunden.
xl365, MSSurfacePro4m3 (->schwächste Version)
Anmerkung: Bei b) hätte ich eigentlich 24 Sekunden erwartet. Möglicherweise checkt die Engine bei Excel mittlerweile, ob nebeneinander stehende SVERWEISe den gleichen Suchwert und die gleiche Suchspalte haben, und geht dann zur Variante a) über.
Die habe ich ja: "Produktname" und "Version". Allerdings liegt das Problem tatsächlich darin, dass auf Blatt 1 hinter dem Produktnamen ein Punkt oder ein Leerzeichen mit Punkt oder einfach nur Leerzeichen sind. Dass Excel da Probleme hat, merkt man schon daran, dass man über die Suchfunktion STRG+F keine Treffer bekommt, wenn man aus Blatt 1 den Produktnamen in das Suchfeld kopiert und im Katalog sucht.
Dazu muss ich sagen, dass der Orginaldatensatz ein paar hundert, bzw. ein paar tausend Zeilen hat.
Und wenn ich eine Hilfsspalte einfügen würde und die Werte Glätte, dass die Produktnamen also genau übereinstimmen, dann müsste es doch eigentlich gehen, oder?