Google表格应用程序脚本中的日期变量未更新

时间:2018-02-01 15:43:58

标签: google-apps-script google-sheets

所以我使用谷歌工作表电子表格来记录我在一个月内的所有支出。我已经创建了一个函数来输出我在当月的当天花了多少钱(即今天它会显示每个月的第1张表)。它列出了支出日期和购买花费的数量。

function spentByThisDay(date, spent) {
  var d = new Date();
  var currentDate = d.getDate();
  var currDate;
  var sum =0;
  for(var i=0; i<date.length; i++){
    currDate = new Date(date[i]);
    if(currDate.getDate()<=currentDate)
      sum+=parseFloat(spent[i]);
  }
  return sum;
}

此功能正常。我的问题是它不会更新我过去几个月的当前日期(今天,第一天)。我必须手动进入并删除调用函数的单元格

  

= spentByThisDay(A2:A100,D2:D100)

并将其重新粘贴到单元格中以使其更新。

是否有任何解决方法可以让每天或每次打开电子表格时更新此输出?

1 个答案:

答案 0 :(得分:0)

I did it this way and it seems to work okay.

function spentByThisDay(date, spent) {
  var currentDate=new Date();
  var sum =0;
  for(var i=0; i<date.length; i++){
    var currDate = new Date(date[i]);
    if(currDate.valueOf()<=currentDate.valueOf()){
      sum+=parseFloat(spent[i]);
    }
  }
  return sum;
}