将值设置为多个列

时间:2015-10-30 10:23:28

标签: javascript sorting google-apps-script

我想从我从sheet1获得的值设置一个值并将其传递给sheet2,这是我的代码

var ss = SpreadsheetApp.getActiveSpreadsheet();
var ss1 = ss.getSheetByName('sheet1');
var ss2 = ss.getSheetByName('sheet2');
nextrow = ToSheet.getLastRow();
nextcolum = ToSheet.getLastColumn();

function myfuction() {
  var data1 = ss1.getRange(1,1).getValue()
  var data2 = ss1.getRange(2,1).getValue()
  var data3 = ss1.getRange(3,1).getValue()

  var data4 = ss1.getRange(4,1).getValue()
  var data5 = ss1.getRange(5,1).getValue()
  var data6 = ss1.getRange(6,1).getValue()

  var myarray1 = [[data1] , [data2], [data3]];
  var myarray2 = [[data4] , [data5], [data6]];
  var myarray3 = [data....data];
  var myarray4 = [data...data];
  var i = 0;
  while(i < 3) {
    if (myarray1[i].length != 0) { //Check if the one of value of array have a value
      ss2.getRange(row, column, numRows, numColumns).setValues(myarray1)
      //assume that the value of getrange(nextrow+1, 1, 1, 3)
    } 
    if(myarray2[i].toString().length != 0 ) { //Check if the one of value of array have a value
      ss2.getRange(row, column, numRows, numColumns).setValues(myarray2)
      //assume that the value of getrange is nextrow+1, 1, 1, 3
    }
    if() {//a two if for myarray3 and myarray4 also
    }
    i++;
  }
}

在while循环中我使用if来知道数组中的一个值(myarray1,myarray2)是否有值,如果结果是!= 0(有一个值),那么ss2.getRange将执行如果不是什么都不会发生,

(我更新/编辑帖子)

1 个答案:

答案 0 :(得分:0)

data1,data2和data3是单个值还是数组?

如果它们是单个值,我假设给定的范围高度为1,则需要setValues([[data1, data2, data3]]);

现在,您使用getRange(nextRow+1,mycolumn,3,1);(即列向量)时可以写入数据。

Google Spreadsheets设置并获取值作为rowvectors数组,即数组的每个元素都是一行,并且值的元素将成为该行中的列值。