Dynamische Pfade innerhalb von "ISTLEER"?

Hallo,

ich erstelle gerade eine Tabelle zur Personaleinsatzplanung. Außerdem existiert eine Tabelle Urlaubsplanung.
In Tabelle Urlaubsplanung existieren mehrere Blätter die jeweils mit dem Mitarbeiterkürzel benannt sind.

Ich möchte in der Tabelle Personaleinsatzplanung Urlaubstage aus der Tabelle Urlaubsplanung auslesen.
Das funktioniert auch wunderbar.

Momentan so:
=WENN(ISTLEER(‚P:\Sonstiges[Urlaubsplaner 2016_admin.xlsx]AH‘!$A10);"";‚P:\Sonstiges[Urlaubsplaner 2016_admin.xlsx]AH‘!$A10)

Es wird also nur ein Datum in die jeweilige Zelle von Personaleinsatzplanung geschrieben wenn das Feld aus Tabelle Urlaubsplanung nicht leer ist.
In diesem Fall steht „AH“ für ein Blatt in der Tabelle Urlaubsplaner. AH ist ein Mitarbeiterkürzel.

Da die Tabelle Personaleinsatzplanung extrem umfangreich ist und viele Mitarbeiter berücksichtig werden müssen, möchte ich aber, dass ich nun nicht in jedem Feld das Mitarbeiterkürzel angeben muss.
Ich möchte, dass der Pfad in jeder Zelle dynamisch aufgebaut wird.

Ich habe in der Tabelle Personaleinsatzplanung Zellen in denen jeweils schon das Mitarbeiterkürzel steht.
Jetzt soll der Pfad zusammengesetzt werden mit dem Inhalt der Zelle Mitarbeiterkürzel (A2).
Soll heißen AH soll ersetzt werden durch den Zelleninhalt aus A2.

Wie sieht hier die Syntax aus? Geht das überhaupt?
Ich meine in dieser Art:
=WENN(ISTLEER(‚P:\Sonstiges[Urlaubsplaner 2016_admin.xlsx]&A2&‘!$A10);"";‚P:\Sonstiges[Urlaubsplaner 2016_admin.xlsx]&A2&‘!$A10)

Mir ist schon klar, dass die Syntax so nicht stimmt. Aber wie muss sie aussehen?

Lieben Dank schon mal!

Moin,

schreib den gewünschten Blattnamen irgendwohin und nimm dann Bezug auf die Zelle, in der der Name steht:

X1= „AH“

Wo bislang AH steht, muss dann INDIREKT(X1) hin.

Gruß
Ralf

Moin Ralf,

vielen lieben Dank!
Ich muss leider noch mal blöd fragen.
Ich verstehe worum es geht, aber wie baue ich das in meine Syntax ein?
Hier bekomme ich immer einen Bezug-Fehler, bzw. findet Excel das Blatt „indirekt(A2)“ nicht.

Ursprung:
=WENN(ISTLEER(‚P:\Sonstiges[Urlaubsplaner 2016_admin.xlsx]AH‘!$A10);"";‚P:\Sonstiges[Urlaubsplaner 2016_admin.xlsx]AH‘!$A10)

Nach Änderung:
=WENN(ISTLEER(‚P:\Sonstiges[Urlaubsplaner 2016_admin.xlsx]&indirekt(A2)&‘!$A10);"";‚P:\Sonstiges[Urlaubsplaner 2016_admin.xlsx]&indirekt(A2)&‘!$A10)

Ich schätze, dass ich hier Hochkommata falsch gesetzt habe.

Gruß
Steffi

Nein, =INDIREKT() erstllt einen Bezug aus einer Zeichenfolge.
Zeichenfolgen müssen zusätzlich in „“ eingeschlossen werden.
=„Text „&Zellbezug&“ weiterer Text.“

In die Hilfszelle muß quasi ein kompletter gültiger Bezug, der auch aus Variablen bestehen kann.

Sonst kommt der #Bezug-Fehler.

=WENN(ISTLEER(INDIREKT("'P:\Sonstiges[Urlaubsplaner 
2016_admin.xlsx]"&A2&"'!$A10");"";...)

Hinweis: Die =INDIREKT()-Funktion ist recht langsam, was sich mit zunehmender Komplexität der Arbeitsmappe bemerkbar macht. Gerade bei Mehrfachaufrufen.

Besser wäre es, die Funktion nur einmal aufzurufen und Nullwerte per Zellenformat auszublenden. Ist auch besser für die Übersichtlichkeit.

Angenommen, die Zelle zum Anzeigen st X1, dann schreibst du in X1:

=INDIREKT("'P:\Sonstiges[Urlaubsplaner 2016_admin.xlsx]"&A2&"'!$A10")

Ist die angefragte Zelle leer, gibt die Funktion 0 zurück, diese läßt sich ausblenden, falls sie stören sollte (zB beim Ausdrucken):

Zellformat X1: [=0]"";Standard

Klasse!! Vielen Dank! Vor allem für die ausführliche Erklärung.
Ich möchte es ja verstehen und nicht nur machen :wink:

Jetzt funktioniert alles so wie ich es mir vorgestellt habe, zumindest dieser Teil.

VG