Hallo,
voraussschicken möchte ich, daß =INDIREKT() sehr langsam ist. Das heißt, je größer die Tabelle und je häufiger die Aufrufe, desto mehr Leistungseinbuße hast du.
Und die Quelldatei muß geöffnet sein, sonst werden die Bezüge nicht aktualisiert.
Je nachdem, ob du die Formel nach unten oder nach rechts kopierst, kannst du zum Erhöhen des Werts die Zeile() oder die Spalte() Funktion verwenden.
Geht es um die (numerierten) Tabellenblätter in einer Datei, schreibst du:
=INDIREKT("'D:\Dokumente[Quelldatei.xls]KW"&SPALTE()&"'!$B$1")
Geht es um numerierte Dateinamen:
=INDIREKT("‚D:\Dokumente[Quelldatei KW"&SPALTE()&".xls]‘!$B$1")
Einfacher wäre es, die Wenn() Abfrage wegzulassen und Nullwerte auszublenden.
(Zweimal ne indirekte Abfrage in einer Formel = langsam!)
Heißt:
In Zelle A11 meinetwegen schreibst du:
=INDIREKT("'D:\Dokumente[Quelldatei.xls]KW"&SPALTE()&"'!$B$1")
Dann setzt du das Zellformat von A11 auf Benutzerdefiniert
[=0]"";Standard
Sollen führende Nullen einbezogen werden, schreibst du statt
=INDIREKT("'D:\Dokumente[Quelldatei KW"&SPALTE()&".xls]'!$B$1")
=INDIREKT("'D:\Dokumente[Quelldatei KW"&WENN(SPALTE()<=9;"0";"")&SPALTE()&".xls]'!$B$1")
Dieser Einschub fügt eine Null vorne an, wenn der geholte Wert kleiner oder gleich neun ist.
Viel Spaß!
LG
Chris