【问题标题】:Need assistance changing cell values in a google sheets script to match another cell需要帮助更改谷歌表格脚本中的单元格值以匹配另一个单元格
【发布时间】:2020-01-04 21:14:32
【问题描述】:

我是脚本的新手,并且设法从附加到其他人构建的工具的脚本中蚕食的东西中拼凑出一些功能性的东西。 我当前的问题是我正在使用多个脚本(如下所示)来更改多个单元格中的公式,但我使用 Importranges 为每个脚本引用当前工作表中的另一个选项卡。我认为这会严重影响性能。是否有一个脚本公式,我可以将单元格值(在本例中为 g15)更改为“=new assembly import!ap10”,就像您将普通单元格而不是脚本放入一样?我可能无法正确使用语法?任何帮助都会受到赞赏,因为现在我只能使用看起来效率低下的公式。

spreadsheet.getRange('g15').activate();
spreadsheet.getCurrentCell().setFormula('=IMPORTRANGE("1raHB4DC5lkdreUiMe9GOpNFQRi4qIvEhLpzF4QpRYL4","new assembly import!ap10")'); //assembly errors

【问题讨论】:

  • 您需要引用不是单个单词的工作表名称

标签: google-apps-script google-sheets google-api


【解决方案1】:

您的工作表名称应包含在单引号内。但是因为这些已经被用来设置公式,你应该使用escape characters。所以应该是这样的:

spreadsheet.getRange('g15').setFormula('=IMPORTRANGE("1raHB4DC5lkdreUiMe9GOpNFQRi4qIvEhLpzF4QpRYL4","\'new assembly import\'!ap10")');

请注意,正如其他人所说,您不需要使用activategetCurrentCell 来修改某个单元格。

另外,如果您不想使用 setFormula,而只想将一个单元格的值 (G15) 更改为另一个单元格的值(new assembly import 中的AP10),您可以执行以下操作改为以下(诚然,这更有效):

function withoutSetFormula() {
  var spreadsheet = SpreadsheetApp.getActive();
  var originSheet = spreadsheet.getSheetByName("new assembly import");
  var destSheet = spreadsheet.getSheetByName("Sheet1");
  var originValue = originSheet.getRange("AP10").getValue();
  destSheet.getRange("G15").setValue(originValue);
}

上面的示例做了以下事情:

  • 它检索源表和目标表(通过getSheetByName),分别称为new assembly importSheet1(请根据您的喜好更改最后一个)。
  • 它从原始表中检索单元格AP10 的值(通过getRangegetValue)。
  • 它从目标工作表中设置G15 的值(通过setValue)。

另外请注意,如果您指定正确的起点和终点范围,您可以将多个值“导入”到多个单元格。您不需要为每个单元格使用脚本。检查getRange(row, column, numRows, numColumns)getValuessetValues

希望对你有帮助。

【讨论】:

  • 谢谢!我会用它,看看我能想出什么。
【解决方案2】:

不需要使用activate 和getCurrentCell()。试试这个:

spreadsheet.getRange('g15').setFormula('=IMPORTRANGE("1raHB4DC5lkdreUiMe9GOpNFQRi4qIvEhLpzF4QpRYL4","'new assembly import'!ap10")'); 

注意:工作表名称周围的单引号。

【讨论】:

    猜你喜欢
    • 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
    相关资源
    最近更新 更多