首页 > 解决方案 > 在顶部插入行时复制公式的脚本 - Google 表格

问题描述

我有一个通话记录,其中包含多个下拉列表和公式,可以让使用它的人更轻松地输入数据。问题是,当我插入一行(在标题下的第 2 行)时,数据验证仍然存在,但公式不会复制。我已经尝试了几个脚本,但它们似乎都不起作用。我有大约 10 列,其中包含公式。

标签: google-sheets

解决方案


在阅读了您的问题并研究了您的示例后,我假设以下内容:

  • 您想在标题之后添加一个新行。
  • 您希望将公式和数据验证规则保留在旧行中。
  • 您希望将旧行的公式复制到新行中。

如果我的假设是正确的,您可以使用以下示例来满足您的要求:

代码

function addRowAtTop() {
  var sheet = SpreadsheetApp.openById(
    '{SPREADSHEET ID}').getSheetByName(
    'PNC Calls');

  sheet.insertRowAfter(1);

  for (var i = 1; i <= 34; i++) {
    var cellFormula = sheet.getRange(3, i).getFormula();
    if (cellFormula != '') {
      sheet.getRange(2, i).setFormula(cellFormula);
    }
  }
}

行为

前面的代码将在顶部添加一行,然后检查旧的第一行的每个单元格。如果遇到公式,它会将其复制到新的第一行。

典故

请将此作为您问题的可能解决方案之一,如有任何其他疑问或要求进一步澄清,请随时给我回信。


推荐阅读