我正在使用表格为其他人设置电子表格以输入数据。其中一列应该包含一个日期。输入日期格式如以下示例:“2013 年 1 月 26 日”(收集数据会涉及大量复制和粘贴,因此在输入步骤更改格式不是真正的选择)。
我需要这个日期列是可排序的,但电子表格不会将其识别为日期,而只是将其识别为字符串。(它会识别“Jan-26-2013”,我试过了。)所以我需要重新格式化输入日期。
我的问题是:我该怎么做?我环顾四周,谷歌应用程序脚本看起来像是要走的路(尽管我还没有找到重新格式化的好例子)。不幸的是,我唯一的编程经验是 Python,而且是中级水平。我可以在 Python 中毫无问题地做到这一点,但我不知道任何 JavaScript。(我的 Python 方法是:
splitted = date.split()
newdate = "-".join([splitted[0], splitted[1][:-1], splitted[2]])
return newdate
)
我也不知道如何将脚本链接到电子表格 - 我会将其附加到单元格、表单或哪里?如何?在这一点上,任何指向有用的、易于理解的教程等的链接都会有很大帮助。
非常感谢任何帮助!
编辑:这是我最终得到的代码:
//Function to filter unwanted " chars from date entries
function reformatDate() {
var sheet = SpreadsheetApp.getActiveSheet();
var startrow = 2;
var firstcolumn = 6;
var columnspan = 1;
var lastrow = sheet.getLastRow();
var dates = sheet.getRange(startrow, firstcolumn, lastrow, columnspan).getValues();
newdates = []
for(var i in dates){
var mydate = dates[i][0];
try
{
var newdate = mydate.replace(/"/g,'');
}
catch(err)
{
var newdate = mydate
}
newdates.push([newdate]);
}
sheet.getRange(startrow, firstcolumn, lastrow, columnspan).setValues(newdates)
}
对于像我这样困惑的谷歌脚本新手:
通过在电子表格中创建脚本(工具 => 脚本编辑器),将脚本附加到电子表格中。只需将函数放在那里就足够了,您似乎不需要函数调用等。
您从脚本编辑器中选择脚本的触发器(资源 => 此项目的触发器)。
重要提示:脚本仅在相关工作表底部有空行时才有效!