Google apps script 根据经过的时间自动将值仅粘贴到另一列

Google apps script 根据经过的时间自动将值仅粘贴到另一列,google-apps-script,Google Apps Script,我目前正在建立一个Google文档,使用ImportXML跟踪实时web数据,并希望在特定时间间隔后将这些数据复制到其他列。我正在跟踪输入的日期信息,然后每隔15天自动将此信息复制到多个帐户的另一列。这是我到目前为止在第1行工作的代码,但现在我已经为一个单元格工作了,我想单独为整个列执行此操作: function moveValuesOnly() { var sheet = SpreadsheetApp.getActiveSpreadsheet() var currentValue = shee

我目前正在建立一个Google文档,使用ImportXML跟踪实时web数据,并希望在特定时间间隔后将这些数据复制到其他列。我正在跟踪输入的日期信息,然后每隔15天自动将此信息复制到多个帐户的另一列。这是我到目前为止在第1行工作的代码,但现在我已经为一个单元格工作了,我想单独为整个列执行此操作:

function moveValuesOnly() {
var sheet = SpreadsheetApp.getActiveSpreadsheet()
var currentValue = sheet.getRange("B4").getValue();
if (currentValue == (15)) {


var ss = SpreadsheetApp.getActiveSpreadsheet();
var source = ss.getRange("H4");
var copyRange = ss.getRange("H4");
var l = ss.getDataRange().getValues().length;
var pasteRange = ss.getRange("R4");
pasteRange.setValues(copyRange.getValues());
}}

var sheet = SpreadsheetApp.getActiveSpreadsheet()
var currentValue = sheet.getRange("B5").getValue();
if (currentValue == (30)) {


var ss = SpreadsheetApp.getActiveSpreadsheet();
var source = ss.getRange("H4");
var copyRange = ss.getRange("H4");
var l = ss.getDataRange().getValues().length;
var pasteRange = ss.getRange("T5");
pasteRange.setValues(copyRange.getValues());
}
有没有办法让它逐行评估,而不是一次评估?我猜我不应该使用range,但我不知道如何使用它。任何帮助都将不胜感激!!如果我能澄清什么,请告诉我


谢谢大家!

您如何调用此脚本?作为电子表格中的公式或脚本编辑器中的公式? 如果将其用作公式,则可以直接读取范围。 如果从脚本编辑器调用它,则可以对脚本进行小的更改,使其在大于单元格的范围内工作。请参见下面的代码

function moveValuesOnly() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var range= sheet.getRange("B4:R20");
var currentValue = range.getValues(); // Change 20 to whatever you want
var COL_B = 0;  // relative to col B 
var COL_H = 6;
var COL_R = 16; 

for(var i = 0 ; i < currentValue.length ; i++){
if (currentValue[i][0] == (15)) {

// Copy value in H4, H5 etc to R4, R5 etc. 
currentValue[i][COL_R] = currentValue[i][COL_H];
}
range.setValues(currentValue);
}
函数moveValuesOnly(){
var sheet=SpreadsheetApp.getActiveSpreadsheet();
var范围=sheet.getRange(“B4:R20”);
var currentValue=range.getValues();//将20更改为您想要的任何值
var COL_B=0;//相对于COL B
var COL_H=6;
var COL_R=16;
对于(var i=0;i

我还没有测试过它,但是如果您发现任何小错误,请随时修复:)

非常感谢@Srik!这对数据的正确移动是一个巨大的帮助,但是它确实在我设置文档的方式中引起了一个问题,如果您有任何见解,我在这里提到:非常感谢您花时间回答我,我非常感谢!