Supportnet / Forum / Tabellenkalkulation
Excel Dateien / Tabellen aus verketter Zelle verknüpfen
Frage
Hallo, ich habe im Excel sheet source der Datei Test1.xls durch verketten den Namen der Datei (Test02) erzeugt, aus dem ich aus dem sheet Tabelle1 Daten auslesen möchte.
Diese sollen in der Datei Test1.xls im sheet jan05 dargestellt werden. Um die Daten direkt im sheet jan05 anzuzeigen benutze ich den Befehl: =´[Test02.xls]Tabelle1´!$C$16.
Das klappt. Da die Datei Test02 nun monatlich neu erscheint und sehr viele Daten enthält möchte ich im sheet source nur den Dateinamen ändern, und in allen sheets stehen dann automatisch alle Werte der Test02.
Frage: Wie lautet der Befehl, der in sheet jan05 stehen muss, um den Dateinamen aus dem sheet source der gleichen Datei den Dateinamen der Zieldatei Test02 auszulesen und dahinter das gesuchte sheet Tabelle1 anzuzeigen?
Hoffentlich war das nicht zu verwirrend.
Vielen Dank für eure Hilfe
Alexander
Antwort 1 von Aliba
Hi Alexander,
wenn das neue Sheet auch wieder Test02 heisst, so wie Du es beschreibst, musst Du gar nichts ändern, da sich ja bei gleichem Namen die Verknüpfungen automatisch ändern.
CU Aliba
wenn das neue Sheet auch wieder Test02 heisst, so wie Du es beschreibst, musst Du gar nichts ändern, da sich ja bei gleichem Namen die Verknüpfungen automatisch ändern.
CU Aliba
Antwort 2 von Saarbauer
Hallo,
du hast dein Prolem vielleicht nicht so dargestellt wie du es meinst, abel was @Aliba schreibt ist so richtig. Ich glaube aber, dass du Monatsergebnisse eines Jahres in eine Übersicht bringen willst.
wie wäre es mit einem Beispiel.
Gruß
Helmut
du hast dein Prolem vielleicht nicht so dargestellt wie du es meinst, abel was @Aliba schreibt ist so richtig. Ich glaube aber, dass du Monatsergebnisse eines Jahres in eine Übersicht bringen willst.
wie wäre es mit einem Beispiel.
Gruß
Helmut
Antwort 3 von Knecky
Hallo und danke für die schnelle Antwort!
Helmut hat recht, ich habe mich wohl etwas umständlich ausgedrückt. Ich versuche es mal etwas präziser:
Ich möchte aus einer monatlich erstellten Excel Tabelle (Test02.xls) die nur aus einem Sheet besteht, diesen in einer anderen Excel-Datei (Test1.xls)aufbereiten (auf die verschiedenen Monate aufsplitten) und dann zum Import in eine Datenbank vorbereiten.
Da sich im Dateinamen von Test02.xls immer nur eine Zahl ändert, habe ich in Test1 den sheet source angelegt, der im Feld E2 mit diesem Befehl: =VERKETTEN(A2;B2;"_";C2;D2) den Dateinamen der Test02 erstellt. Nun brauche ich nur im Feld B2 eine Zahl ändern, und der Dateiname ist aktualisiert. In der gleichen Datei (Test1) sind die Monate auf einzelne Sheets aufgeteilt. Diese sollen nun die Informationen aus Test 2 beziehen. Damit ich nicht immer den Test2 Namen für Test02 in jedem Monat ändern muss, habe ich mir ja den Source sheet angelegt.
Die Daten bekomme ich in die Monate mit dem Befehl:
=´[Test02.xls]Tabelle1´!$C$16.
Das klappt ja auch soweit. Nur will ich halt nicht manuell alle 12 Monatssheets monatlich ändern müssen (sehr viele Daten).
Der Teil in der eckigen Klammer ist identisch mit dem Ergebnis des VERKETTEN Befehls (stört euch bitte nicht am Unterstrich, ich habe der Einfachheit halber den Dateinamen in Test02 geändert).
Jetzt kommt die eigentliche Frage: Wie kann ich in dem Befehl =´[Test02.xls]Tabelle1´!$C$16 den Teil in der eckigen Klammer aus dem sheet source beziehen. Das klappt bei mir irgendwie nicht.
Danke schonmal für eure HIlfe!
Alexander
Helmut hat recht, ich habe mich wohl etwas umständlich ausgedrückt. Ich versuche es mal etwas präziser:
Ich möchte aus einer monatlich erstellten Excel Tabelle (Test02.xls) die nur aus einem Sheet besteht, diesen in einer anderen Excel-Datei (Test1.xls)aufbereiten (auf die verschiedenen Monate aufsplitten) und dann zum Import in eine Datenbank vorbereiten.
Da sich im Dateinamen von Test02.xls immer nur eine Zahl ändert, habe ich in Test1 den sheet source angelegt, der im Feld E2 mit diesem Befehl: =VERKETTEN(A2;B2;"_";C2;D2) den Dateinamen der Test02 erstellt. Nun brauche ich nur im Feld B2 eine Zahl ändern, und der Dateiname ist aktualisiert. In der gleichen Datei (Test1) sind die Monate auf einzelne Sheets aufgeteilt. Diese sollen nun die Informationen aus Test 2 beziehen. Damit ich nicht immer den Test2 Namen für Test02 in jedem Monat ändern muss, habe ich mir ja den Source sheet angelegt.
Die Daten bekomme ich in die Monate mit dem Befehl:
=´[Test02.xls]Tabelle1´!$C$16.
Das klappt ja auch soweit. Nur will ich halt nicht manuell alle 12 Monatssheets monatlich ändern müssen (sehr viele Daten).
Der Teil in der eckigen Klammer ist identisch mit dem Ergebnis des VERKETTEN Befehls (stört euch bitte nicht am Unterstrich, ich habe der Einfachheit halber den Dateinamen in Test02 geändert).
Jetzt kommt die eigentliche Frage: Wie kann ich in dem Befehl =´[Test02.xls]Tabelle1´!$C$16 den Teil in der eckigen Klammer aus dem sheet source beziehen. Das klappt bei mir irgendwie nicht.
Danke schonmal für eure HIlfe!
Alexander
Antwort 4 von Aliba
Hi Alexander,
rein theoretisch klappt das mit INDIREKT, wobei
1. Die Quelldatei geöffnet sein muss
2. Der über Verketten erzeugte Textstring exakt Deiner normalen Verknüpfung entsprechen muss, also incl. der eckigen Klammern, incl. der ´-Zeichen.
Der Formelansatz wäre dann:
=INDIREKT(VERKETTEN(.....&....&....&...))
wie gesagt, beachte 1.
und die exakte Schreibweise.
CU Aliba
rein theoretisch klappt das mit INDIREKT, wobei
1. Die Quelldatei geöffnet sein muss
2. Der über Verketten erzeugte Textstring exakt Deiner normalen Verknüpfung entsprechen muss, also incl. der eckigen Klammern, incl. der ´-Zeichen.
Der Formelansatz wäre dann:
=INDIREKT(VERKETTEN(.....&....&....&...))
wie gesagt, beachte 1.
und die exakte Schreibweise.
CU Aliba
Antwort 5 von Knecky
Hallo Aliba,
danke für die schnelle Antwort.
Wenn ich den Befehl =INDIREKT("source!E1")
im Monatssheet innerhalb der gleichen Datei eintrage, wird der richtige Dateiname der zweiten Datei angezeigt (Test02.xls).
Wenn ich den Befehl: =´[Test02.xls]Tabelle1´!$C$16
nun so umbaue: =´[INDIREKT("source!E1")]Tabelle1´!$C$16 bekomme ich ein #BEZUG als Ergebnis.
Was mache ich falsch?
Bis später
Alexander
danke für die schnelle Antwort.
Wenn ich den Befehl =INDIREKT("source!E1")
im Monatssheet innerhalb der gleichen Datei eintrage, wird der richtige Dateiname der zweiten Datei angezeigt (Test02.xls).
Wenn ich den Befehl: =´[Test02.xls]Tabelle1´!$C$16
nun so umbaue: =´[INDIREKT("source!E1")]Tabelle1´!$C$16 bekomme ich ein #BEZUG als Ergebnis.
Was mache ich falsch?
Bis später
Alexander
Antwort 6 von Aliba
Hi Alexander,
wenn ich Dich richtig verstehe steht in source!E1 der Text Test02.xls. Du musst nun aber diesen Ausdruck als Text darstellen:
´[Test02.xls]Tabelle1´!$C$16
Die Zeichen ´ lassen wir erstmal weg.
Das sollte dann so aussehen, wenn in source!E1
Test02.xls steht:
=INDIREKT("["&source!E1&"]Tabelle1!C16")
UND WICHTIG!! Test02.xls MUSS geöffnet sein.
Wenns dann immer noch nicht funktioniert, dann müssen wir trotzdem die `- Zeichen mit einbauen.
CU Aliba
wenn ich Dich richtig verstehe steht in source!E1 der Text Test02.xls. Du musst nun aber diesen Ausdruck als Text darstellen:
´[Test02.xls]Tabelle1´!$C$16
Die Zeichen ´ lassen wir erstmal weg.
Das sollte dann so aussehen, wenn in source!E1
Test02.xls steht:
=INDIREKT("["&source!E1&"]Tabelle1!C16")
UND WICHTIG!! Test02.xls MUSS geöffnet sein.
Wenns dann immer noch nicht funktioniert, dann müssen wir trotzdem die `- Zeichen mit einbauen.
CU Aliba
Antwort 7 von Knecky
Funktioniert!
Aliba, du bist der Excelgott!
Vielen Dank nochmal, das erleichtert meine Arbeit wesentlich!!!!!
Alexander
Aliba, du bist der Excelgott!
Vielen Dank nochmal, das erleichtert meine Arbeit wesentlich!!!!!
Alexander
Antwort 8 von Knecky
Eine letzte Frage noch Aliba:
Da ich sehr viele Zeilen habe und durch ziehen der E1 Wert zu E2 usw. geändert wurde, aber die Tabellenzelle gleich blieb, habe ich durch einfügen
=INDIREKT("["&source!$E$1&"]Tabelle1!C16") schonmal erreicht, das der E-Wert nicht hochzählt. Wie kann ich den C-Wert am Ende denn hochzählen lassen. Der bewegt sich kein bißchen.
Danke schonmal im Voraus
Alexander
Da ich sehr viele Zeilen habe und durch ziehen der E1 Wert zu E2 usw. geändert wurde, aber die Tabellenzelle gleich blieb, habe ich durch einfügen
=INDIREKT("["&source!$E$1&"]Tabelle1!C16") schonmal erreicht, das der E-Wert nicht hochzählt. Wie kann ich den C-Wert am Ende denn hochzählen lassen. Der bewegt sich kein bißchen.
Danke schonmal im Voraus
Alexander
Antwort 9 von Aliba
Hi Alexander,
das ist klar, denn es handelt sich ja hier um Text, dann müsste das ganze für die Zelle C16 so aussehen:
=INDIREKT("["&source!$E$1&"]Tabelle1!C"&ZEILE(A16) )
CU Aliba
das ist klar, denn es handelt sich ja hier um Text, dann müsste das ganze für die Zelle C16 so aussehen:
=INDIREKT("["&source!$E$1&"]Tabelle1!C"&ZEILE(A16) )
CU Aliba
Antwort 10 von Knecky
Genial!
Danke vielmals nochmal!
Alexander
Danke vielmals nochmal!
Alexander
Antwort 11 von Portiere
Hallo Aliba!
Ich habe das gleiche Problem, nur dass ich keinen direkten Zellbezug verwende, sonder einen verketteten Pfad im Sverweis verwenden möchte - welcher mit =Verketten... nicht funktioniert!
Gibt es hier auch eine Möglichkeit?
Vielen Dank und liebe Grüße
aus Tirol
Christoph
Ich habe das gleiche Problem, nur dass ich keinen direkten Zellbezug verwende, sonder einen verketteten Pfad im Sverweis verwenden möchte - welcher mit =Verketten... nicht funktioniert!
Gibt es hier auch eine Möglichkeit?
Vielen Dank und liebe Grüße
aus Tirol
Christoph
Antwort 12 von Aliba
Hi Christoph ,
das geht natürlich auch.
Nachdem INDIREKT mappenübergreifend ja nur funktioniert, wenn die Quelldatei geöffnet ist, wird der Pfad auch nicht benötigt, da die Datei ja geöffnet sein muss.
Theoretisch funktioniert dann der SVERWEIS so:
=SVERWEIS(Suchbegriff;INDIREKT(hier wird dann über Verketten bzw.& der Bezug zu dem Tabellenbereich der anderen Datei hergestellt);Spaltenverweis;0)
Aber besser wäre es, zu erläutern, was Du genau erreichen willst, möglicherweise gibt es ja auch eine andere Möglichkeit mit z.B. BEREICH.VERSCHIEBEN
CU Aliba
das geht natürlich auch.
Nachdem INDIREKT mappenübergreifend ja nur funktioniert, wenn die Quelldatei geöffnet ist, wird der Pfad auch nicht benötigt, da die Datei ja geöffnet sein muss.
Theoretisch funktioniert dann der SVERWEIS so:
=SVERWEIS(Suchbegriff;INDIREKT(hier wird dann über Verketten bzw.& der Bezug zu dem Tabellenbereich der anderen Datei hergestellt);Spaltenverweis;0)
Aber besser wäre es, zu erläutern, was Du genau erreichen willst, möglicherweise gibt es ja auch eine andere Möglichkeit mit z.B. BEREICH.VERSCHIEBEN
CU Aliba
Antwort 13 von Portiere
Hallo Aliba,
danke erstmal für die schnelle Antwort! Mein Excel hat glaub ich einen Spinner - ich habs so wie du eingegeben und es kam nix - dann ging ich zu Tisch und es hat gepasst - echt sensationell!
Wir machen montliche Deckungsbeitragsrechnungen pro Category. In den Zeilen stehen die Kostenarten, in den Spalten die Categories. Pro Monat gibt es einen File. Ich würde nun gerne die Entwicklung über das letzte und vorletzte Jahr darstellen. Dazu vergebe ich pro Category ein Sheet (ergibt ca. 15 Sheets), die jeweils die Kostenarten enthalten. Nun müssen aber die monatlichen Daten in die jeweiligen Spalten pro Sheet, wobei sich der File-Name und so File-Pfad für den SVerweis pro Monat ändern.
Mein erster Versuch war eben durch das Verketten der Textbausteine und die hier entdeckte INDIREKT Formel - aber da die Datei ja dann geöffnet sein muss, ist das auch wieder blöd!
Hast du eine andere Idee? Wäre cool! Ich hoffe
ich habe mich verständlich ausgedrückt und danke dir schon jetzt für die Antwort,
lg Christoph
danke erstmal für die schnelle Antwort! Mein Excel hat glaub ich einen Spinner - ich habs so wie du eingegeben und es kam nix - dann ging ich zu Tisch und es hat gepasst - echt sensationell!
Wir machen montliche Deckungsbeitragsrechnungen pro Category. In den Zeilen stehen die Kostenarten, in den Spalten die Categories. Pro Monat gibt es einen File. Ich würde nun gerne die Entwicklung über das letzte und vorletzte Jahr darstellen. Dazu vergebe ich pro Category ein Sheet (ergibt ca. 15 Sheets), die jeweils die Kostenarten enthalten. Nun müssen aber die monatlichen Daten in die jeweiligen Spalten pro Sheet, wobei sich der File-Name und so File-Pfad für den SVerweis pro Monat ändern.
Mein erster Versuch war eben durch das Verketten der Textbausteine und die hier entdeckte INDIREKT Formel - aber da die Datei ja dann geöffnet sein muss, ist das auch wieder blöd!
Hast du eine andere Idee? Wäre cool! Ich hoffe
ich habe mich verständlich ausgedrückt und danke dir schon jetzt für die Antwort,
lg Christoph
Antwort 14 von Aliba
Hi Christoph,
also das wird so nichts. Bei INDIREKT muss die Datei geöffnet sein.
Nachdem Du hier quasi 12 verschiedene Dateien hast, sehe ich ausser das evtl. über VBA zu machen , keine Möglichkeit.
VBA ist dann jedoch nicht mein Metier.
Tut mir leid
CU Aliba
also das wird so nichts. Bei INDIREKT muss die Datei geöffnet sein.
Nachdem Du hier quasi 12 verschiedene Dateien hast, sehe ich ausser das evtl. über VBA zu machen , keine Möglichkeit.
VBA ist dann jedoch nicht mein Metier.
Tut mir leid
CU Aliba
Antwort 15 von Portiere
Hallo Aliba,
trotzdem danke! Mal schaun, vielleicht mach ichs über indirekt - mach ich halt alle 12 dateien auf und füg dann die Werte ein! ;)
Alles liebe,
Christoph
trotzdem danke! Mal schaun, vielleicht mach ichs über indirekt - mach ich halt alle 12 dateien auf und füg dann die Werte ein! ;)
Alles liebe,
Christoph

