我正在处理一个在活动单元格中输入日期的脚本。我仅在B列中使用脚本。现在,我想将D2
(其中D2
是数字)中的值复制到活动单元格的左侧单元格中。然后是D2
+ 1的值。
function TimeStamp(){
var ss=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var Time=new Date();
var timeStampFormat="dd.mm.yy";
ss.getActiveCell().setValue(Time).setNumberFormat(timeStempelFormat);
}
现在我的问题是如何将D2
的一个单元格的值复制到活动单元格(timeStamp
)中,然后再将D2
的值复制为1。
答案 0 :(得分:0)
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()。offset(0, -1).setValue(((ss.getActiveCell()。offset(0,2).getValue())+1);
关键是要利用您的起始位置(在您的情况下,它是ActiveCell)。 所有偏移量引用都与此相对-上下左右多少行,和/或左侧或右侧多少列。
代码包含三个部分:
1)ss.getActiveCell().offset(0, 2).getValue()
这是列D中的值。
偏移量(记录在offset(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)。