Google apps script 如何获取日期第一次出现在列中?

Google apps script 如何获取日期第一次出现在列中?,google-apps-script,Google Apps Script,我是JavaScript和Google Spreadsheet的新手,我需要一些帮助。 我在GoogleSpeardSheet中有一个表,在L列中有日期。 该表按日期排序,从最早到最新 现在,我需要两个函数- 第一个-将返回表中存在的最后(=最新)日期。 第二行-返回表中显示最新日期的第一行 我成功地编写了第一个函数(名为:FindLastDate),但第二个函数有问题。 请查看我的代码并给出您的建议: function TheFirstRowWithThisDate() { va

我是JavaScript和Google Spreadsheet的新手,我需要一些帮助。 我在GoogleSpeardSheet中有一个表,在L列中有日期。 该表按日期排序,从最早到最新

现在,我需要两个函数- 第一个-将返回表中存在的最后(=最新)日期。 第二行-返回表中显示最新日期的第一行

我成功地编写了第一个函数(名为:FindLastDate),但第二个函数有问题。 请查看我的代码并给出您的建议:

   function TheFirstRowWithThisDate() {
    var sheet = SpreadsheetApp.getActiveSheet();
    var dataRange = sheet.getDataRange().getValues();
    var i = 0;
    var a = 0;
    d = FindLastDate();
    while (a==0) {
    if  (dataRange[d][11]==dataRange[i][11])
    { var a=i
    }
    i=i+1;
    }
    return a 
    }

由于许多原因,日期很难处理-电子表格单元格的格式、电子表格的时区和脚本都起到了作用

所以,根据你的要求,我会很难地解析日期

function TheFirstRowWithThisDate() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var dataRange = sheet.getDataRange().getValues();
  var d = FindLastDate(); 
  var lastDate = new Date(d); 
  for( var i = 0 ; i < dataRange.length ; i++){
    var tempDate = new Date(dataRange[i][11]); // Col L
    if(tempDate.getDate() == lastDate.getDate() && 
       tempDate.getMonth() == lastDate.getMonth() && 
       tempDate.getFullYear() == lastDate.getFullYear() ) { 
         return (i+1); // Return the row number which is 1 more than the index 
    }
  }
  return 0;
}
函数firstrowWithThisDate(){
var sheet=SpreadsheetApp.getActiveSheet();
var dataRange=sheet.getDataRange().getValues();
var d=FindLastDate();
var lastDate=新日期(d);
对于(变量i=0;i
您真的需要这些气体功能吗?电子表格中的本机函数将执行此操作,=MAX(L:L)表示最新日期,=MATCH(MAX(L:L),L:L,0)表示行号