Функция не запускается

Я пытаюсь использовать функцию, чтобы получить шестнадцатеричный код фона ячейки и объединить его с текстом, содержащимся в той же ячейке.

то есть в sht1.cell(A1) Я набираю "Привет" с красным фоном, я бы в sht2.cell(A1) следующий текст: "[#FF0000]Hello"

Я пытался это:

function getHexValue(range) {
return SpreadsheetApp.getActiveSheet().getRange(range).getBackground();
 }

но это не всегда работает, особенно если я делюсь файлом. Я пытался настроить некоторые триггеры, используя события редактирования, изменения или открытия, но id не обновляется, это то, что я пытался сделать.

Любое предложение?

Если я наберу: =gethexvalue("A5") Я получаю код цвета, если я набираю формулу в другую ячейку или другой лист и обновляю значения или перезагружаю лист, который не работает.

1 ответ

В вашей формуле =gethexvalue("A5"), "A5" - это текст, а не динамический диапазон.

Прочтите Как передать диапазон в пользовательскую функцию в таблицах Google? для полного обсуждения и 11 разных ответов. Это сам по себе возможный дубликат передачи ссылок на ячейки в функции электронных таблиц.

это =getHexValue(ADDRESS(ROW(A1), COLUMN(A1)))&A1 динамично Он вернется:

"# Ff0000Hello"

, Если вам нужен гекс в верхнем регистре, используйте UPPER с getHexvalue.

Другие вопросы по тегам