У меня в настоящее время есть некоторые проблемы с моим скриптом Google App.
На данный момент мы имеем следующее: когда пользователи вводят два значения (время) в столбец, продолжительность между столбцами будет автоматически рассчитана.в другом столбце, который мы делали с помощью функций в самой электронной таблице.
Когда мы передаем входные значения, мы используем функцию appendRow, и поскольку в столбце все будет запутано, мы устанавливаем значениеПредполагается, что в столбце длительности он будет пустым, чтобы он был заполнен пустым, а функция в самой электронной таблице его вычисляла.Однако проблема, с которой мы столкнулись, заключалась в том, что, используя эту функцию в электронной таблице, мы получаем значение 00:00 в качестве значения по умолчанию для каждой отдельной строки, не имеющей ввода времени, что означает, что функция appendRow обнаружит эти строки как заполненные.и добавит значения в самый конец таблицы, создав большой разрыв между строками со значениями и без значений.
Нам нужно решение для решения этой проблемы, и мы публикуем, чтобы получитьлюбые возможные решения по этому поводу.
Таким образом, мы решили использовать метод getRange (), а затем setValue.С getRange мы подумали об использовании чего-то вроде создания сетки 1x1, в которой строка Index будет такой же, как и строка Index, как новая ячейка в конкретном столбце, в который мы хотим импортировать значения, и для столбцов мы можем просто выбрать столбец Index.Но вскоре мы поняли, что это все равно не удастся, так как appendRow в строке Index по-прежнему будет возвращать индекс строки самой последней строки в электронной таблице.
Следующим методом, который мы попробовали, было обнаружение любого "0:00:00 "в столбце длительности, затем получите соответствующий индекс строки и используйте эту строку индекса для установки значения в этой конкретной строке, используя getRange (), что опять не удалось.
for (var i = 0; i < sheet.getMaxRows()+1; i++ ){
if (sheet.getRange(i,4).getValue() === "0:00:00") {
sheet.getRange(i,1).setValue(datas.enterDate);
sheet.getRange(i,2).setValue(datas.enterStartTime);
sheet.getRange(i,3).setValue(datas.enterEndTime);
sheet.getRange(i,6).setValue(datas.enterFullName);
sheet.getRange(i,7).setValue(datas.enterCategory);
sheet.getRange(i,8).setValue(datas.enterActivity);
sheet.getRange(i,9).setValue(datas.enterLink);
break;
}
}
Ожидаемые результаты: как функцияспускаясь вниз по столбцу, он будет искать все ячейки, содержащие «0:00:00», и при этом он устанавливает значения с данными пользователей.
Вывод: ничего не отображается.