google-apps-script - 如何将值复制到活动单元格的左侧?
问题描述
我正在编写一个在活动单元格中输入日期的脚本。我只在 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 的值。
解决方案
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 列)。
推荐阅读
- ios - 如何使扩展适用于多个应用程序目标?
- c# - 如何将消息从 1 个频道发送到另一个频道?
- javascript - Javascript中的自定义排序数组
- javascript - Javascript,设置允许字符功能
- amazon-web-services - 具有 IAM 权限的 Cognito 组
- matlab - 保存 Matlab 对象实例会导致无限循环
- javascript - Bootbox not 不显示弹出模式
- maven - “mvn test”不会将 src/test/resources 的内容复制到输出目录?
- mapbox-gl-js - 是否可以动态添加到 kepler.gl 中的数据集
- r - 如何在条形图(ggplot)中的条形组之间添加空间