Có cách nào để hiển thị tên trang tính là kết quả của một chức năng trong Bảng tính Google (chính xác như câu hỏi này , ngoại trừ trong Google Sheets) không?
Có cách nào để hiển thị tên trang tính là kết quả của một chức năng trong Bảng tính Google (chính xác như câu hỏi này , ngoại trừ trong Google Sheets) không?
Câu trả lời:
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()
.
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 .
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')
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)
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.