删除所有第一个单元格中没有日期的行

时间:2018-10-05 08:44:51

标签: google-apps-script google-sheets

我正试图从我的不同银行,卡供应商等处收集下载的电子表格,并将每个电子表格插入Google表格文件中自己的标签中。然后,我想自动化以相同格式(列方式)排列所有这些语句的工作,将它们导入一个公共选项卡,并按日期对公共选项卡进行排序。结果将是一个选项卡,其中所有语句混合在一起并按日期排序。

为此,我需要(对于每个单独的标签)删除所有不包含日期的行(日期格式,实际上是dd.mm.yyyy格式,例如右移{{1} }或任何日期格式)在该行的“ A”列单元格中。如果格式搜索很困难,我可以选择一个脚本,该脚本删除所有包含任何文本的行(例如,开头不像04示例)或“ A”列中的单元格为空。

1 个答案:

答案 0 :(得分:1)

尝试这样的事情:

最困难的问题是弄清楚什么是日期。如果您用谷歌搜索,最终将遇到堆栈溢出的问题。这是一个简单的脚本,但我没有对其进行测试。因此,如果它不起作用,请尝试对其进行调试。

function isADate(d){
  return (Object.prototype.toString.call(d) === '[object Date]');
}

function delNonDatesInFirstCol(){
  var sh=SpreadsheetApp.getActiveSheet()
  var vA=sh.getDataRange().getValues();

  var n=0;
  for(var i=0;i<vA.length;i++){//if you have a 1 header row start with var i=1;
    if(!vA[i][0] || !isADate(vA[i][0])){
      sh.deleteRow(i + 1 - n);
      n+=1;
    }
  }
}