Google apps script 当单元格等于某个值时,今天自动填充';相邻单元格中的日期
我有一份销售线索列表,我们希望跟踪线索是否回复了我们,如果是,在哪一天,我还希望跟踪他们是否转换,如果是,在哪一天 我们在收到回复或转换后手动输入单元格“Y”,但我希望旁边的单元格自动填充我们输入“Y”的日期 到目前为止,我已经能够找到一个脚本,它可以为工作表上的一列执行此操作,但实际上我正在尝试创建一个脚本,它可以为多个选项卡上的多列执行此操作 希望此屏幕截图有助于解释: 我发现这个脚本对一个专栏非常有效,但我很难让它对两个专栏有效:Google apps script 当单元格等于某个值时,今天自动填充';相邻单元格中的日期,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我有一份销售线索列表,我们希望跟踪线索是否回复了我们,如果是,在哪一天,我还希望跟踪他们是否转换,如果是,在哪一天 我们在收到回复或转换后手动输入单元格“Y”,但我希望旁边的单元格自动填充我们输入“Y”的日期 到目前为止,我已经能够找到一个脚本,它可以为工作表上的一列执行此操作,但实际上我正在尝试创建一个脚本,它可以为多个选项卡上的多列执行此操作 希望此屏幕截图有助于解释: 我发现这个脚本对一个专栏非常有效,但我很难让它对两个专栏有效: function onEdit(event){ var
function onEdit(event){
var ColAF = 32; // Column Number of "AH"
var changedRange = event.source.getActiveRange();
if (changedRange.getColumn() == ColAF) {
// An edit has occurred in Column AF
var state = changedRange.getValue();
var adjacent = event.source.getActiveSheet().getRange(changedRange.getRow(),ColAF+1);
var timestamp = new Date(); // Get the current time
// depending on the selected value
switch (state) {
case "y":
// Write timestamp into adjacent cell
adjacent.setValue(timestamp);
break;
case "Y":
// Write timestamp into adjacent cell
adjacent.setValue(timestamp);
break;
default:
adjacent.setValue("");
break
}
}
这是一个样品 在您的示例中,当我将
32
更改为4
时,它会按照您的预期工作。您的var名为colAF
,它是索引32,但您的注释是AH
,它是索引34
var ColAF = 32; // Column Number of "AH"
仔细检查你的射程
尝试添加一些日志以查看发生了什么
function onEdit(event){
var ColAF = 4; // Column Number of "AH"
var changedRange = event.source.getActiveRange();
Logger.log(changedRange.getColumn());
Logger.log(changedRange.getColumn() == ColAF);
if (changedRange.getColumn() == ColAF) {
编辑与上述类似的代码,保存代码,然后进行更改。要查看日志,请转到调试器中的“查看”->“日志”
在上面的示例中,日志的输出是
[18-01-08 19:51:42:815 ICT] 4.0
[18-01-08 19:51:42:816 ICT] true
如果它不能解决问题,请粘贴您的实际代码 对不起,伙计们,32/34是从我正在使用的实际工作表中取出来的,但出于这个目的,它应该是1&3。不管怎样,我终于能够弄明白了,这比我最初认为的要简单得多,我将把答案贴在下面
function onEdit(e) {
if ([1,3].indexOf(e.range.columnStart) == -1 || ['y','Y'].indexOf(e.value) == -1) return;
e.range.offset(0, 1)
.setValue(Utilities.formatDate(new Date(), "GMT-5", "MM-dd-yyyy"))}
唯一的方法是使用脚本。我一直在尝试编写一个脚本来完成这项工作,但一直有困难