Как установить цвет фона для возвращаемого значения пользовательской функции Google Sheets

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

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

какие-либо предложения?


person Maha Shawki    schedule 12.04.2017    source источник


Ответы (1)


Вам следует взглянуть на класс Range в setBackground(string ) или в setBackgroundRGB( int, int, int), который дает вам возможность раскрасить диапазон по вашему желанию.

Изменить: вот обходной путь для использования метода setBackground в вашем случае:

function onEdit(e) {

  var result = e.range.getValue();

  // Test your condition to change the color
  if(result > 3){

    var cell = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getActiveCell();
    cell.setBackground("red");

  }
}

Функция поставит красный фон для всех измененных значений, которые будут больше 3.

person Pierre-Marie Richard    schedule 12.04.2017
comment
Я добавил пример в свой ответ. - person Pierre-Marie Richard; 12.04.2017
comment
Спасибо, Пьер. Я вызываю функцию из ячейки, но не из OnEdit (e), возможно, в этом проблема, потому что, когда я пытался изменить номер ячейки, как вы предложили, это не сработало :( Вот моя функция function colorRow_() { try { / / var cell=SpreadsheetApp.getActiveSheet().getActiveCell().getColumn(); // var column=SpreadsheetApp.getActiveSheet().getActiveCell().getColumn(); var cell = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(). getActiveCell();cell.setBackground(красный);} catch(ошибка) { вернуть #ERROR!; } } - person Maha Shawki; 12.04.2017
comment
=iscompletetrack(B729,Teaching Enhancement) — вот как я вызываю функцию из ячейки, когда у меня есть условие как истинное, я вызываю colorRow_() - person Maha Shawki; 12.04.2017
comment
пользовательские функции не будут хорошо работать для таких случаев. - person Zig Mandel; 12.04.2017