Microsoft Excel

Das Portal zum Thema Excel-Formeln

Gruppe: Namen - BEITRAG: Bezug immer auf das vorhergehende / nachfolgende Blatt


Aufgabe
Es soll ein relativer Tabellenblattbezug hergestellt werden.
Dabei soll immer Bezug genommen werden auf eine Zelle, die sich x-Blätter vor / x-Blätter hinter dem Blatt befindet, in dem die Formel selbst steht.

Beispiel:
Vorhanden sind Tabelle1 bis Tabelle5.
In Tabelle3 soll jetzt Bezug auf A1 in der direkt davor liegende Tabelle (Tabelle2) genommen werden.
Wird jetzt das Blatt "Tabelle2" gelöscht", dann soll automatisch auf Tabelle1, A1 Bezug genommen werden - denn Tabelle1 ist jetzt das Blatt, das direkt vor Tabelle3 liegt.
Das Selbe soll mit eingefügten Blättern auch funktionieren.
Lösung
Definiere einen Namen.
Name: x
Bezieht sich auf:
=ARBEITSMAPPE.ZUORDNEN(1+0*JETZT())

Und folgende Array-Formel nimmt Bezug auf A1 in dem direkt vorhergehenden Blatt:
{=INDIREKT("'"&INDEX(x;VERGLEICH(ZELLE("Dateiname";A1);INFO("Verzeichnis")&x;)-1)&"'!A1")}

Das -1 steht für: 1 Blatt davor.
Variiere diese Zahl, um auf andere Blätter relativ zu referenzieren - z.B. +2 für 2 Blätter danach.

Um auch noch den Bezug (hier A1) relativ zu gestalten und die Formel somit kopierbar zu machen:

{=INDIREKT("'"&INDEX(x;VERGLEICH(ZELLE("Dateiname";A1);INFO("Verzeichnis")&x;)-1)&"'!"&ZELLE("adresse";A1))}

Erläuterung
Die Datei muss bereits 1 mal gespeichert sein, da sonst ZELLE("Dateiname";A1) ins Leere läuft!

Steht die Formel (wenn sie sich denn auf das direkt davorliegende Blatt beziehen soll - also -1) im ersten Blatt (es gibt also kein Blatt davor), dann bezieht sie sich auf das Blatt selbst, da so der Wert Null an INDEX übergeben wird. Wird dieser Wert negativ, gibt es #WERT!, ist er zu groß, dann gibt´s #BEZUG!

Ergänzung 29.08.2007 von Utz Schmidt:
bei der Formel für den Bezug immer auf das vorhergehende / nachfolgende Blatt (392)
http://www.excelformeln.de/formeln.html?welcher=392
kann es zu einem Problem kommen. Der Teil INFO("Verzeichnis") gibt das Arbeitsverzeichnis von Excel zurück und das muß nicht unbedingt mit dem Verzeichnis der Datei übereinstimmen. Verwenden zwei Arbeitsmappen in unterschiedlichen Verzeichnissen die Formel wird mindestens eine davon einen Fehler liefern.
Als sichere Alternative könnte man diese Formel verwenden:
{=INDIREKT("'"&INDEX(x;VERGLEICH(ZELLE("Dateiname";A1);LINKS(ZELLE("Dateiname";A1);VERWEIS(33000;FINDEN("\";ZELLE("Dateiname";A1);ZEILE(A:A))))&x;)-1)&"'!"&ZELLE("adresse";A1))}


Falls die Formeln auch in anderssprachigen Versionen funktionieren müssen, ersetzt "Dateiname" durch "Filename". Das ist in allen Sprachen (auch deutsch) gültig.