Вдохновленный этой статьей Бена Коллинза, я решил сделать свою версию Radio Buttons в Google Sheets, более похожую на те, что мы видим на традиционном веб-сайте.

Оглавление

  • Конечный продукт
  • Условное форматирование
  • Код

Конечный продукт

Вот результат, мы видим, что галочек 2 и выбрать можно только по одной.

Вы можете использовать это, например, для фильтров на панели инструментов.

Условное форматирование

Первое, что вам нужно сделать, это установить форматирование, когда ячейка отмечена или не отмечена.

В этом случае вы будете отмечать синим цветом, когда они отмечены флажком.

Совет: флажки имеют значения, если они отмечены, значение будет ИСТИНА, если не ЛОЖЬ.

Таким образом, вы можете видеть, что правило форматирования заключается в том, что значение ячейки равно TRUE.

Код

function onEdit(e) {
let ss = SpreadsheetApp.getActiveSpreadsheet();
let sheet = ss.getSheetByName('Пример радиокнопки');

let range = e. диапазон
let col = range.columnStart;
let row = range.rowStart;

let yes = col == 2 && row == 5;
let no = col == 3 && row == 5;

if(yes && sheet.getRange(row,col).isChecked()){
sheet.getRange(5,3). uncheck();
}
if(no && sheet.getRange(row,col).isChecked()){
sheet.getRange(5,2).uncheck();
}

}

Код работает с триггером onEdit(), что означает, что скрипт захватывает объект и выполняет действие каждый раз, когда кто-то изменяет электронную таблицу.

В этом случае вы сначала фиксируете столбец и строку, в которых производится модификация.

Затем вы спросите: измененная ячейка — одна из тех, что в кнопке переключения? Если ответ ДА ​​››› Значение ИСТИННО? Если ответ ДА ​​››› Снимите флажок рядом с ячейкой.

Ищете формулы? Вот шаблон

Ищете другие решения для рабочих процессов G Suite? Ознакомьтесь с галереей шаблонов

Нужна помощь в автоматизации электронной таблицы? Свяжитесь с нами