Dateipfad mit einer Formel darstellen

Den Pfad einer Datei darzustellen, kennen die meisten womöglich mittels der Kopf- und Fusszeilen-Funktion. Ich zeige Dir in diesem Beitrag auf, wie Du dies auch mittels einer Formel machen kannst, damit Du den Pfad der aktuellen Datei in einer beliebigen Zelle in Excel ausgeben kannst.

Kopf- und Fusszeile

Bekannter ist die Vorgehensweise, den aktuellen Dateipfad in die Kopf- oder Fusszeile zu integrieren. Dazu gibt es eine vorgefertigte Auswahlmöglichkeit in den Kopf- und Fusszeilentools, die folgendes Resultat liefert:

dateipfadkopfzeile

Dies bedeutet jedoch, dass Du den Pfad immer an einer bestimmten Stelle (eben zu oberst oder zu unterst im Dokument) angezeigt haben wirst. Im nächsten Abschnitt findest Du, mithilfe welcher Formel Du diese Information in jeder beliebigen Zelle hinterlegen kannst!

Die Formel =ZELLE

Wie die Überschrift bereits andeutet, bietet die Formel "=ZELLE" die entsprechende Möglichkeit. Wendet man die Formel an, kommt eine Auswahlmöglichkeit:

dateipfadzelle

Wähle hier "dateiname" und schliesse die Formel ab. Vollständig in einer beliebigen Zelle steht also:

=ZELLE("dateiname")

Und das Resultat ist der Pfad (inklusive Dateiname/Tabellenblatt). Beachte: Es wird nur etwas angezeigt, wenn Deine Excel-Datei auch einen Speicherort hat. Öffnest Du einfach die Applikation und versuchst dies aus (Mappe1), wird es nicht funktionieren. Speichere die Datei ab, aktualisiere die Formel und Du erhältst den Output (bspw.: "C:\Users\Roman\Desktop\[MeineDatei.xlsx]Tabelle1". Möchtest Du nun NUR den Dateipfad angezeigt bekommen, braucht es einige Ergänzungen. Die fertige Formel lautet:

=LINKS(ZELLE("dateiname");SUCHEN("[";ZELLE("dateiname"))-2)

Dies ergibt: "C:\Users\Roman\Desktop". Wir suchen also einerseits nach dem Zeichen "[" - dieses steht für den Dateinamen. Vom gesamten Konstrukt nehmen wir alle Zeichen von links bis zu dieser eckigen Klammer (abzüglich 2: Eben die Klammer und den letzten Backslash "\").

P.S.: Hängst Du hinter "dateiname" noch einen Bezug in eine andere Datei/Zelle, dann wird Dir davon der Pfad/Dateiname angezeigt!

Pivot-Datenquelle automatisch erweitern

Pivot-Tabellen aggregieren innert kürzester Zeit immense Datenmengen. Sobald man der Datenquelle weitere Informationen anfügt, wird dies standardmässig nicht direkt erkannt - der neue Bereich ist jeweils manuell anzupassen:

pivotdatenquelleaendern

Es besteht jedoch die Möglichkeit, die Datenquelle automatisch erweitern zu lassen. Dies funktioniert im Grunde genommen, wie wir das bereits in diesem Beitrag hier mittels Namensgebung für Bereiche behandelt haben. Unserer Pivot-Datenquelle teilen wir auch hier zuerst einen Namen zu: Markiere die gesamte Datenquelle und schreibe ins Namensfeld (links neben der Bearbeitungsleiste) Deinen gewünschten Namen, bspw. "Datenbasis":

pivotdatenquellenamensfeld

Gehst Du nun via "Einfügen" → "PivotTable" kannst Du direkt bei "Tabelle/Bereich:" den definierten Namen ("Datenbasis") eingeben:

(Beachte: Unsere Pivot wird in einem neuen Tabellenblatt sein, nicht im selben wie die Datenbasis.)

Nun ist aber noch nicht konfiguriert, dass sich der Bereich automatisch erweitern soll, sobald weitere Daten angefügt werden (weitere Zeilen, weitere Spalten). Hier kommt die Formel "BEREICH.VERSCHIEBEN" zum Einsatz. Gehe via "Formeln" auf "Namensmanager" und bearbeite Deinen bereits angelegten Namen. In der Maske gibst Du bei "Bezieht sich auf:" die nachfolgende Formel ein:

=BEREICH.VERSCHIEBEN(Datenbasis!$A$1;;;ANZAHL2(Datenbasis!$A:$A);ANZAHL2(Datenbasis!$1:$1))

Auf dem Tabellenblatt mit ebenfalls dem Namen "Datenbasis", beginnend bei Zelle "A1" wird einerseits nach unten (Spalte A:A) gezählt, wie viele Einträge vorhanden sind. Dasselbe passiert auf der Zeile 1.

pivotdatenquellenamensmanager

Der Bereich wird entsprechend daraufhin erweitert, sobald neue Einträge angefügt werden. (Beachte, dass die Pivot-Tabelle noch via Rechtsklick → "Aktualisieren" aufzufrischen ist.)

Mittels Formel den Tabellenblatt-Name ausgeben

Mit einer Zusammensetzung von diversen Formeln kann der Name des aktuellen Tabellenblatts ausgegeben werden. Die komplette Formel lautet:

=TEIL(ZELLE("dateiname");SUCHEN("]";ZELLE("dateiname"))+1;100)

Das Ergebnis dieser Formel ist bei meiner Datei: "MeinTabellenblatt". [Beachte, dass dies nur bei bereits abgespeicherten Dateien funktioniert.]

Die drei verschiedenen verwendeten Formeln bewirken folgendes; beginnen wir mit "=ZELLE":

In dieser Funktion wird zuerst nach dem "Infotyp" gefragt - wir wollen, dass der Dateiname der aktiven Zelle ausgegeben wird. Das Ergebnis: C:\....\...\[MeineDatei.xlsx]MeinTabellenblatt. Nicht zwingend ist eine "Referenz" nach dem Infotyp als zweites Argument innerhalb der Formel. Man könnte da auf eine andere Zelle verweisen; auch auf ein anderes Tabellenblatt - und könnte so schlussendlich mit leichtem Modifizieren der obigen Formel den Namen eines anderen Tabellenblattes ausgeben lassen.

Die Formel "=SUCHEN" haben wir im Beitrag "Textfragmente aus einer Zelle ziehen" genauer betrachtet: Es wird damit die Position des Suchtextes (in unserem Beispiel die eckige Klammer "]" nach dem Dateinamen) ausgemacht, ab welcher (+1) die "=TEIL"-Funktion einen entsprechenden Text ausgibt. Die 100 zum Schluss der obigen Formel ist lediglich eingebaut, dass bestimmt genügend Zeichen ausgegeben werden (also ein Tabellenname mit bis zu 100 Zeichen). Diese hohe Zahl ist unkritisch, da keine ungewünschten Leerzeichen an den Text angefügt werden.