簡體   English   中英

使用Google腳本達到一定數值時顯示值

[英]display value if reached a certain numbers using google script

我有一個帶有日期列的google工作表,並且如果我的列中的值達到4次(例如2019年7月1日),則無法顯示或將值設置為一個單元格

      Date Column
Row1: July 1, 2019
Row2: July 2, 2019
Row3: July 1, 2019
Row4: July 4, 2019
Row5: July 1, 2019
Row6: July 1, 2019
Row7: July 5, 2019

我已經在Google腳本中嘗試了以下代碼:

  function countDate(){

    var ss = SpreadsheetApp.openByUrl(url);
    var ws = ss.getSheetByName("Test_Data");
    var dateRg = ws.getRange(1, 9, ws.getLastRow(), 1).getValues();

    for (var i =1; i < dateRg.length; i++){
      var dateTest = dateRg[i];

      if (dateTest > 5){
         ws.getRange(2,4).setValue(dateTest);
    }
  }   

在上面的示例中,我希望在電子表格中具有一個單元格,使其值“ 2019年7月1日”,因為該值在列中出現了4次。 先感謝您。

這是一種可能的方法。 計算每個日期的出現次數,將計數存儲在對象中,然后找到出現次數最多的日期。

function countDate(){  
  var ss = SpreadsheetApp.openByUrl(url);
  var ws = ss.getSheetByName("Test_Data");
  var dateRg = ws.getRange(1, 1, ws.getLastRow(), 1).getDisplayValues();
  var data = {}
  for (var i =0; i < dateRg.length; i++){
    data[dateRg[i]] = data[dateRg[i]] || 0;
    data[dateRg[i]]++;  
  }
  var max = Object.keys(data).reduce(function(a, b){ return data[a] > data[b] ? a : b });  
  ws.getRange(2,4).setValue(max);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM