Gar nicht so einfach 22.07.2022, 11:00 Uhr

Excel & LibreOffice: Blattname in einer Zelle ausgeben

Überraschenderweise haben Excel und LibreOffice Calc keine simple Funktion, mit der man den Blattnamen in eine Zelle schreiben kann. Über einen kleinen Trick gehts doch.
Man würde von einem Tabellenkalkulations-Riesen wie Excel erwarten, dass er etwas so Triviales wie das Ausgeben des Blattnamens in einer Zelle mit einer einzigen simplen Funktion hinbekommt. Aber leider ist das nicht so einfach. Früher griff man hierfür in Excel teils sogar zu einem kleinen VBA-Makro, welches jedoch heute nicht mehr funktioniert.
Lösung: Der Excel-Fuchs Martin Weiss hat eine Formel gestrickt, mit der es ohne Makro geht. Wichtig ist einfach, dass Sie die Datei mindestens einmal gespeichert haben. Solange die Datei nicht gespeichert wurde, hat sie keinen Pfad und Dateinamen – und die Formel würde sofort auf die Nase fallen.
Voilà – hier ist die Formel. Sie müssen diese auch nicht anpassen. Fügen Sie diese einfach in jene Zelle ein, in welcher der Blattname erscheinen soll:
=RECHTS(ZELLE("dateiname";A1);LÄNGE(ZELLE("dateiname";A1))-FINDEN("]";ZELLE("dateiname";A1)))
Der Blattname in der Zelle mitsamt der zugehörigen Formel sieht dann z.B. so aus
Quelle: PCtipp.ch
Laut Kommentaren im Blog des Tabellenexperten hat es bei manchen Usern erst geklappt, nachdem man den Zellbezug A1 mit $A$1 fixiert hat. Ohne dies habe es sonst bei diesen in allen Blättern denselben Namen eingetragen. Dieses Phänomen konnte ich bei meinem Kurztest nicht reproduzieren. Es trat nur auf, wenn man den Bezug auf A1 komplett wegliess (das wäre dann: =RECHTS(ZELLE("dateiname");LÄNGE(ZELLE("dateiname"))-FINDEN("]";ZELLE("dateiname"))))
Sollte es bei Ihnen auftreten, versuchen Sie es auch einmal so:
=RECHTS(ZELLE("dateiname";$A$1);LÄNGE(ZELLE("dateiname";$A$1))-FINDEN("]";ZELLE("dateiname";$A$1)))
Die Idee dahinter: Die Funktion ZELLE mit dem Parameter «Dateiname» kennt auch den Namen des aktuellen Tabellenblatts. Dies können Sie nach einem Speichern Ihrer Datei ausprobieren, indem Sie in eine Zelle schlicht: =ZELLE("dateiname") schreiben. Excel spuckt den ganzen Pfad aus, inklusive Dateinamen und Tabellenblattnamen, z. B. so: «C:\Users\Test\[MonatsMappe.xlsx]Januar»
Wie Sie erkennen, befindet sich der Blattname am Ende der Angabe, direkt rechts einer schliessenden eckigen Klammer (]). Die wird in der obigen Formel mittels FINDEN gesucht, dann werden noch die überzähligen Teile per Formel weggeschnitten – und übrig bleibt der Blattname.
Wundern Sie sich nicht über den Bezug auf A1; Sie müssen diesen auch nicht anpassen. Ihn braucht es, damit sich die Formel auf jedem Blatt wieder neu auf ein Objekt (hier: eine Zelle) beziehen kann, das sich auf diesem Blatt befindet.

Und auch in LibreOffice Calc

In LibreOffice Calc funktioniert der gleiche Trick ebenfalls. Nur die Syntax unterscheidet sich ein klein wenig von jener in Excel. In Calc verwenden Sie die Formel so:
=RECHTS(ZELLE("Filename");LÄNGE(ZELLE("Filename"))-FINDEN("$";ZELLE("Filename")))
In LibreOffice gehts nach dem gleichen Prinzip, aber es ist in diesem Fall kein konkreter Zellbezug nötig
Quelle: PCtipp.ch
Hier ist interessanterweise auch kein Bezug auf eine konkrete Zelle erforderlich.
(Ursprung 31.05.2013, letztes Update mit Ergänzung zu LibreOffice 22.07.2022)



Kommentare
Es sind keine Kommentare vorhanden.