【问题标题】:In Google Sheets, I want a sheet's name to be updated based value of a cell (which changes regularly based on a formula)在 Google 表格中,我希望根据单元格的值更新工作表的名称(根据公式定期更改)
【发布时间】:2022-10-17 09:46:11
【问题描述】:

在 Google 电子表格中,我希望更新工作表的名称,并且无论单元格中的值是什么。单元格的值根据公式而变化。可能吗?

【问题讨论】:

  • 可以使用 onEdt(e) 自动更改,但是我们需要知道公式的参数。可以分享一下这个公式吗?
  • D4中的公式是“=平均值(C7 + C14)” - p.s。 c7 & c14 基于另一个公式。
  • 了解数据的更深层来源很重要,因为 onEdit 只会在手动编辑时触发。那么能否给出C7、C14等的计算出处?但是,我会准备一个答案。
  • 如果您可以在简化的电子表格中举例说明手动修改的单元格在哪里,那么回答起来可能会更容易。

标签: google-sheets


【解决方案1】:

尝试

function onEdit(event){
  var sh = event.source.getActiveSheet();
  var cel = event.source.getActiveRange();
  if (cel.getA1Notation()=='X1' || cel.getA1Notation()=='Y1'){
    sh.setName(sh.getRange('Z1').getValue())
  }
}

在哪里

  • X1, Y1 ... 是数据的更深层来源,手动更新
  • Z1 包含工作表预期名称的单元格

如果您要重命名的工作表不是活动工作表,则必须通过其 ID 来识别它,您首先要测试event.source.getActiveSheet(),然后确定要重命名的工作表,例如:

  var shId = 1353792204
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sh = ss.getSheets().filter(function(s) {return s.getSheetId() === shId;})[0];

【讨论】:

  • 我在这里没有领域知识,所以出于好奇我问:这是否使用Google Apps Script?如果是这样,您可能想在答案中指出这一点。提问者没有使用google-apps-script 标签,所以他们可能不知道它是什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-06
  • 1970-01-01
  • 2017-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多