根据时间戳移动数据行

时间:2014-12-11 15:51:25

标签: timestamp google-sheets

我试图设置一个没有运气的脚本。

我想从" CC-COPPELL"移动数据行。到"存档"当col 9显示值< = Today()时。

基本上只是将内容从昨天移到存档中(如果已完成)。 (我无法制作一个下拉菜单,让它移动到"是"或"否"等值,因为数据需要在当天可用。)

Col 9是基于在Col 8上输入的值的自动时间戳,如果有帮助的话。

我已经搜索并搜索了一个可以编辑的脚本,但是我似乎无法根据确切的值找到其他任何移动数据的脚本。

这是一个样本表: https://docs.google.com/spreadsheets/d/1J-LOiqjcbPyqxffUp47pyXXIEr9kY0szTB8ciKmkEU0/edit?usp=sharing

我知道你们通常不会要求人们要求编写脚本,但是我自己也要从头开始写一篇文章。

提前致谢。

1 个答案:

答案 0 :(得分:0)

看看这对你有用吗?

function onOpen() {
SpreadsheetApp.getUi()
    .createMenu('Custom Menu')
    .addItem('Move Rows', 'moveRows')
    .addToUi();
}

function moveRows() {
var ss = SpreadsheetApp.getActive();
var s = ss.getSheetByName("CC-COPPELL");
var target = ss.getSheetByName("Archive");
var today = new Date().getTime()
var val = filterArray(s.getDataRange()
    .getValues());
for (var len = val.length - 1, i = len; i >= 0; i--) {
    if (val[i][8].getTime() < today) {
        target.appendRow(val[i])
        s.deleteRow(i + 2)
        }
    }
}

function filterArray(array) {
var filteredArray = [];
array.forEach(function (r) {
    if (r[8] !== '') {
        filteredArray.push(r);
    }
});
return filteredArray;
}