Anzeigen des Blattnamens in Google Spreadsheets


Antworten:


11

Jemand hat ein Skript dafür geschrieben. Es ist unter Extras > Skriptgalerie ... verfügbar . Suchen Sie nach "Blattname", installieren Sie das Skript und verwenden Sie es dann mit =getCurrentSheetName().


9
Wie kann ich in den "neuen" Google Sheets (die jetzt einen Add-On-Store verwenden) auf dieses Skript zugreifen?
Benjamin

4
Das funktioniert nicht mehr. Verwenden Sie die Antwort von @ user93341. Ich habe den gesamten Prozess durchlaufen, um seine Funktion im Add-On-Store zu veröffentlichen, und im letzten Schritt wollten sie, dass mein Konto für 5 US-Dollar verifiziert wird, und ich würde mich darauf beschränken, 20 Artikel zu veröffentlichen. Le seufzt.
Bruno Bronosky

49

Gehen Sie zu ToolsScript Editor und fügen Sie diesen Code hinzu:

function sheetName() {
  return SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
}

Fügen Sie in einer Zelle, in der der Blattname angezeigt werden soll, Folgendes hinzu:

=sheetName()

Beim Zugriff auf Blattnamen über die unten gezeigten API-Funktionen ist ein Problem aufgetreten, bei dem nur der erste Blattname zurückgegeben wurde. Dies wurde im März 2015 behoben .


Könnten Sie Ihre Antwort für diejenigen von uns erweitern, die mit dem Skript-Tool nicht vertraut sind?
Coding Badger

1
@Barry 1) Wählen Sie Extras-> Skript-Editor. 2) Fügen Sie in der resultierenden Textdatei diese Funktion am Ende hinzu. 3) Klicken Sie auf Speichern. 4) Jetzt können Sie diese Funktion in Ihrem Arbeitsblatt verwenden.
Gamliela

5
Diese Funktion funktioniert zwar einwandfrei, wird jedoch nicht aktualisiert, wenn sich der Blattname ändert, sodass sie eigentlich nicht nützlich ist.
jesjimher

1
@jesjimher Laut diesem Google Text & Tabellen-Hilfeforum wird beim erneuten Speichern des Skripts im Skript-Editor festgestellt, dass die Registerkartennamen ordnungsgemäß aktualisiert wurden.
Aribeiro

1
Ich weiß, aber es ist verwirrend und völlig anders, als Blattformeln funktionieren. Ich erwarte, dass eine Formel aktualisiert wird, sobald sich die Daten ändern, auf die verwiesen wird. Jetzt macht diese Formel das nur, wenn ich das Quellenskript öffne und speichere. Ich könnte einfach jedes Mal den Blattnamen von Hand eingeben, um den Ärger zu sparen.
Jesjimher

6

Hier ist ein Benutzerdefinierte Funktion Code - Schnipsel eine Tabelle Namen zu erhalten , indem es die Identifikation .

function GetSpreadsheetNameById(id) {
  var ss = SpreadsheetApp.openById(id);
  return ss.getName();
}

Übergeben Sie in einer Zelle eine Blattkennung (suchen Sie in der Tabellenkalkulations-URL nach der Kennung).

=GetSpreadsheetNameById('49nvkwOE-203nXDLGGJtg0htFKK020dsd939AAPZU')

1
Dies ist nur eine geringfügige Änderung an @ user93341 Antwort oben.
JamesThomasMoon1979

Dies gibt den folgenden Fehler: "Sie haben keine Berechtigung zum Aufrufen von SpreadsheetApp.openById."
Aurovrata

Dies gibt den Namen des Dokuments anstelle des Blatts zurück. Ersetzen Sie ihn return ss.getName();durch return ss.getActiveSheet().getName();den Namen des Blatts (ich brauchte tatsächlich den Namen des Dokuments, also danke)
Emilien

-1

Versuche dies:

function getNameOfThisSheet() {
  return SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
}

Fügen Sie es in Tools> Script Editor ein und rufen Sie die Funktion aus einer Zelle wie dieser auf:

=getNameOfThisSheet(NOW())

Der NOW()vorherige GoogleClock()Parameter hilft dabei, Probleme mit der Speicherung zu vermeiden.


GOOGLECLOCK () wurde durch NOW () ersetzt, da nicht deterministische Funktionen nicht als Argumente für benutzerdefinierte Funktionen verwendet werden können.
Rubén
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.