Wyświetl nazwę arkusza w arkuszach kalkulacyjnych Google


Odpowiedzi:


11

Ktoś napisał skrypt, aby to zrobić. Jest ona dostępna w Narzędzia > galerii Script ... . Wyszukaj „nazwę arkusza” i zainstaluj skrypt, a następnie użyj go =getCurrentSheetName().


9
Jak uzyskać dostęp do tego skryptu w „nowych” Arkuszach Google (które teraz korzystają ze sklepu z dodatkami)?
Benjamin

4
To już nie działa. Użyj odpowiedzi z @ user93341. Przeszedłem przez cały proces, aby opublikować jego funkcję w sklepie z dodatkami. W ostatnim kroku chcieli oni zweryfikować moje konto za 5 USD, a ja ograniczę się do opublikowania 20 elementów. Le westchnienie.
Bruno Bronosky,

49

Przejdź do NarzędziaEdytor skryptów i dodaj ten kod:

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

W komórce, do której chcesz dodać nazwę arkusza:

=sheetName()

Wystąpił problem z dostępem do nazw arkuszy za pomocą funkcji API pokazanych poniżej - w których zwracał tylko nazwę pierwszego arkusza. Zostało to naprawione w marcu 2015 r .


Czy możesz rozwinąć swoją odpowiedź dla tych z nas, którzy nie znają narzędzia skryptowego?
codingbadger

1
@ Barry 1) Wybierz Narzędzia-> Edytor skryptów 2) W wynikowym pliku tekstowym dodaj tę funkcję na końcu 3) Kliknij Zapisz 4) Teraz możesz użyć tej funkcji w arkuszu.
gamliela

5
Chociaż ta funkcja działa dobrze, nie aktualizuje się, gdy zmienia się nazwa arkusza, więc nie jest tak naprawdę przydatna.
jesjimher

1
@jesjimher zgodnie z Forum pomocy Dokumentów Google , jeśli ktoś przejdzie do edytora skryptów i ponownie zapisze skrypt, wracając do arkusza, zobaczy, że nazwy kart zostały poprawnie zaktualizowane.
aribeiro,

1
Wiem, ale jest to mylące i całkowicie przeciwne do tego, jak działają formuły arkuszy. Oczekuję, że formuła zostanie zaktualizowana za każdym razem, gdy zmienią się dane referencyjne. Teraz ta formuła tego nie robi, chyba że otworzę i zapisz skrypt źródłowy. Mógłbym po prostu ręcznie wprowadzić nazwę arkusza za każdym razem, oszczędzając kłopotów.
jesjimher

6

Oto fragment kodu funkcji niestandardowej, aby uzyskać nazwę arkusza kalkulacyjnego według jego identyfikatora .

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

W komórce podaj identyfikator arkusza (poszukaj identyfikatora w adresie URL arkusza kalkulacyjnego).

=GetSpreadsheetNameById('49nvkwOE-203nXDLGGJtg0htFKK020dsd939AAPZU')

1
To tylko niewielka zmiana w odpowiedzi na @ user93341 powyżej.
JamesThomasMoon1979

Daje to następujący błąd: „Nie masz uprawnień do wywoływania SpreadsheetApp.openById.”
Aurovrata

Zwraca to nazwę dokumentu zamiast nazwy arkusza, zamień return ss.getName();na return ss.getActiveSheet().getName();jeśli chcesz nazwę arkusza (tak naprawdę potrzebowałem nazwy dokumentu, więc dzięki)
Emilien

-1

Spróbuj tego:

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

Wklej go w Narzędzia> Edytor skryptów i wywołaj funkcję z komórki takiej jak ta:

=getNameOfThisSheet(NOW())

NOW(), Były GoogleClock()parametr pomaga uniknąć problemów z memoization.


GOOGLECLOCK () został zastąpiony przez NOW () z drugiej strony niedeterministyczne funkcje nie mogą być użyte jako argumenty funkcji niestandardowych.
Rubén
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.