Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.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
Google apps script 有什么想法吗;这就是为什么谷歌应用程序脚本过滤器无法正确过滤的原因_Google Apps Script_Filter - Fatal编程技术网

Google apps script 有什么想法吗;这就是为什么谷歌应用程序脚本过滤器无法正确过滤的原因

Google apps script 有什么想法吗;这就是为什么谷歌应用程序脚本过滤器无法正确过滤的原因,google-apps-script,filter,Google Apps Script,Filter,我已经编写了以下代码 如果我运行该代码,我会收到一条弹出消息,如预期的那样显示“Filter Done”,当我查看日志时,我会得到一个包含初始数组中所有项的数组 如果我注释掉返回true我收到一条弹出消息,上面写着“过滤完成”,当我查看日志时,我得到一个emprty数组“[]” 如果我注释掉返回true和返回false行,我得到15条弹出消息,对应于原始测试数组中的15项。有人会说真,有人会说假。“过滤完成”弹出窗口不会出现,当我转到查看日志时,它是空的 你知道为什么这行不通吗 欢迎使用St

我已经编写了以下代码



如果我运行该代码,我会收到一条弹出消息,如预期的那样显示“Filter Done”,当我查看日志时,我会得到一个包含初始数组中所有项的数组

如果我注释掉
返回true我收到一条弹出消息,上面写着“过滤完成”,当我查看日志时,我得到一个emprty数组“[]”

如果我注释掉
返回true
返回false行,我得到15条弹出消息,对应于原始测试数组中的15项。有人会说真,有人会说假。“过滤完成”弹出窗口不会出现,当我转到查看日志时,它是空的


你知道为什么这行不通吗

欢迎使用StackOverFlow。请借此机会学习并学习如何使用和。您的示例代码不完整。请共享您的示例数据。我已经尝试了你的代码,但我无法重新创建这个问题。我把这个谷歌表格放在一起,里面的代码不起作用。这里是链接。谢谢你的帮助。FWIW,
var ArrayofPrograms
是“A2:D11”,因为您从第2行开始,但使用
upComingTransposeS.getLastRow()
作为行数。行数应为
upComingTransposeSDss.getLastRow()-1
function onEdit(e) {

  var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var tabProgram = "Test";
  var TabUpcomingTransposed = "Data"
  var UpcomingTransposedss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(TabUpcomingTransposed);
  var activeCell = ss.getActiveCell();


  //Get array of data to filter if Date dropdown is changed
  if(activeCell.getColumn() == 4 && activeCell.getRow() == 2  && ss.getSheetName() === tabProgram){

    //get Data in an array form sheet
    var ArrayofPrograms = UpcomingTransposedss.getRange(2, 1,UpcomingTransposedss.getLastRow() , UpcomingTransposedss.getLastColumn()) .getValues();
    //Logger.log(ArrayofPrograms);

    //Get Date from dropdown
    var Program_date = Utilities.formatDate(activeCell.getValue(), "GMT+1", "dd-MMM-yyyy");
    Logger.log(Program_date);


    //filter on array by selected date
    var ProgramsFiltered = ArrayofPrograms.filter(function(item){
      /return true;
      //return false;

      var filter_date =  Utilities.formatDate(item[0], "GMT+1", "dd-MMM-yyyy");

      if (filter_date.valueOf() == Program_date.valueOf()) {
        Browser.msgBox('Test', 'True', Browser.Buttons.OK); 
        return true;
      } else {
        Browser.msgBox('Test', 'False', Browser.Buttons.OK); 
        return false; 
      }
    });

    Browser.msgBox('Test', 'Filter Done', Browser.Buttons.OK); 
    Logger.log(ProgramsFiltered); 


  } else {
    //Nothing
  }

}