Я настраиваю электронную таблицу для кого-то еще с формой для ввода данных. Один из столбцов должен содержать дату. Формат входных дат похож на этот пример: «26 января 2013 года» (будет собрано много скопированной скобы & для сбора данных, поэтому изменение формата на этапе ввода не является реальным вариантом).Дата форматирования в электронной таблице google
Мне нужен этот столбец даты для сортировки, но электронная таблица не распознает это как дату, а просто как строку. (Это признало бы «январь-26-2013», я пробовал.) Так что мне нужно переформатировать дату ввода.
Мой вопрос: как я могу это сделать? Я огляделся, и скрипт google apps выглядит как способ (хотя я еще не нашел хороший пример переформатирования). К сожалению, мой единственный опыт программирования в Python и на промежуточном уровне. Я могу сделать это на Python без проблем, но я не знаю никакого JavaScript. (Мой Python подход был бы:
splitted = date.split()
newdate = "-".join([splitted[0], splitted[1][:-1], splitted[2]])
return newdate
)
Я также не знаю, как бы я идти о связывании сценария в таблицу - я бы прикрепить ее к клетке, или форме , или где? И как? Любая ссылка на полезный, понятный учебник и т. Д. По этому вопросу очень помогла бы.
Любая помощь очень ценится! Lastalda
Edit: Вот код, который я закончил с:
//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)
}
Для других новичков запутаться Google-скрипт, как я:
прикрепление сценарий таблица работает создание сценария из электронной таблицы (Tools => Script Editor). Просто поставить функцию там достаточно, вам, похоже, не нужен вызов функции и т. Д.
вы выбираете триггер скрипта из редактора сценариев (ресурсы => триггеры этого проекта).
Важно: скрипт будет работать только, если есть пустая строка в нижней части листа в вопрос!
рад услышать мой ответ был полезным :-) –
@Serge: да, это было, спасибо! Я как-то не мог прокомментировать или упрекнуть/принять вчера. Является ли приведенный выше код разумным для вас или он излишне сложный? (Так как я ничего не знаю о JavaScript, я был бы признателен за отзывы.) – Lastalda
Я отредактировал свой ответ, это проще, чем в комментариях –