我有一个谷歌电子表格列表,有两列(200 +行和计数),如下所示:
Monday 495,636,792
Tuesday 891,243,349
Wednesday 465,844,622
Thursday 425,461,946
Friday 412,401,861
Saturday 424,297,897
Sunday 462,782,430
Monday 454,216,725
Tuesday 1,661,014,800
Wednesday 502,935,706
Thursday 493,009,684
Friday 464,568,911
Saturday 670,963,371
Sunday 491,847,275
(我还有一个常规日期栏,不仅仅是工作日 - 如果需要的话)
我想计算每周最低数量。 这基本上意味着我想要一个看起来像这样的其他列表:
Monday 10
Tuesday 15
Wednesday 20
Thursday 0
Friday 9
Saturday 7
Sunday 25
星期一 - 10 意味着,有10个星期,星期一是那个星期中最小的数字。
答案 0 :(得分:1)
抱歉,我不明白。这很难。请参阅下面的更正代码样本表也已更正。
function minDays() {
var s= SpreadsheetApp.getActiveSpreadsheet().getSheets()[1];
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
var clr = s.getRange(2,2,7,1).clear()
var lr = ss.getLastRow()-1
var slr = 7
var sr = 2
var weeks = lr/7
for(w=1;w<weeks+1;w++){
if(w==1){sr=sr,slr==slr} else {sr=sr+7,slr=slr+7}
var sVal = ss.getRange(sr,1,slr,2).getValues();
var minVal =sVal[1][1]
var minDay =sVal[0][0]
for (var i = 1; i < 7;i++) {
if(sVal[i-1][1]<=minVal){minVal=sVal[i-1][1],minDay=sVal[i-1][0]} else{minVal=minVal,minDay=minDay}
var fVal=minVal
var fday = minDay
}
var target=s.getRange(2,1,7,2).getValues();
for(var n in target){
var row = target[n][0]
if(row.toString().match(fday)){
var cnt = target[n][1].valueOf()+1
target[n][1]=cnt
}}
var rDay =s.getRange(2, 1,7,2)
var data=rDay.getValues()
rDay.setValues(target)
}}
https://docs.google.com/spreadsheets/d/1AFHeNKeonLDuuOyg7GaTvMB4asvnYHbK2C0WAEbfSsI/edit?usp=sharing