Im Office Lösung Forum fragte jemand, warum der Name „C1C1_A“ in der englischen Version von Excel 2003 nicht als Bereichsname akzeptiert wurde. Ein kurzer Test in meiner deutschen Version von Excel 2003 ergab, dass dieser Bereichsname jedoch sehr wohl akzeptiert wird. Wenn ich allerdings Excel 2003 auf Englisch umschalte, ist der Name nicht mehr zulässig. Das hat mich neugierig gemacht und dazu veranlasst, ein paar Testreihen durchzuführen und diesen Artikel zu schreiben.
Als Testumgebung stehen mir hier Office 2003, 2007 und 2010 in den jeweiligen Sprachen Deutsch, Englisch und Französisch zur Verfügung. Als Betriebssystem verwende ich Windows 7 in Deutsch.
Excel 2010
Begonnen habe ich meine Tests zunächst in meiner deutschen Excel 2010 Version. Wie im Screenshot hier oben zu sehen, sobald ich „C1C1“ im Namensfeld (links neben dem f(x)) eingebe, und Enter drücke, erscheint eine Fehlermeldung. Und – Sie haben es sicherlich schon bemerkt – Excel 2010 akzeptiert im Gegensatz zu Excel 2003 den Namen nicht; dazu aber später mehr.
Auch wenn ich „C1C1_Test“ oder „Z1Z1“, „Z1Z1_Test“ oder auch „Z1S1_Test“ als Bereichsnamen verwenden möchte, erhalte ich eine Fehlermeldung. Stelle ich dem Text „C1C1“ eine Zeichenkette voran, zum Beispiel „Test_C1C1“, wird der Name problemlos übernommen, weshalb ich mich im Folgendem nur auf Namen der Form „X1Y1“ beschränken werde.
Gibt man im Namensfeld „Z1S1“ ein, springt Excel zu einer der Z1S1 Schreibweise entsprechenden Zelle, in diesem Fall zur Zelle A1. Versucht man den Namen „Z1S1“ über den Namensmanager anzulegen (zu finden im Menüband unter „Formeln“), erhält man auch korrekterweise eine Fehlermeldung mit einigen Hinweisen zu den Regeln für Namen. Schauen wir uns also mal an, was denn die Excel 2010 Hilfe dazu sagt, Zitat:
- Das ersten Zeichen eines Namens muss ein Buchstabe, ein Unterstrich (_) oder ein umgekehrter Schrägstrich () sein. Für alle weiteren Zeichen des Namens können Buchstaben, Ziffern, Punkte oder Unterstriche verwendet werden.
- Die Groß- und Kleinbuchstaben „C“, „c“, „R“ oder „r“ können nicht als festgelegte Namen verwendet werden, da alle als Kurzform für das Auswählen einer Zeile oder Spalte für eine aktuell ausgewählte Zelle verwendet werden, wenn diese in dem Textfeld Name oder Gehe zu eingegeben werden.
- Namen dürfen nicht mit einem Zellbezug identisch sein, beispielsweise Z$100 oder Z1S1.
- Leerzeichen sind als Teil des Namens nicht erlaubt. Verwenden Sie den Unterstrich (_) und Punkt (.) zum Trennen von Wörtern.
- Ein Name maximal 255 Zeichen enthalten.
- Namen können Buchstaben in Groß- und Kleinschreibung enthalten. Excel unterscheidet bei Namen nicht zwischen Groß- und Kleinbuchstaben.
Ok, dies grenzt schon mal ein paar Varianten aus. In einem nächsten Schritt habe ich mir eine Datei in Excel 2010 im XLSX Dateiformat angelegt und weitere Namen ausprobiert. Bewusst habe ich hier schon mal „Z1S1“, „R1C1“ und „L1C1“ verwendet, was den Abkürzungen der Z1S1-Bezugsart in Deutsch, Englisch und Französisch entspricht. Im nachfolgenden Screenshot sind nun die 4 Namen zu sehen, die in der deutschen Version von Excel 2010 zulässig sind.
Und nun das Ganze für die englische und französische Version von Excel; wobei ich hier nur mein Sprachpaket umgeschaltet habe, also keine separaten Tests dieser Versionen gemacht habe.
Wir stellen also fest, dass das Verhalten von Excel 2010 in der jeweiligen Sprachversion unterschiedlich ist.
In allen drei Versionen sind „A1A1“, „B1B1“, „H8Z1“ als Bereichsname erlaubt und „C1C1“, „C1A1“, „C1R1“ und „R1C1“ nicht erlaubt. Allerdings ist „Z1S1“ in der englischen und französischen Version zulässig und „L1C1“ in der deutschen Version.
Interessant wird es übrigens, wenn man versucht die in der englischen und französischen Version erstellten Excel Dateien in die deutsche Excel 2010 Version zu laden. Sie erhalten die Fehlermeldung „Es wurde unlesbarer Inhalt in ‚Dateiname.xlsx‘ gefunden. Möchten Sie den Inhalt dieser Arbeitsmappe wiederherstellen? Wenn Sie der Quelle dieser Arbeitsmappe vertrauen, klicken Sie auf Ja.“
Lässt man die Reparatur der Mappe zu, werden Inhalte aus der Mappe entfernt und es erscheint ein Informationsfenster über entfernte Inhalte „Entfernte Datensätze: Benannter Bereich von /xl/workbook.xml-Part (Arbeitsmappe)“, wobei hier nicht angezeigt wird, um welche Namen es sich handelt. Man merkt aber schnell, dass es sich um die Bereichsnamen handelt, die in der deutschen Version nicht zulässig sind.
Stellt sich die Frage, was würde passieren, wenn Formeln in der Mappe enthalten sind, die auf den entfernten Bereichsnamen verweisen? Dafür habe ich in der englischen Excel Version eine Mappe erstellt, die den benannten Bereich „Z1Z1“ enthält, der sich auf Names!$D$6:$E$11 bezieht. Anschließend habe ich die Formel =VLOOKUP(„C“;Z1Z1;2;FALSE) eingefügt, die dem SVERWEIS() in Deutsch entspricht.
Schauen wir uns nun das Ergebnis in der deutschen Version von Excel 2010 an. Nach der Bestätigung der Reparatur wird zunächst alles ganz normal angezeigt. Wenn man genauer hinschaut, stellt man fest, dass der benannte Bereich durch die Zeichenfolge ‚Z1S1‘ ersetzt wurde, wie hier in der Abbildung zu sehen.
Erst wenn in die Zelle mit der Formel geklickt wird, erscheint eine Fehlermeldung, dass die Formel ungültig ist; der Wert bleibt erhalten, auch wenn ich den Ausgangswert „Willy Wichtig“ auf etwas anderes verändere.
Excel 2007
Ich habe die Tests in Excel 2007 wiederholt; zwar nicht ganz so intensiv, wie für Excel 2010, aber dasselbe Verhalten wie in Excel 2010 festgestellt.
Excel 2003
Hier sind einige Unterschiede zu Excel 2010 festzustellen, nämlich dass einige Namen, die in Excel 2010 nicht erlaubt sind, in Excel 2003 akzeptiert werden. Zum Testen hatte ich die Excel 2010 Dateien in Excel 2003 im XLS Dateiformat nochmals erstellt.
Ähnlich verhält es sich dann mit den englischen und französischen Versionen von Excel 2003, wobei auch hier anzumerken ist, dass ich die MUI Version mit Zusatzpaketen für die Sprachen verwende, also keine Tests der Versionen als Einzelinstallation gemacht habe. Folgend der Screenshot für die englische Version.
Auch hier habe ich mal die Datei aus der englischen Version mit der Formel zum SVERWEIS() bzw. VLOOKUP() in der deutschen Excel Version geöffnet.
Der Bereichsname „Z1Z1“ wird in der Formel wird ohne Hinweis durch die Zeichenkette ‚Z1Z1‘ ersetzt. Aber, im Gegensatz zu Excel 2010, ist der Name noch vorhanden. Wenn man die Formel verändern möchte, erhält man zwar eine Fehlermeldung, aber wenn die Quelldaten verändert werden, passt sich das Ergebnis an und wird aktualisiert.
Danach habe ich noch den Kompatibilitätsmodus von Excel 2010 getestet und die englische XLS Datei im deutschen Excel 2010 geöffnet. Excel 2010 verhält sich hier dann genauso wie Excel 2003.
Fazit
Ich hoffe mal, dass ich hier nichts übersehen habe, aber ich denke auch, am besten vermeidet man grundsätzlich die Verwendung von Namen, die mit den Buchstaben „Cx“, „Rx“ und „Lx“ beginnen, wo hier x für eine Zahl steht. Und da man sicherlich davon ausgehen kann, dass in weiteren Sprachen weitere Buchstaben genutzt werden, würde ich sogar generell eine Kombination aus „Buchstabe und Zahl“ am Anfang eines Namens nicht verwenden. Letzten Endes sind ja auch Benennungen, die mehr „realen“ Gegebenheiten entsprechen, sicherlich sinnvoller.
Danke für die Klärung des Sachverhalts!