【发布时间】:2015-05-27 01:59:57
【问题描述】:
我目前有一个与其他 4 个人共享的主文档。现在,我有一个公式,当列 K 具有“关闭”或“同一天关闭”时,用今天的日期标记列 L。我们发现有时时间戳是不准确的,并且会在上周发生的收盘时反映今天的日期。我相信发生这种情况是因为有很多人在访问它,对吗?这是我目前使用的公式:
=IF(OR(K34="Closed",K34="Same Day Close"),TODAY(),"")
所以我认为最好改用脚本,这样时间戳不会受到多个用户在不同时间访问文档的影响。它正在工作,但它并没有完全按照我的需要做。这是脚本:
function onEdit(e) {
var ss = e.source;
var activatedSheetName = ss.getActiveSheet().getName();
var activatedCell = ss.getActiveSelection();
var activatedCellRow = activatedCell.getRow();
var activatedCellColumn = activatedCell.getColumn();
var activatedCellValue = activatedCell.getValue();
var greg = ss.getSheetByName("Greg"); // source sheet
var greg = ss.getSheetByName("Greg"); // target sheet
// if the value in column D is "Approved", move the row to target sheet
if (activatedSheetName == greg.getName() && activatedCellColumn == 11 && activatedCellValue == "Closed") {
// add date and time of when approved to target row in column E
greg.getRange('l' + activatedCellRow).setValue(Date(TODAY));
}
}
这是我需要它做的没有做的事情:
- 我不希望时间戳包含今天以外的任何内容 mm/dd/yyyy 格式的日期(现在它也包括时间)
- 我需要“关闭”以及“当天关闭”来触发时间戳
- 我需要将代码应用于多张工作表,而不仅仅是“Greg”
提前非常感谢您!这是我第一次尝试实现一个脚本,我已经玩了好几天了,但无济于事。我很感激你的时间。
【问题讨论】:
标签: google-sheets