Условное форматирование в Google таблицах: можно ли использовать пользовательскую функцию в поле " пользовательская формула:"?
при применении условного форматирования в электронной таблице Google мне было интересно, можно ли использовать пользовательскую функцию, которую я создал через редактор сценариев в поле " пользовательская формула:". Вот что я сделал:--5-->
-
пошел в "редактор сценариев" и набрал мой fn следующим образом:
function foo (param1, param2, param3) { if (condition to check) { ...some action; return true; } else { return false; } }
и спасли.
в листе выделенные ячейки и открытый диалог "Условное форматирование"
-
создал новое правило и в поле "custom formula is:" введите следующее
=foo(param1, param2, param3)
к сожалению, это не сработало.
дополнение
здесь образец листа...
вижу две задачи. Моя цель-автоматически записать "название задачи" внутри желтого поля (см. задачу в строке 6, где я ввел значение вручную).
что я уже попробовал:
- Назначить каждой ячейке в диапазон H5:BB7
следующей формуле: =if(H=D5; B5; "")
Это проверяет, равна ли дата начала дате ячейки и отображает заголовок задачи.
Это делает трюк, однако содержимое ячейки с заголовком задачи обрезается, даже если "переполнение" включено, потому что следующая ячейка не пуста.
1 ответов
короткий ответ:
пользовательская функция не может использоваться как часть пользовательской формулы во встроенном пользовательском интерфейсе условного форматирования Google Таблиц.
объяснение
в Google Таблицах a custom function
- это как встроенные функции электронной таблицы, но написанные пользователем с помощью редактора сценариев Google Apps. Они не могут изменять другие объекты, возвращая только одно или несколько значений.
С другой стороны, пользовательская функция вычисляется только тогда, когда она добавляется в ячейку или при изменении хотя бы одного из ее параметров. Они не могут использовать недетерминированные функции в качестве параметров, таких как NOW (), TODAY (), RAND() и RANDBETWEEN().
тест
чтобы проверить утверждение в коротком ответе, я создал следующее:
- создать простую пользовательскую функцию
function two() { return 2; }
- добавьте пользовательскую функцию как часть пользовательской формулы на стороне условного форматирования панель
=two()=2
результат: Ничего не изменилось.