是否可以通过Google Spreadsheets中的函数来显示工作表名称(完全类似于此问题,但Google Sheets中除外)?

评论

请在stackoverflow上查看我对这个问题的回答:stackoverflow.com/a/53409439/279326

#1 楼

有人编写了脚本来执行此操作。它可在“工具”>“脚本库”中找到。...搜索“工作表名称”并安装脚本,然后将其与=getCurrentSheetName()一起使用。

评论


如何在“新” Google表格(现在使用附加商店)中访问此脚本?

–本杰明
2014年3月29日在6:13

这不再起作用。使用@ user93341中的答案。我经历了将其功能发布到附加商店的整个过程,在最后一步中,他们要5美元才能验证我的帐户,而我只能发布20个项目。叹。

–布鲁诺·布鲁诺斯基(Bruno Bronosky)
15年8月19日在18:24

#2 楼

转到“工具”→“脚本编辑器”并添加以下代码:

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


在要添加工作表名称的单元格中:

=sheetName()


通过下面显示的API函数访问工作表名称时出现问题-它仅返回第一个工作表名称。该问题已在2015年3月修复。

评论


对于我们中不熟悉脚本工具的人,您能否扩大答案?

–codingbadger
2015年4月1日在7:09

@Barry 1)选择工具->脚本编辑器2)在生成的文本文件中,在末尾添加此功能3)单击保存4)现在您可以在工作表中使用此功能。

–gamliela
15年5月13日在12:43



虽然此功能可以正常工作,但是当工作表名称更改时它不会更新,因此实际上没有用。

–jesjimher
16年5月4日在7:47

根据这个Google文档帮助论坛的@jesjimher,如果转到脚本编辑器并重新保存脚本,则返回工作表,可以看到选项卡名称已正确更新。

–aribeiro
18年7月2日在14:17



我知道,但这是混乱的,与工作表公式的工作原理完全相反。我希望公式在引用的数据发生更改时都会更新。现在,除非打开并保存源脚本,否则此公式不会执行此操作。每次我都可以手动输入工作表名称,省去了麻烦。

–jesjimher
18年7月5日在6:25

#3 楼

这是一个自定义功能代码段,用于通过其标识符获取电子表格名称。

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


在单元格中,传递工作表标识符(在电子表格URL中查找该标识符) )。

=GetSpreadsheetNameById('49nvkwOE-203nXDLGGJtg0htFKK020dsd939AAPZU')


评论


这只是对@ user93341答案的轻微更改。

–JamesThomasMoon1979
2015年2月20日在22:34

这将产生以下错误:“您没有调用SpreadsheetApp.openById的权限。”

–Aurovrata
19年6月9日在12:13

这将返回文档名称而不是工作表名称,替换为return ss.getName();。通过返回ss.getActiveSheet()。getName();如果您想要工作表的名称(我实际上需要文档的名称,所以谢谢)

–艾米莲
19年8月31日在9:37

#4 楼

尝试以下操作:

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


将其粘贴在“工具”>“脚本编辑器”中,并从像这样的单元格中调用该函数:

=getNameOfThisSheet(NOW())


NOW()(以前的GoogleClock())参数有助于避免记忆问题。

评论


GOOGLECLOCK()被NOW()所取代,另一方面,非确定性函数不能用作自定义函数的参数。

–鲁本♦
16年8月30日在14:54