我正在爲其他人使用表單設置電子表格來輸入數據。 其中一列應該包含日期。輸入日期格式就像這個例子:「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