首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在一组单元格中查找公式的一部分并将其替换为用户输入的脚本

在一组单元格中查找公式的一部分并将其替换为用户输入的脚本
EN

Stack Overflow用户
提问于 2020-09-24 08:51:51
回答 1查看 47关注 0票数 0

我已经整理了一个考勤谷歌工作表,它将每周出勤标签中的数据拉到一个包含所有周的主表中。到目前为止,设置了主表,以便可以通过按下按钮来添加更多周,方法是复制主表的第一周并将其附加到工作表的最后一列。

所以我需要帮助的是在新的复制周的单元格中找到公式的一部分,在这种情况下将是旧周选项卡'9/21-9/25' (完整的公式是='9/14-9/18'!$E$5)的日期,并使用提示替换为用户输入的新周,例如'9/28-10/2'

这是我到目前为止想出的代码。

代码语言:javascript
复制
function newWeek() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var lastCol = sheet.getLastColumn();
  var rowCol = sheet.getLastRow();
  var maxCols = sheet.getMaxColumns();

  // Number of columns to duplicate//
  var numCols = 15
  //Selects the previous week//
  var range = sheet.getRange(1, lastCol - 14, rowCol, 15);
  //Inserts columns for next week//
  sheet.insertColumnsAfter(lastCol, numCols);
  //Copies previous weeks properties into new columns//
  range.copyTo(sheet.getRange(1, lastCol + 1, rowCol, 15));
}

如果你想出一个更简单的解决方案来解决我正在尝试做的事情,请告诉我。只需按下按钮并输入新的日期,就可以从新的week选项卡中创建和提取所有内容。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-24 14:55:45

TextFinder可用于在使用matchFormulaText()方法的公式中进行搜索和替换:

代码片段:

代码语言:javascript
复制
range.createTextFinder('9/21-9/25')
  .matchFormulaText(true)
  .replaceAllWith('9/28-10/2')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64038100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档