Tên bảng hiển thị trong Bảng tính Google


Câu trả lời:


11

Ai đó đã viết một kịch bản để làm điều này. Nó có sẵn trong Công cụ > Thư viện tập lệnh ... . Tìm kiếm "tên trang tính" và cài đặt tập lệnh, sau đó sử dụng nó với =getCurrentSheetName().


9
Làm cách nào để truy cập tập lệnh này trong Google Sheets "mới" (hiện sử dụng cửa hàng bổ trợ)?
Benjamin

4
Điều này không còn hoạt động. Sử dụng câu trả lời từ @ user93341. Tôi đã trải qua toàn bộ quá trình để xuất bản chức năng của mình lên Cửa hàng Bổ trợ và trong bước cuối cùng họ muốn có 5 đô la để xác minh tài khoản của tôi và tôi sẽ bị giới hạn xuất bản 20 mục. Thở dài.
Bruno Bronosky

49

Chuyển đến Công cụScript Editor và thêm mã này:

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

Trong một ô nơi bạn muốn tên trang tính thêm:

=sheetName()

Có một vấn đề với việc truy cập tên trang tính thông qua các hàm API được hiển thị bên dưới, nơi nó chỉ trả về tên trang tính đầu tiên. Điều này đã được cố định vào tháng 3 năm 2015 .


Bạn có thể mở rộng dựa trên câu trả lời của bạn cho những người trong chúng ta không quen thuộc với công cụ tập lệnh không?
codbadger

1
@Barry 1) Chọn Công cụ-> Trình chỉnh sửa tập lệnh 2) Trong tệp văn bản kết quả, thêm chức năng này vào cuối 3) Nhấp vào lưu 4) Bây giờ bạn có thể sử dụng chức năng này trong trang tính của mình.
gamliela

5
Mặc dù chức năng này hoạt động tốt, nhưng nó không cập nhật khi tên trang tính thay đổi, vì vậy nó không thực sự hữu ích.
jesjimher

1
@jesjimher theo Diễn đàn trợ giúp Google Docs này , nếu một người vào trình chỉnh sửa tập lệnh và lưu lại tập lệnh, quay lại trang tính sẽ thấy rằng các tên tab đã được cập nhật đúng.
aribeiro

1
Tôi biết, nhưng nó khó hiểu và hoàn toàn trái ngược với cách các công thức trang tính hoạt động. Tôi hy vọng một công thức để cập nhật bất cứ khi nào dữ liệu tham chiếu của nó thay đổi. Bây giờ công thức này không làm điều đó trừ khi tôi mở và lưu tập lệnh nguồn. Tôi chỉ có thể nhập tên tờ bằng tay mỗi lần, tiết kiệm rắc rối.
jesjimher

6

Dưới đây là đoạn mã Chức năng tùy chỉnh để lấy tên bảng tính bằng Mã định danh .

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

Trong một ô, hãy chuyển một Mã định danh trang tính (tìm trong URL bảng tính để nhận dạng).

=GetSpreadsheetNameById('49nvkwOE-203nXDLGGJtg0htFKK020dsd939AAPZU')

1
Đây chỉ là một thay đổi nhỏ đối với câu trả lời @ user93341 ở trên.
JamesThomasMoon1979

Điều này đưa ra lỗi sau: "Bạn không có quyền gọi SpreadsheetApp.openById."
Aurovrata

Điều này trả về tên của tài liệu thay vì tên của trang tính, thay thế return ss.getName();bằng return ss.getActiveSheet().getName();nếu bạn muốn tên của trang tính (tôi thực sự cần tên của tài liệu, cảm ơn)
Emilien

-1

Thử đi:

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

Dán nó vào Công cụ> Trình soạn thảo tập lệnh và gọi hàm từ một ô như thế này:

=getNameOfThisSheet(NOW())

Các NOW(), cựu GoogleClock(), tham số giúp vấn đề tránh với memoization.


GOOGLECLOCK () đã được thay thế bằng NOW () bởi các hàm không xác định khác không thể được sử dụng làm đối số của các chức năng tùy chỉnh.
Rubén
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.