Excel ... und die kleinen dummen Macken ...
Manchmal, aber nur manchmal könnte man Excel verfluchen.
Es geht schon los, wenn man in Formeln permanent erst einmal IF ELSE TRUE FALSE
etc. schreiben möchte. Das funktioniert nicht. Also die ganzen Befehle eindeutschen …
Das zieht sich durch alle Funktionen durch. Jeder, der irgendwann einmal C gelernt hat, wird beim Vergleich von zwei Zeichenketten strcmp()
verwenden. Bei Excel muß man die vergleichbare Funktion erst suchen. Könnte es von Zeichenkette abgeleitet worden sein? Oder nur Vergleich? Die Hilfe kennt die üblichen Funktionsnamen nicht.
Aber mein Ziel war nun, daß ich aus einen Satz Exceldateien am Ende eine haben will, die für den Import in eine Datenbank relevant ist. Damit ich den Spaß nicht abkopieren muß, gibt es zwei sehr schöne Formeln:
VERWEIS (Suchkriterium; Suchvektor; Ergebnisvektor)
SVERWEIS (Suchkriterium; Matrix; Spaltenindex; Bereich_Verweis
Die erste ist VERWEIS
. Verweis nimmt einen Suchkriterium und sucht nach der Zeile, in der dieser Wert in der angegebenen Suchspalte steht. Anschließend gibt er den Wert der entsprechenden Zeile der Ergebnisspalte zurück. Allerdings ist die Suche unscharf: sie funktioniert nur bei sortierten Spalten – und gibt den nächstgrößeren Wert zurück. In diesem Falle unbrauchbar.
Die zweite ist SVERWEIS
. Bei dieser wird anstelle von zwei Spalten eine Matrix angegeben. Die erste Spalte der Matrix ist die Suchspalte. Und dann gibt man nur noch die Position des Ergebnisspalte an (Suchspalte A und Ergebnisspalte C ergibt Spaltenindex 3), die Matrix muß entsprechend groß gewählt werden. Dazwischenliegende haben keine Bedeutung. Das vierte Argument der Funktion ist interessant: wenn man es FALSE FALSCH setzt, sucht er nach dem genauen Begriff. Eine Sortierung ist nicht mehr notwendig – und genau das will ich. Nur diese Funktion ist sinnlos, wenn ich in der Spalte V suche und Spalte T zurückgeben will (V ist rechts von T, negativer Spaltenindex geht nicht). Ausweg: ich füge ans Ende der Tabelle eine kopierte Spalte ein.
Nachdem das Problem gelöst war, speicherte ich ab. Als ich die Datei wieder öffnete, waren die externen Dateien nicht mehr relativ angegeben (gleiches Verzeichnis), sondern absolut! Manchmal hat er die Variante mit Laufwerksbuchstaben genommen – und manchmal ausgehend vom Servernamen, auf dem gearbeitet wurde.
OK, nun möchte ich die Suchfunktion nutzen. Allerdings nicht nach dem Schlüsselfeld, sondern einer beliebigen Angabe. Warum findet Excel nichts? Excel durchsucht die eingegebenen Formeln – und nicht den dargestellten Inhalt. Also fügte ich ein neues Tabellenblatt ein, kopierte das alte – und fügte ein (Achtung: “Inhalte einfügen” > Werte). Plötzlich ist die Dateigröße von 2 auf 33 MB angesteigen.
So langsam kann ich verstehen, warum die BWLer die Informatik verfluchen!
Bisherige Kommentare (2)
Kommentar von Thiemo
Wäre es nicht einfacher, dafür ein kleines VBA-Skript zu schreiben?
Kommentar von Robert
Hallo und vielen Dank. Ich gebe Schulungen in Excel und war bisher der Ansicht ein Experte zu sein, bis mich heute vor versammelten Kurs die Verweis-Funktion zum Wahnsinn getrieben hat.
Dank Deiner Seite und NUR Deiner Seite bin ich jetzt darauf gestoßen, woran es liegt. Denn weder Internet-Foren, noch die Excel-Hilfe hat mich darauf aufmerksam gemacht, dass es nur in unsortierten Suchvektoren funktioniert. Natürlich haben wir einer Anwesenheitsliste die Verweis-Funktion probiert, die wir vorher alphabetisch sortiert hatten.
Weiter so und liebe Grüße, Robert
Kommentar verfassen
Bisherige Trackbacks (0)
Es wurde noch kein Trackback empfangen!