すべてのシートに条件付き書式を適用してくれるGoogle Apps Scriptです。条件付き書式は便利ですが手動で設定するのは面倒なんですよね。
特にありません。今お使いのスプレッドシートに組み込めます。
このスクリプトは「データが入っているセル範囲」に対して条件付き書式を設定します。
そのため、条件付き書式を適用したいデータは先に入力しておいてください。
サンプルとして都道府県リストをシート1とシート2に用意しました。
上のメニューに有る「スクリプト実行」から「全シートに条件付き書式を適用する」を実行します。
ポップアップウィンドウに条件を入力します。「県」を含むセルを対象にしてみます。
少し待つと条件付き書式が適用がされます。県だけピンク色になりました。
条件付き書式が増えています。このスクリプトは既存の条件付き書式は消さずに、追加するだけです。
シート2にも適用されているようです。
わかりやすいようにデータの並びを変えておきました。
/**
* このスクリプトの説明、使い方はこちら。
* https://myfunc.jp/items/00060/index.html
*/
function onOpen() {
// スプレッドシートを開いたときに実行される関数
// UIの取得
const ui = SpreadsheetApp.getUi()
// メニューの表示名
const menu = ui.createMenu('スクリプト実行');
// メニューに追加するボタン
menu.addItem('全シートに条件付き書式を適用する', 'set_conditional_format_all_sheets');
// メニューを画面に追加する
menu.addToUi();
}
function set_conditional_format_all_sheets() {
// UIを取得
const ui = SpreadsheetApp.getUi();
// 現在開いているスプレッドシートを取得
const ss = SpreadsheetApp.getActiveSpreadsheet();
// スプレッドシートに存在するすべてのシートを取得
const sheets = ss.getSheets();
// 条件付き書式のキーワードを入力させる
const input = ui.prompt('キーワードを入力してください', ui.ButtonSet.OK_CANCEL);
// キャンセルが押されたらスクリプトを終了する
if (input.getSelectedButton() == ui.Button.CANCEL) {
return;
}
// キーワードを取り出す
const keyword = input.getResponseText();
// 1シートずつ条件付き書式をセットしていく
for (let i = 0; i < sheets.length; i++) {
// 条件付き書式をセットするのはシート内で現在使われている範囲
let range = sheets[i].getRange(1, 1, sheets[i].getLastRow(), sheets[i].getLastColumn());
// 条件付き書式のセット
let rule = SpreadsheetApp.newConditionalFormatRule()
.whenTextContains(keyword) //「テキストを含む」条件
.setBackground("#FFC0CB") //背景色をピンクにする
.setRanges([range]) //範囲は現在使われている範囲
.build(); //条件を確定
// 既存の条件付き書式のルールを取得する
let rules = sheets[i].getConditionalFormatRules();
// 既存のルールに今回作成したルールを追加
rules.push(rule);
// 既存と新規のルールを合わせてシートにセットする
sheets[i].setConditionalFormatRules(rules);
}
}
検索キーワードを全シートから探して、ヒットしたセル番地をまとめて表示するGoogle Apps Scriptです。標準の検索機能ではヒットしたセルが1個ずつ分かりますが、まとめて知りたくなったので作成しました。
すべてのシートのすべての条件付き書式を削除するGoogle Apps Scriptです。条件付き書式はシート単位で操作する必要があり、面倒なので作成しました。
スプレッドシートの全てのシートのデータを、1つのシートに集約するGoogle Apps Scriptです。各シートで列が揃っていないと使いにくいですが、思いつきで作ってみました。
いま開いているシート以外のすべてのシートを非表示にするGoogle Apps Scriptです。あまり見られたくない作業用シートがたくさんあるときにどうぞ。
全てのシートの行固定、列固定を解除するGoogle Apps Scriptです。ニーズはあんまりなさそうですが、思いつきで作ってみました。
どの列にフィルタ条件が設定されているのか教えてくれるGoogle Apps Scriptです。列が大量にあると、どこに条件がかかっているのか探すのが大変ですよね。
指定したフォルダにあるスプレッドシートをすべて連結するGoogle Apps Scriptです。生徒・受講者の課題をチェックするときに1ファイルずつ開くのは面倒で、1つのスプレッドシート(ブック)にまとめたくなったので作りました。
スプレッドシートの全てのシートを「保護」するGoogle Apps Scriptです。一時的にすべてのシートの更新を止めたい時などにどうぞ。
スプレッドシートに書き込まれた全ての「メモ」を削除するGoogle Apps Scriptです。思考の過程を隠したい時などにどうぞ。
シートの行もしくは列を固定するGoogle Apps Scriptです。ブック内のすべてのシートに対して動作します。