Post by Thomas RamelDefiniere die folgenden Namen über
--> Menü 'Einfügen'
--> Name
--> Definieren
--> Namen in der Arbeitsmappe: 'x'
--> Bezieht sich auf: =ARBEITSMAPPE.ZUORDNEN(1+0*JETZT())
--> [Hinzufügen]
--> Namen in der Arbeitsmappe: 'y'
--> Bezieht sich auf: =DATEI.ZUORDNEN(76+0*JETZT())
--> [Hinzufügen]
--> Namen in der Arbeitsmappe: 't'
=WECHSELN(INDEX(x;VERGLEICH(y;x)-1);LINKS(INDEX(x;1);FINDEN("]";INDEX(x;1)))
;"'")&"'!"
Post by Thomas Ramel--> [Hinzufügen]
--> [OK]
Nun kannst Du in einer beliebigen Zelle die folgende Funktion
=WENN(VERGLEICH(y;x)=1;0;INDIREKT(t&"A1"))
Anstelle von 'A1' deinen Bezug einsetzen.
Ich erlaube mir, aus Smart Tools Weekly Excel vom 12.4.05 zu zitieren:
[Zitatbeginn]
Flexible 3D-Bezüge für Ihre Formeln
Versionen: Excel 2003, 2002/XP, 2000 und 97
Excel bietet bekanntlich die Möglichkeit, beliebigen Tabellenbereichen Namen
zuzuweisen, so dass Sie Bezüge wie "C10:D55" durch aussagekräftige Namen wie
"Umsatz2000" ersetzen können. Wirklich interessant wird es aber erst, wenn
Sie Namen Formeln oder Konstanten zuweisen, wodurch sich eine Fülle
zusätzlicher Anwendungsmöglichkeiten ergibt. Wir werden in SmartTools Excel
Weekly sicherlich noch öfters darauf eingehen. In diesem Tipp möchten wir
Ihnen zeigen, wie Sie mit Hilfe von Namen ganz einfach einen Bezug auf das
vorhergehende oder das nachfolgende Tabellenblatt herstellen können. Sie
definieren dabei die Namen "Vorher" und "Naechster" und erhalten als
Ergebnis immer den Inhalt der entsprechenden Zelle aus dem vorherigen oder
nächsten Tabellenblatt.
Also zum Beispiel: Ihre Arbeitsmappe besteht aus den Blättern "Tabelle1",
"Tabelle2" und "Tabelle3". Wenn Sie in Zelle A1 von "Tabelle2" die Formel
=Vorher
eingeben, erhalten Sie als Ergebnis den Inhalt von Zelle A1 aus "Tabelle1".
Die Formel
=Naechster
liefert dementsprechend den Inhalt der Zelle A1 aus "Tabelle3".
Um diese Funktionalität in einer Arbeitsmappe nutzen zu können, wählen Sie
das Menü EINFÜGEN-NAME-DEFINIEREN an, geben "Vorher" (ohne
Anführungszeichen) ein, wechseln in das Feld BEZIEHT SICH AUF und erfassen
hier die folgende Formel (am besten per Zwischenablage übernehmen):
=INDIREKT(INDEX(ARBEITSMAPPE.ZUORDNEN(1);
DATEI.ZUORDNEN(87)-1)&"!"&ADRESSE(ZEILE();SPALTE()))
Bestätigen Sie den Vorgang mit HINZUFÜGEN und weisen Sie dem Namen
"Naechster" diese Formel zu:
=INDIREKT(INDEX(ARBEITSMAPPE.ZUORDNEN(1);
DATEI.ZUORDNEN(87)+1)&"!"&ADRESSE(ZEILE();SPALTE()))
Sie können dann das Dialogfeld mit SCHLIEßEN verlassen und in Zukunft aus
jeder beliebigen Zelle durch einfache Eingabe eines der Namen jeweils auf
dieselbe Zelle im vorhergehenden oder nächsten Blatt zugreifen. Interessant
ist das beispielsweise bei der Budgetplanung: Wenn Sie in "Tabelle1" das
Budget des 1. Quartals angelegt haben und in "Tabelle2" das Budget des 2.
Quartals mit exakt demselben Tabellenaufbau anlegen, genügt die folgende
Formel, um den Betrag im 2. Quartal um 25% zu erhöhen:
=Vorher*1,25
Kurz zur Funktionsweise der Formeln in den Namensdefinitionen: Der wichtige
Trick an der Sache ist die Verwendung von ARBEITSMAPPE.ZUORDNEN und
DATEI.ZUORDNEN. Dabei handelt es sich um Funktionen, die Sie in der
Dokumentation von Excel 97 und 2000 vergeblich suchen werden, denn sie
stammen noch aus der Makrosprache der ersten Excel-Versionen bis 4.0. VBA
ist natürlich komfortabler und leistungsfähiger, aber VBA-Anweisungen werden
in Namensdefinitionen nicht akzeptiert. Die alten Makroanweisungen sind nur
noch aus Kompatibilitätsgründen in Excel 97 und 2000 vorhanden, können aber
(obwohl nicht dokumentiert) weiterhin in Namensformeln eingesetzt werden.
Dabei liefert ARBEITSMAPPE.ZUORDNEN(1) den Namen der ersten Tabelle samt
Dateinamen (zum Beispiel [TEST.XLS]Tabelle1) und DATEI.ZUORDNEN(87) die
Nummer der Tabelle, aus der Sie den Wert auslesen möchten.
[Zitatende]
Diese Lösung ergibt relative Bezüge zu den jeweils benachbarten Blättern.
--
Hallo + Gruss Alexander (WinXP Home SP1 - Office 2000 SP3) 6----5----7-2