google-apps-script - 用于合并列并在另一列中自动更新的谷歌工作表脚本
问题描述
我坚持编写一个谷歌表格脚本来自动组合两列和更新列。
我有两列“日期”和“时间”。这是手动输入(不能自动插入)。所以我想尝试如果两列都被填充,那么另一列“DateTime”将自动填充。
DATE Time DateTime
---------------------------------------------------------
2020-03-31 1:00PM 2020-03-31 13:00:00
我使用了这个函数> =concatenate(text(A2,"yyyy-mm-dd")&" "&text(B2,"hh:mm:ss"))
但我怎么能在脚本下写这个!这是我的 googlesheet 链接:https ://docs.google.com/spreadsheets/d/1acvlfNbhh-nU_nTb-9J1vZfGobStQohJSuMTynS6vJM/edit?usp=sharing
这是我的功能:
function onEdit(event)
{
var timezone = "IST";
var timestamp_format = "MM-dd-yyyy hh:mm:ss a"; // Timestamp Format.
var updateColName = "DATE";
var updateColName2 = "Time";
var timeStampColName = "DateTime";
var sheet = event.source.getSheetByName('Sheet1'); //Name of the sheet where you want to run this script.
var actRng = event.source.getActiveRange();
var editColumn = actRng.getColumn();
var index = actRng.getRowIndex();
var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues();
var dateCol = headers[0].indexOf(timeStampColName);
var updateCol = headers[0].indexOf(updateColName);
var updateCol2 = headers[0].indexOf(updateColName2);
updateCol = updateCol+1;
updateCol2 = updateCol2+1;
if (dateCol > -1 && index > 1 && editColumn == updateCol) { // only timestamp if 'Last Updated' header exists, but not in the header row itself!
if (dateCol > -1 && index > 1 && editColumn == updateCol2){
var cell = sheet.getRange(index, dateCol + 1);
var date = concatenate(text(A2,"yyyy-mm-dd")&" "&text(B2,"hh:mm:ss"))
cell.setValue(date);
}
}
}
此功能不起作用。请任何人帮助我。
解决方案
推荐阅读
- css - 如何使用 css 或 scss 创建附加形状?
- python - 使用 AJAX django 上传文件和其他属性
- python - 无法摆脱 process_exception 引发的一些错误
- python - 熊猫分组抽样 - 忽略样本大于元素数量的情况
- activemq-artemis - ActiveMQ Artemis + 队列过滤器
- .net - 如何正确将.net dll注册为COM?
- java - 读取标准输入会导致 Intellj 中的无限循环
- postgresql-9.5 - 无法在 jsonb 列的数组中添加(正确)项目
- slickgrid - 在 slickgrid 中使用引导日历,然后日历卡住问题
- r - 我如何在 R 中翻译?