verknüpfte Abfrage

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Niels
*****
Beiträge: 212
Registriert: Mi, 16.06.2004 06:46
Wohnort: Heikendorf

verknüpfte Abfrage

Beitrag von Niels »

Hallo zusammen,

Ich beschreibe mal an einem Beispiel, was ich (unter Windows) machen will, auch wenn dies so sicher keinen Sinn macht, aber das ganze Thema würde den Rahmen hier sprengen:
Ich habe eine Tabelle in der stehen Telefonnummern. Dazu bekomme ich eine weitere Datei im Unixformat in der viele Informationen zu den Telefonnummern stehen. Die Felder sind durch Pipe getrennt und eine neue Zeile beginnt nur mit CR (oder war es LF - auf jeden Fall kein CRLF).
Einige dieser Informationen will ich nun in meine Tabelle zu der entsprechenden Telefonnummer importieren. Dazu habe ich 2 Lösungsansätze:
  1. Ich importiere diese Datei per Makro in ein Arbeitsblatt. Nun weiß ich nur nicht, wie ich die Informationen verknüpfe. In der Zielzelle (z.B. B1) müsste ja nun ein Ausdruck stehen, der irgendwie folgendes beschreibt:
    • =Importarbeitsblatt, Spalte B Zeile wo in Spalte A das Gleiche steht wie in Zelle A1 vom Zielarbeistblatt.
  2. Ich lese die Datei per Makro und extrahiere im Makro die Informationen. Das ist nicht weiter schlimm. Nun suche ich per Makro die aus der Importdatei gelesene Telefonnummer in meinem Arbeitsblatt, lese die Zeile aus und gehe auf die Spalte B mit der gleichen Zeilennummer.
Ich plädiere eigentlich ich für Ansatz 1 oder eine viel bessere Anregung von Euch. Denn erschwerend kommt hinzu. Die Telefonnummer aus dem Beispiel taucht an mehreren Stellen des Dokuments auf. Also muss ich mehrfach suchen und steuern und absichern, dass es keine Endlosschleife wird, weil ich immer wieder den Gleichen Datensatz finde. Zudem muss die Telefonnummer auch nicht auftauchen. Auch dass müsste ich ja im Makro abfangen.

Danke
Niels
Wer lesen kann ist klar im Vorteil.
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Beitrag von Karolus »

Hallo Niels

Dein erster Ansatz dürfte mit : (für B1)

=SVERWEIS($A1;Importarbeitsblatt.$A$1:$Z$1000;2;0)
funktionieren.

statt 'Importarbeitsblatt' muß natürlich die tatsächliche Bezeichnung des Quelltabellenblatts verwendet werden, $Z$1000 wird durch die Zelladresse rechts unten des Quellbereichs ersetzt (mit $ -zeichen)
Die fettgeschriebene 2 ist der Index der Spalte aus der das Ergebnis geliefert werden soll, und kann evtl. durch 'SPALTE()' ersetzt werden . (dann passt sich der Index bei horizontalem Ziehen der Formel automatisch an).

Gruß Karo
Niels
*****
Beiträge: 212
Registriert: Mi, 16.06.2004 06:46
Wohnort: Heikendorf

Danke

Beitrag von Niels »

Hallo Karo,

Super, es funktioniert! Wenn Du nur das Stichwort SVERWEIS gepostet hättest, dann hätte ich das nie hinbekommen. Das habe ich gerade mit dem Formelassitant versucht!
Na dann werde ich mich mal daran machen, den Importvorgang zu automatisieren.

Gruß
Niels
Wer lesen kann ist klar im Vorteil.
Niels
*****
Beiträge: 212
Registriert: Mi, 16.06.2004 06:46
Wohnort: Heikendorf

Zusatzfrage

Beitrag von Niels »

So, jetzt stehe ich wieder auf dem Schlauch!
Die Formel darf nur greifen, wenn im Importarbeitsblatt Spalte A und AO gleich sind oder Spalte AO leer ist. Bekommt man das hin?

Danke
Niels
Wer lesen kann ist klar im Vorteil.
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Beitrag von Karolus »

Hallo Niels


=WENN(ODER(SVERWEIS($A1;Importarbeitsblatt.$A$1:$Z$1000;1;0)=SVERWEIS($A1;Importarbeitsblatt.$A$1:$Z$1000;41;0);SVERWEIS($A1;Importarbeitsblatt.$A$1:$Z$1000;41;0)="");SVERWEIS($A1;Importarbeitsblatt.$A$1:$Z$1000;2;0) ;"")

Genauso wie in meiner letzten Beispielformel musst du hier die richtigen Bezeichnungen und Adressen anpassen . (Im übrigen ohne Gewähr, daß ich dich a. richtig verstanden b.alle Klammern richtig gesetzt habe)

Gruß Karo
Niels
*****
Beiträge: 212
Registriert: Mi, 16.06.2004 06:46
Wohnort: Heikendorf

Beitrag von Niels »

Ahh, Danke Karolus,

Ich habe das natürlich wieder falsch angepackt und krampfhaft überlegt, wie ich in dem Importarbeitsblatt zum Erfolg komme. Allerdings habe ich mich auch nicht vollständig ausgedrückt, was Dein Statement evtl. unmöglich macht: Im Importarbeitsblatt gibt es mehrere Zeilen, in denen der SVERWEIS zutrifft, jedoch nur eine, in der die zusätzliche Bedingung zutrifft. Nun weiß ich nicht, ob die Formel immer alle SVERWEISE auf die gleiche Zeile bezieht oder ich einfach nur Glück habe, wenn es klappt?

Gruß
Niels
Wer lesen kann ist klar im Vorteil.
Niels
*****
Beiträge: 212
Registriert: Mi, 16.06.2004 06:46
Wohnort: Heikendorf

Beitrag von Niels »

OK, ich habe jetzt etwas getetstet und die Formel auch (hoffentlich) verstanden. Allerdings greift diese leider nicht mit der von mir "unterschlagenen" Bedingung, sondern nur immer auf die erste Zeile, in welcher der SVERWEIS zutrifft.
Daher werde ich nun den Datenimport einmal über OO-Basic versuchen und hier die 1. Bedingung abzuklopfen um dann mittels SVERWEIS die Zuordnung vornehmen zu können. Leider stoße ich da auch schon wieder an meine Grenzen :cry: .

Gruß
Niels
Wer lesen kann ist klar im Vorteil.
Niels
*****
Beiträge: 212
Registriert: Mi, 16.06.2004 06:46
Wohnort: Heikendorf

Ich habs

Beitrag von Niels »

OK, es geht auch ohne Makro - nur mit einer Hilfstabelle. In dieser habe ich folgende Formel in A1 getan und den Rest ausgefüllt:

Code: Alles auswählen

=WENN(ODER(Import.$A1=Import.$AO1;Import.$AO1="");Import.A1;"")
Nun kann ich in meiner Zieltabelle mit SVERWEIS in B1 arbeiten und ausfüllen:

Code: Alles auswählen

=SVERWEIS($A1;Hilfstabelle.$A$1:$Z$1000;2;0)
Sicher nicht gerade elegant, aber effektiv.

Gruß
Niels
Wer lesen kann ist klar im Vorteil.
Antworten