【GAS】Google Apps Script 活用事例 条件付き書式を挿入するスクリプト
重複を判定する条件付き書式
=COUNTIF(A:A,A:A)>1
スクリプト全体
function onOpen(){
SpreadsheetApp.getUi()
.createMenu('追加メニュー')
.addItem('重複しているIDに色をつける条件付き書式を追加する', 'showDouble')
.addItem('closeになったら灰色にする条件付き書式を追加する', 'setBackColorsWhenClose')
.addToUi();
}
function showDouble(){
const format = '=COUNTIF(A:A,A:A)>1';
insertFormula_(format);
}
function setBackColorsWhenClose(){
const format = '=$A2="close"';
insertFormula_(format);
}
/**
* 選択している範囲に、上限付き書式を挿入する
* @param {string} 条件付き書式
*
*/
function insertFormula_(format) {
const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
const sheet = spreadsheet.getActiveSheet();
const activeRange = sheet.getActiveRange();
console.log(`アクティブなシート:${sheet.getName()}`);
console.log(`アクティブな範囲:${activeRange.getA1Notation()}`);
let rule;
switch(true){
case /.*COUNTIF.*/.test(format):
rule = SpreadsheetApp.newConditionalFormatRule()
.whenFormulaSatisfied(format)
.setBackground('#CFE2F3')//背景色を水色にする
.setRanges([activeRange])//範囲は現在使われている範囲
.build(); //条件を確定
break
case /.*close.*/.test(format):
rule = SpreadsheetApp.newConditionalFormatRule()
.whenFormulaSatisfied(format)
.setBackground('#999999')
.setRanges([sheet.getRange('A2:Z1000')])
.build();
break
default:
}
const rules = [];
rules.push(rule);
sheet.setConditionalFormatRules(rules);
}
特定の単語があったら行全体を灰色に着色する
=$A2="close"
2つの単語のうち、いずれかのキーワードを含む単語があったら着色する
=OR(REGEXMATCH($C2,"内定.*"),REGEXMATCH($C2,"オファー.*"))
この記事が気に入ったらサポートをしてみませんか?