function timestampandoffset() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var Time = new Date();
var timeStampFormat = "dd.mm.yy";
ss.getActiveCell().setValue(Time).setNumberFormat(timeStampFormat);
ss.getActiveCell().offset(0, -1).setValue((ss.getActiveCell().offset(0, 2).getValue()) + 1);
}
Вы можете достичь своей цели с помощью только одной дополнительной строки кода.
ss.getActiveCell (). Смещение (0,
-1) .setValue ((ss.getActiveCell (). Offset (0, 2) .getValue ()) + 1);
Ключ использует ваше начальное местоположение (в вашем случае это ActiveCell). Все ссылки на смещения относятся к этому - сколько строк выше или ниже и / или сколько столбцов слева или справа.
Код состоит из трех компонентов:
1) ss.getActiveCell().offset(0, 2).getValue()
Это значение из столбца D.
Смещение (задокументировано как смещение (rowOffset, columnOffset) ) равно «0,2», то есть: та же строка, что и ActiveCell, но 2 столбца справа (= столбец D).
2) (ss.getActiveCell().offset(0, 2).getValue()) + 1
Он принимает значение в ячейке / диапазоне смещения (столбец D) и добавляет единицу.
3) ss.getActiveCell().offset(0, -1).setValue
Наконец, это целевая ячейка. Смещение равно «0, -1»: то есть та же строка, что и ActiveCell, но один столбец слева (= столбец A).