Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 将数组数据的setValues()拆分为两组列(例如B-H和AV-AX)-谷歌电子表格_Arrays_Google Apps Script_Google Sheets - Fatal编程技术网

Arrays 将数组数据的setValues()拆分为两组列(例如B-H和AV-AX)-谷歌电子表格

Arrays 将数组数据的setValues()拆分为两组列(例如B-H和AV-AX)-谷歌电子表格,arrays,google-apps-script,google-sheets,Arrays,Google Apps Script,Google Sheets,我有一个for循环,它构建一个大小为n行x 10列的数据数组 var dupRows = crossoverDuplicates.getDataRange(); var dupNumRows = dupRows.getNumRows(); var dupValues = dupRows.getValues(); var retreiveNotFound = []; for (var c = 1; c < dupNumRows; c++) { var dupRow =

我有一个for循环,它构建一个大小为n行x 10列的数据数组

var dupRows = crossoverDuplicates.getDataRange();        
var dupNumRows = dupRows.getNumRows();
var dupValues = dupRows.getValues();
var retreiveNotFound = [];

for (var c = 1; c < dupNumRows; c++) { 
  var dupRow = dupValues[c];
  if (dupRow[10] == "") {                                
    retreiveNotFound.push(dupValues[c]);
  }
}
但是,目标表上的列现在已经移动,我需要在B-H中粘贴数组的前7列,在AV-AX中粘贴最后3列

或者,我可以创建两个数组,一个包含前7列,另一个包含后3列,然后分别粘贴

不幸的是,我也不知道该怎么做


我猜这有一个相对简单的解决方案,但我只是没有寻找正确的关键词。提前感谢您的帮助

将Google电子表格列移动到两个单独的位置。将Google电子表格列拆分,并将它们放入不同的列或两个不同的列中。这段代码从一个位置获取数据,然后创建两个单独的数组,并将数据写入两个不连续的范围

function myFunction() {

  var dupRows = crossoverDuplicates.getDataRange();        
  var dupNumRows = dupRows.getNumRows();
  var dupValues = dupRows.getValues();

  var B_H_Array = [];
  var AV_AX_Array = [];

  var AV_AX_TempArray, B_X_TempArray, c, dupRow, thisRowsData;//Define variables
    //without assigning a value

  for (c = 1; c < dupNumRows; c++) { 
    dupRow = dupValues[c];

    if (dupRow[10] == "") {
      thisRowsData = dupValues[c];

      B_X_TempArray = thisRowsData.slice(0,7);//Slice out the first elements
      AV_AX_TempArray = thisRowsData.slice(7,10);//Slice out last elements

      B_H_Array.push(B_X_TempArray);
      AV_AX_Array.push(AV_AX_TempArray);
    }
  }

  if (B_H_Array.length) {
    crossover.getRange(lastRowCrossoverData + 1, 2,B_H_Array.length, B_H_Array[0].length )
      .setValues(B_H_Array);
  }

  if (AV_AX_Array.length) {
    crossover
      .getRange(lastRowCrossoverData + 1, 48,AV_AX_Array.length, AV_AX_Array[0].length )
      .setValues(AV_AX_Array);
  }
}
函数myFunction(){
var dupRows=crossoverdeplicates.getDataRange();
var dupNumRows=dupRows.getNumRows();
var dupValues=dupRows.getValues();
var B_H_数组=[];
var AV_AX_数组=[];
var AV_AX_TempArray,B_X_TempArray,c,dupRow,thisRowsData;//定义变量
//不赋值
对于(c=1;c
我的答案有用吗?是的。非常感谢。我对你的代码做了一些小的修改,效果非常好。出于某种原因,我对编辑的评论没有显示出来,我显然没有足够高的声誉来投票支持你的答案,但我真的很感激!
function myFunction() {

  var dupRows = crossoverDuplicates.getDataRange();        
  var dupNumRows = dupRows.getNumRows();
  var dupValues = dupRows.getValues();

  var B_H_Array = [];
  var AV_AX_Array = [];

  var AV_AX_TempArray, B_X_TempArray, c, dupRow, thisRowsData;//Define variables
    //without assigning a value

  for (c = 1; c < dupNumRows; c++) { 
    dupRow = dupValues[c];

    if (dupRow[10] == "") {
      thisRowsData = dupValues[c];

      B_X_TempArray = thisRowsData.slice(0,7);//Slice out the first elements
      AV_AX_TempArray = thisRowsData.slice(7,10);//Slice out last elements

      B_H_Array.push(B_X_TempArray);
      AV_AX_Array.push(AV_AX_TempArray);
    }
  }

  if (B_H_Array.length) {
    crossover.getRange(lastRowCrossoverData + 1, 2,B_H_Array.length, B_H_Array[0].length )
      .setValues(B_H_Array);
  }

  if (AV_AX_Array.length) {
    crossover
      .getRange(lastRowCrossoverData + 1, 48,AV_AX_Array.length, AV_AX_Array[0].length )
      .setValues(AV_AX_Array);
  }
}