Создание функции для гугл таблиц на JS
Нужно создать особую пользовательскую функцию для гугл таблиц.
У гугла есть Google Script, утилита для написания кода, например функций для таблиц, она работает на JS. Вроде функция была дописана, но в самих таблицах она не работает. Не выдаёт даже ошибки, просто пустая клеточка. Может кто знает как пофиксить, буду очень благодарен. Ниже прилагаю скриншоты и сам код. ![]() ![]() function EmsOnline (a, b, c, d) { var f; f = (((c*60)+d)-((a*60)+b)); if (f % 60 >= 0.5) { EmsOnline == (f+(1-(f%60))) } if (f % 60 < 0.5) { EmsOnline == (f-(f%60)) } } P.S. Для лучшего понимания вопроса объясню. Функция рассчитывает время, которое человек находиться на сервере, таблица используется как график дежурств, a:b - ЧасНачала:МинутыНачала дежурства, c:d - ЧасОкончания:МинутыОконча ия дежурства, функция должна переводить часы в минуты, рассчитывать сколько минут человек находился на сервере, переводить эти минуты в часы, и округлять то кол-во времени, в часах, по правилам округления математики. Округлённое кол-во часов должно выводиться в клеточку. |
EmsOnline == (f+(1-(f%60)))
тут точно сравнение??? как бы функция итак ничего не возвращает. |
Цитата:
Но поставить == или даже =, всё равно не работает ;( +не разбираюсь в проф.сленге, в названиях операторов и во всём таком вообще нисколько |
думаю эта задача под силам excel без всякого js. какой должен быть результат?
|
Цитата:
Конечный результат - сокращение формулы =Round((((b*60)+c)-((a*60)+b))/60) до одной функции, для удобства. О том что делает эта формула писал в теме. |
function EmsOnline (a, b, c, d) { var f = (c*60+d)-(a*60+b); return f % 60 >= 0.5? f+(1-(f%60)):f-(f%60); } alert(EmsOnline(14, 30, 16, 40)); вот функция, как интегрируются подсказать не смогу, не пользовался сервисом. |
Цитата:
ReferenceError: Объект "alert" не определен. (строка 6, файл Код) ![]() |
function EmsOnline (a, b, c, d) { var f = (c*60+d)-(a*60+b); return f % 60 >= 0.5? f+(1-(f%60)):f-(f%60); } =EmsOnline(a16, b16, c16, d16); alert был для демонстрации |
![]() :-? |
EmsOnline(a16, b16, c16, d16);
без = попробуйте |
Часовой пояс GMT +3, время: 19:45. |