我正在为其他人使用表单设置电子表格来输入数据。 其中一列应该包含日期。输入日期格式就像这个例子:“2013年1月26日”(将会有很多复制&粘贴涉及到收集数据,所以改变输入步骤的格式不是一个真正的选择)。在Google电子表格中重新格式化日期
我需要此日期列可排序,但电子表格不会将此识别为日期,而只是将其识别为字符串。 (它会承认“2013年1月26日”,我试过。) 所以我需要重新格式化输入日期。
我的问题是:我该怎么做?我环顾四周,谷歌应用程序脚本看起来像要走的路(尽管我还没有找到一个很好的例子重新格式化)。 不幸的是,我唯一的编程经验是Python和中级。我可以在没有问题的情况下在Python中执行此操作,但我不知道任何JavaScript。 (我的Python的做法是:
splitted = date.split()
newdate = "-".join([splitted[0], splitted[1][:-1], splitted[2]])
return newdate
)
我也不知道我怎么会去有关脚本链接到电子表格 - 我会附加到单元格,或形式,还是在哪里?如何?任何链接到一个有用的,可以理解的教程等在这一点上会有很大帮助。
任何帮助非常感谢! Lastalda
编辑:这是我结束了代码:
//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)
}
对于其他迷惑谷歌脚本新手跟我一样:
安装脚本到电子表格的工作原理从电子表格内创建脚本(工具=>脚本编辑器)。只需将函数放在那里就足够了,您似乎不需要函数调用等。
您从脚本编辑器(资源=>此项目的触发器)中选择脚本的触发器。
重要:,如果有一个空行的表有问题底部的脚本才起作用!
很高兴听到我的回答对您有所帮助:-) – 2013-02-28 07:08:10
@Serge:是的,这就是,谢谢!我以某种方式无法评论或upvote /昨天接受。上面的代码对您来说看起来是否合理或者是不必要的复杂? (因为我对JavaScript没有任何了解,所以我会很感激的。) – Lastalda 2013-02-28 09:02:34
我编辑了我的答案,它比评论中更容易 – 2013-02-28 10:15:42