Tampilkan nama sheet di Google Spreadsheets


Jawaban:


11

Seseorang telah menulis skrip untuk melakukan ini. Ini tersedia dalam Alat > Script galeri ... . Cari "nama lembar" dan instal skrip, lalu gunakan dengan =getCurrentSheetName().


9
Bagaimana cara mengakses skrip ini di Google Sheets "baru" (yang sekarang menggunakan toko tambahan)?
Benjamin

4
Ini tidak lagi berfungsi. Gunakan jawaban dari @ user93341. Saya melalui seluruh proses untuk mempublikasikan fungsinya ke Add-On Store dan pada langkah terakhir mereka ingin $ 5 untuk memverifikasi akun saya dan saya akan dibatasi untuk menerbitkan 20 item. Le menghela nafas.
Bruno Bronosky

49

Buka AlatEditor Skrip dan tambahkan kode ini:

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

Dalam sel tempat Anda ingin menambahkan nama sheet:

=sheetName()

Ada masalah dengan mengakses nama sheet melalui fungsi API yang ditunjukkan di bawah ini - di mana ia hanya mengembalikan nama sheet pertama. Ini diperbaiki pada Maret 2015 .


Bisakah Anda memperluas jawaban Anda untuk kami yang tidak terbiasa dengan alat skrip?
codingbadger

1
@Barry 1) Pilih Alat-> Editor Skrip 2) Dalam file teks yang dihasilkan, tambahkan fungsi ini di akhir 3) Klik simpan 4) Sekarang Anda dapat menggunakan fungsi ini di sheet Anda.
gamliela

5
Meskipun fungsi ini berfungsi dengan baik, itu tidak diperbarui ketika nama sheet berubah, jadi itu sebenarnya tidak berguna.
jesjimher

1
@jesjimher menurut Forum Bantuan Google Documents ini , jika seseorang pergi ke editor skrip dan menyimpan kembali skrip, kembali ke lembar yang melihat bahwa nama tab telah diperbarui dengan benar.
aribeiro

1
Saya tahu, tapi ini membingungkan dan sangat berlawanan dengan cara kerja lembar rumus. Saya mengharapkan formula untuk diperbarui setiap kali data yang direferensikan berubah. Sekarang rumus ini tidak melakukan itu kecuali saya membuka dan menyimpan skrip sumber. Saya bisa memasukkan nama lembar dengan tangan setiap waktu, menghemat kerumitan.
jesjimher

6

Berikut ini cuplikan kode Fungsi Kustom untuk mendapatkan nama spreadsheet dengan Pengenalnya .

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

Di dalam sel, berikan Pengidentifikasi lembar (lihat URL spreadsheet untuk pengidentifikasi).

=GetSpreadsheetNameById('49nvkwOE-203nXDLGGJtg0htFKK020dsd939AAPZU')

1
Ini hanya sedikit perubahan ke @ user93341 jawaban di atas.
JamesThomasMoon1979

Ini memberikan kesalahan berikut: "Anda tidak memiliki izin untuk memanggil SpreadsheetApp.openById."
Aurovrata

Ini mengembalikan nama dokumen alih-alih nama lembar, ganti return ss.getName();dengan return ss.getActiveSheet().getName();jika Anda ingin nama lembar (saya benar-benar membutuhkan nama dokumen, jadi terima kasih)
Emilien

-1

Coba ini:

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

Rekatkan di Alat> Editor skrip dan panggil fungsi dari sel seperti ini:

=getNameOfThisSheet(NOW())

The NOW(), mantan GoogleClock(), parameter membantu masalah menghindari dengan memoization.


GOOGLECLOCK () digantikan oleh NOW () oleh fungsi non-deterministik lainnya tidak dapat digunakan sebagai argumen fungsi kustom.
Rubén
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.