Условное форматирование в Google таблицах: можно ли использовать пользовательскую функцию в поле " пользовательская формула:"?

при применении условного форматирования в электронной таблице Google мне было интересно, можно ли использовать пользовательскую функцию, которую я создал через редактор сценариев в поле " пользовательская формула:". Вот что я сделал:--5-->

  1. пошел в "редактор сценариев" и набрал мой fn следующим образом:

    function foo (param1, param2, param3) {
      if (condition to check) {
        ...some action;
        return true;
      } else {
        return false;
      }
    }
    

    и спасли.

  2. в листе выделенные ячейки и открытый диалог "Условное форматирование"

  3. создал новое правило и в поле "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().

тест

чтобы проверить утверждение в коротком ответе, я создал следующее:

  1. создать простую пользовательскую функцию
function two() {
  return 2;
}
  1. добавьте пользовательскую функцию как часть пользовательской формулы на стороне условного форматирования панель
=two()=2

результат: Ничего не изменилось.

ссылки