当前位置: 首页 > 知识库问答 >
问题:

是否有一个Google Sheets公式将工作表的名称放入单元格中?

寇照
2023-03-14

下面的插图应该会有所帮助:

共有3个答案

扈瑞
2023-03-14

如果从另一张图纸引用该图纸,则可以使用单元格函数获取图纸名称。然后可以使用正则表达式提取工作表名称。

=REGEXREPLACE(CELL("address",'SHEET NAME'!A1),"'?([^']+)'?!.*","$1")

更新:公式将随着将来的更改自动更新“工作表名称”,但在最初输入公式时,您需要引用该工作表上的单元格(如A1)。

郭业
2023-03-14

你有两个选择,我不确定我是否是其中任何一个的粉丝,但这是我的观点。你可能会有不同的感觉:

选项1:强制函数运行。

单元格中的函数除非引用已更改的单元格,否则不会运行。更改工作表名称不会触发电子表格中的任何函数。但是我们可以通过向函数传递一个范围来强制函数运行,每当该范围中的项发生变化时,函数就会触发。

您可以使用下面的脚本来创建一个自定义函数,该函数将检索名称:

function mySheetName() {
  var key = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
  return key;
}

在牢房中放置以下内容:

=mySheetName(A1:Z)

现在,如果传递范围内的单元格中的任何值发生更改,脚本将运行。这需要一秒钟来运行脚本,并在每次更改任何值时在单元格中设置一条消息,因此这可能会很快变得令人讨厌。如前所述,它还需要更改范围才能触发,因此对相当静态的文件没有太大帮助。

选项2:使用OnChange事件

虽然运行时感觉比上面的选项好,而且这并不取决于电子表格单元格中的值的变化,但我不喜欢这样,因为它会强制名称的位置。如果愿意,您可以使用实用程序工作表在各种工作表中定义此位置。下面是基本的想法,如果你喜欢这个选项,可以让你开始。

更改工作表名称时触发OnChange事件。您可以使下面的代码更加复杂,以检查错误,检查工作表ID以仅在给定工作表上工作,等等。然而,基本代码是:

function setSheetName(e) {
  var key = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
  SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange('K1').setValue(key);
}

保存代码后,在脚本编辑器中将当前项目的On Change触发器设置为该函数。在任何更改事件中,它都会将图纸名称写入单元格K1。要设置触发器,请在“编辑”菜单下选择当前项目的触发器。

叶允晨
2023-03-14

以下是我为谷歌工作表找到的内容:

要在Google sheets中获取当前工作表名称,以下简单脚本可以帮助您无需手动输入名称,请执行以下操作:

>

  • 单击工具

    在打开的项目窗口中,将下面的脚本代码复制并粘贴到空白代码窗口中,查看屏幕截图:

    ........................

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

    然后保存代码窗口,并返回到要获取其名称的工作表,然后在单元格中输入以下公式:=sheetName(),然后按Enter键,工作表名称将立即显示。

    查看此链接并添加屏幕截图:https://www.extendoffice.com/documents/excel/5222-google-sheets-get-list-of-sheets.html

  •  类似资料:
    • 当在列中单击文本“发送调查”时,我正在尝试从工作表“”上的活动行复制单元格b中的值,并将其粘贴到单元格中。A2在我的另一个工作簿“”上的“”表。 由于某种原因,我没有收到任何错误,但是没有任何内容被粘贴到我的其他工作簿的单元格A2中。 有人能告诉我哪里出了问题吗。提前感谢

    • 我有2张纸A和B。如果B张纸中完全相同的单元格不是空的,我想让A张纸给单元格着色。例如,如果页B中的单元格具有字符串,则页A中的单元格将被着色。 假设我想做这个来比较一个大范围,我应该怎么做呢? 示例:https://docs.google.com/spreadsheets/d/1P3Ob_mclpXWmILfKwD4R6JN2wAYPUcNZlmtF9LxilV0/edit?usp=sharin

    • 我有多个谷歌表单,有几个栏目每天更新。所有工作表都合并到一个摘要页面,当在这些工作表中输入新数据时,该页面将更新。 如何在汇总表的每列中找到最后一个非空单元格(不包括包含返回空白公式的单元格)?例如,A列保存日期,它只是查看团队负责人是否在其工作表中输入了数据。如果是,则输入她的工作表中的日期。公式是: 当我想返回列中的最后一个日期时,我尝试使用以下公式: 它返回一个空白,因为有空单元格,其中的公

    • 我的脚本非常有效,但仅适用于活动工作表。如何更改它,使其搜索整个工作簿,并检查每个工作表中相同的单元格位置(例如:“AC2”)的值为1或2,并选择是否隐藏或显示该工作表,然后检查其他工作表并执行相同的操作? 我已经试了好几天试图找到一个例子,但我找到的唯一例子是一个独特的电子表格中的一个单元格,该单元格控制所有其他单元格的操作,我没有太多使用谷歌脚本的经验,无法让它同时检查每个电子表格。到完成时,

    • 我写了一个google脚本来创建和粘贴从一个单元格到另一个单元格的值(相同的电子表格)。该守则包括以下两个步骤: > (不工作):将相邻单元格的新值粘贴到第二张工作表中下一个空行(第1列)的单元格中。 下面的代码是我迄今为止尝试过的代码,但第二页上没有显示该值。有人知道我在下面的尝试中的问题在哪里吗? 谢谢你