Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.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
Javascript 如何使用IF条件更改for循环中的列值_Javascript_Google Apps Script_Google Sheets - Fatal编程技术网

Javascript 如何使用IF条件更改for循环中的列值

Javascript 如何使用IF条件更改for循环中的列值,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我是谷歌应用程序脚本的新手。我有一个数组,我需要将第7列(gci)中的值更改为第6列(referealCMM)中的值,如果第5列(reference)中的值=ABC。以下是脚本: function netincome() { var report = SpreadsheetApp.getActiveSpreadsheet(); var data = report.getSheetByName("Test"); var dataRange = data.getDat

我是谷歌应用程序脚本的新手。我有一个数组,我需要将第7列(gci)中的值更改为第6列(referealCMM)中的值,如果第5列(reference)中的值=ABC。以下是脚本:

function netincome() {
  var report = SpreadsheetApp.getActiveSpreadsheet();
  var data = report.getSheetByName("Test");
  var dataRange = data.getDataRange();
  var lastrow = dataRange.getLastRow();
  
  var gci = data.getRange(1, 7, lastrow, 1).getValues ();
  var referral = data.getRange(1, 5, lastrow, 1).getValues();
  var referralcomm = data.getRange(1, 6, lastrow, 1).getValues();
  for (var i = 0; i<=lastrow; i ++) {
     if (referral == "ABC") { 
       gci.setValue(referralcomm);
     }
  }
}
函数netincome(){
var report=SpreadsheetApp.getActiveSpreadsheet();
var数据=report.getSheetByName(“测试”);
var dataRange=data.getDataRange();
var lastrow=dataRange.getLastRow();
var gci=data.getRange(1,7,lastrow,1).getValues();
var reference=data.getRange(1,5,lastrow,1).getValues();
var referralcomm=data.getRange(1,6,lastrow,1).getValues();
对于(var i=0;i尝试以下方法:

function netincome() {
  var report = SpreadsheetApp.getActive();
  var data = report.getSheetByName("Test");
  var dataRange = data.getDataRange();
  var lastrow = dataRange.getLastRow();
  
  var gci = data.getRange(1, 7, lastrow, 1).getValues ();
  var referral = data.getRange(1, 5, lastrow, 1).getValues();
  var referralcomm = data.getRange(1, 6, lastrow, 1).getValues();
  for (var i=0;i<lastrow;i++) {
     if (referral[i][0] == "ABC") { 
       gci[i][0]=referralcomm[i][0]);
     }
  }
  data.getRange(1, 7, lastrow, 1).setValues(gci);
}
选项1返回一个错误“TypeError:无法读取未定义”的属性“0”作为行“if(reference[i][0]=“ABC”){。选项2工作得很好-谢谢!!(更正了几个错误==to=,或to oR,以及oA to ov)
function netincome() {
  var ss=SpreadsheetApp.getActive();
  var sh==ss.getSheetByName('Test');
  var vs=sh.getDataRange().getValues();
  var or=sh.getRange(1,7,sh.getLastRow(),1);
  var ov=oR.getValues();
  vs.forEach(function(r,i){
    if(r[4]=="ABC") {
      oA[i][0]=r[5];
    }
  });
  or.setValues(ov);
}