gpt4 book ai didi

javascript - 谷歌脚本: To copy the value calculated by formula from one sheet to another based on TRIGGER (on edit or time driven)

转载 作者:行者123 更新时间:2023-12-03 02:48:25 26 4
gpt4 key购买 nike

所以我有一个谷歌电子表格。里面大约有15张。我想将所有这 15 个工作表中的单元格值复制到另一个工作簿。

我尝试使用 importrange 函数。我试图复制的值是动态的,基于计算它的公式。

所以我尝试使用函数导出

function copy(){

var sss = SpreadsheetApp.openById('14wsBaW2HWqtdPZBDycsRVQCgOJuaNIYDKDJOjTDwWO8'); //replace with source ID
var ss = sss.getSheetByName('Round 1'); //replace with source Sheet tab name

var range = ss.getRange('G14'); //assign the range you want to copy
var data = range.getValues();

var tss = SpreadsheetApp.openById('1SWOZ_Xq-1E3LHfE1FwTt4O9bs-FIAk3I5Wjz9VKFh6A'); //replace with destination ID
var ts = tss.getSheetByName('Net Worth'); //replace with destination Sheet tab name
ts.getRange(2, 2, data.length, data[0].length).setValues(data);


var sss = SpreadsheetApp.openById('14wsBaW2HWqtdPZBDycsRVQCgOJuaNIYDKDJOjTDwWO8'); //replace with source ID
var ss = sss.getSheetByName('Round 2'); //replace with source Sheet tab name

var range = ss.getRange('G14'); //assign the range you want to copy
var data = range.getValues();

var tss = SpreadsheetApp.openById('1SWOZ_Xq-1E3LHfE1FwTt4O9bs-FIAk3I5Wjz9VKFh6A'); //replace with destination ID
var ts = tss.getSheetByName('Net Worth'); //replace with destination Sheet tab name
ts.getRange(3, 2, data.length, data[0].length).setValues(data);

}

现在正如您所看到的,因为我必须从工作簿的大约 15 张中复制值,所以我必须通过更改 Round i(其中 i=1-15)和行号来编写复制粘贴功能的多行它发布在哪里。

我想要实现的是减少代码的大小并基于时间触发或打开或编辑触发。但是,我被困住了,找不到太多

最佳答案

您可以获取书中的所有工作表并循环遍历每个工作表以复制 'G14' 单元格中的值。将它们保存在二维数组中。请引用下面的代码。

 ////copying values from each sheet
var copyBook = SpreadsheetApp.getActiveSpreadsheet();
var copySheets = copyBook.getSheets();
var selectedValues = [];
for(var sheet in copySheets)
{
//Logger.log(copySheets[sheet].getName());
var value = copySheets[sheet].getRange('G14').getValue();
selectedValues.push([value]);
}
//Logger.log(selectedValues);

现在您的值已复制到数组中,现在您想要将其粘贴到目标工作表中。

////pasting copied values
var pasteBook = SpreadsheetApp.openById('destination book id');
var pasteSheet = pasteBook.getSheetByName('destination sheet name');
pasteSheet.getRange(2, 2, selectedValues.length, 1).setValues(selectedValues);

如果你想设置触发器,请引用这个答案:https://stackoverflow.com/a/34684370/1134291

将上面的代码替换为//您要完成的工作部分

关于javascript - 谷歌脚本: To copy the value calculated by formula from one sheet to another based on TRIGGER (on edit or time driven),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48000265/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com