Gar nicht so einfach
22.08.2022, 08:28 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.
Eine simple Funktion, den Blattnamen in eine Zelle zu bekommen, gibt es weder in Excel noch in LibreOffice
(Quelle: PCtipp.ch)
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)))
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")))
Hier ist interessanterweise auch kein Bezug auf eine konkrete Zelle erforderlich.