【发布时间】:2021-11-06 18:45:02
【问题描述】:
在我的工作表中,A 列是日期,B 列是持续时间值,我想找到重复的日期并总结重复日期的相应时间值,并显示最后一个相关重复日期的总和。并删除所有其他重复的日期。即如果 18/07/2019 重复 4 次,我必须将所有四个持续时间值相加,并在第 4 个重复位置显示和值,并删除前三个日期 18/07/2019。我必须这样做所有重复的日期。我已尽我所知编写代码
function countDate() {
var data = SpreadsheetApp.getActive();
var sheet = data.getSheetByName("Sheet5");
var lastRow = sheet.getLastRow();
var sh = sheet.getRange('A1:A'+lastRow);
var cell = sh.getValues();
var data= sheet.getRange('B1:B'+lastRow).getValues();
for (var i =0; i < lastRow; ++i){
var count = 0;
var column2 = cell[i][0];
for (var j =0; j < i; j++)
{
var p=0;
var column4 = cell[j][0];
if (column4 - column2 === 0 )
{
var value1 = data[j][0];
var value2 = data[i][0];
var d = value2;
d.setHours(value1.getHours()+value2.getHours()+0);
d.setMinutes(value1.getMinutes()+value2.getMinutes());
sheet.getRange('C'+(i+1)).setValue(d).setNumberFormat("[hh]:mm:ss");
sheet.deleteRow(j+1-p);
p++;
}
}
}
}
C 列是我通过上述代码获得的值,D 列是所需值
计算总和后,我需要在这里删除重复的行,直到 15
【问题讨论】:
标签: google-apps-script google-sheets