【问题标题】:Copy formula down using script使用脚本向下复制公式
【发布时间】:2015-05-04 19:56:05
【问题描述】:

我一直在编写一个脚本(在 SO 的一些人的帮助下)。我设法创建了一个脚本,该脚本可以导入 csv 文件并根据导入的数据更新命名范围。

这是我正在尝试做的图片:

此时我已导入已填充到 A:G 列中的数据。 H:L 列中的单元格是公式,并且基于 A:G 中的数据。因为我已经导入了数据,所以数据现在比公式范围长。如果不依赖脚本,我只需双击突出显示的单元格右下角的蓝色小方块,公式就会复制下来。这就是我希望在导入数据后让脚本执行的操作。

我创建了一个名为“formula_range”的范围,它会根据数据的长度自动更新。 “formula_range”从单元格 H3 开始,以 L:N 结束,其中 N 是工作表中的行数。

“formula_range”因此包含一些带有公式的填充单元格,然后是一直到工作表底部的空白行。

我看到了this SO 帖子。所以用英文,我的思路是:

  1. 创建一个变量 formula_range H3:L3 作为范围
  2. 将 formula_range 粘贴到 formula_range 中的每一行
  3. 瞧?

如果 formula_range 中的第一行总是有要复制的公式,我如何获得变量 formula_range。换句话说,它应该固定在 H3:L3。

我试过了:

var copy_range = ss.getRangeByName("formula_range").getRange(1,5,1);
SpreadsheetApp.getUi().alert(copy_range);

我的警报说“未定义”(我真的不确定它会显示什么。)

我的思路不是最有效的,因为我要复制现有的公式。也许有更好的方法?

如何获取命名范围formula_range[0]; 中的第一行?

如何使用脚本将公式复制到 formula_range 中?

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    我认为使用内置数组公式可以更有效地实现您想要完成的任务:

    https://support.google.com/docs/answer/3093275

    放置在H3:

    =数组公式(日期(A3:A,B3:B,1))

    对于第 3 行中 H 到 L 中的每个公式,将它们用数组公式包围,并使用从第 3 行开始的开放式范围扩展参数,如上例所示

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多