For loop 返回符合条件的特定行-Google应用程序脚本

For loop 返回符合条件的特定行-Google应用程序脚本,for-loop,if-statement,google-apps-script,filtering,criteria,For Loop,If Statement,Google Apps Script,Filtering,Criteria,我想做的是:我有一个列表,N是日期,O是复选框。我需要获取=N

我想做的是:我有一个列表,N是日期,O是复选框。我需要获取
=N
&&&
O=False
,然后
返回对应行的A:B
。我试过各种方法,但都不能成功。有什么建议吗

function msg1(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var wscl = ss.getSheetByName('Connection List');
  var contact = wscl.getRange("A2:B").getValues();
  var msg1date = wscl.getRange("N2:N").getValues();
  var msg1sent = wscl.getRange("O2:O").getValues();
  var MILLIS_PER_DAY = 1000 * 60 * 60 * 24;
  var now = new Date();
  var yesterday = new Date(now.getTime() - MILLIS_PER_DAY);
  for(var i=0;i<msg1sent.length;i++){
    if(msg1sent =="FALSE"&& msg1date < yesterday){ 
      var row=i+1; 
    }
  }
 } 
函数msg1(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var wscl=ss.getSheetByName(“连接列表”);
var contact=wscl.getRange(“A2:B”).getValues();
var msg1date=wscl.getRange(“N2:N”).getValues();
var msg1sent=wscl.getRange(“O2:O”).getValues();
var MILLIS_/天=1000*60*60*24;
var now=新日期();
var Dayed=新日期(now.getTime()-MILLIS_/天);
对于(var i=0;i如果使用复选框的getValues(),则返回true或false布尔值。如果使用getDisplayValues(),则返回“true”或“false”字符串。对于我刚才使用valueOf()的日期,也可以使用getTime()。解决所有这些问题的最简单方法是创建一些中间临时变量,并在脚本调试器中查看它们,您可以在那里看到所有返回值

function msg1(){
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('Connection List');
  var ct=sh.getRange(2,1,sh.getLastRow()-1,2).getValues();
  var date=sh.getRange(2,14,sh.getLastRow()-1,1).getValues();//date
  var sent=sh.getRange(2,15,sh.getLastRow()-1,1).getValues();//checkbox
  var dt=new Date();
  var rows=[];
  var today=new Date(dt.getFullYear(),dt.getMonth(),dt.getDate()).valueOf();//0000 or midnight
  for(var i=0;i<sent.length;i++){
    var t1=sent[i][0];
    var t2=new Date(date[i][0]).valueOf();
    var t3=today;
    if(sent[i][0]==false && new Date(date[i][0]).valueOf()<today){ 
      rows.push(ct[i]);
    }
  }
  Logger.log(rows);
 }
函数msg1(){
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName(“连接列表”);
var ct=sh.getRange(2,1,sh.getLastRow()-1,2).getValues();
var date=sh.getRange(2,14,sh.getLastRow()-1,1).getValues();//日期
var sent=sh.getRange(2,15,sh.getLastRow()-1,1).getValues();//复选框
var dt=新日期();
var行=[];
var today=新日期(dt.getFullYear()、dt.getMonth()、dt.getDate()).valueOf();//0000或午夜

(var i=0;我很乐意帮忙。祝你度过愉快的一天。
function msg1(){
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('Connection List');
  var ct=sh.getRange(2,1,sh.getLastRow()-1,2).getValues();
  var date=sh.getRange(2,14,sh.getLastRow()-1,1).getValues();//date
  var sent=sh.getRange(2,15,sh.getLastRow()-1,1).getDisplayValues();//checkbox
  var dt=new Date();
  var rows=[];
  var today=new Date(dt.getFullYear(),dt.getMonth(),dt.getDate()).valueOf();
  for(var i=0;i<sent.length;i++){
    var t1=sent[i][0];
    var t2=new Date(date[i][0]).valueOf();
    var t3=today;
    if(sent[i][0]=="FALSE" && new Date(date[i][0]).valueOf()<today){ 
      rows.push(ct[i]);
    }
  }
  Logger.log(rows);
 }