Google スプレッドシートで指定の列から特定の単語を含むセルの色を変える方法を紹介します。
色の変更にはGoogle Apps Script(GAS)を使用することで自動化することができます。
Google Apps Script とは
Google Apps Script(GAS)は、Googleが提供するJavaScriptベースのスクリプト言語です。
これを使うと、Google ドキュメント、スプレッドシート、GoogleフォームなどのGoogle Workspaceアプリをカスタマイズおよび自動化することができます。
スプレッドシートにスクリプトエディタを追加する手順
以下の手順に従い、Google スプレッドシートにスクリプトエディタを追加します。
1.Google スプレッドシートを開く
まずは、Google スプレッドシートを開きます。
Google Chromeを開いて右上に表示されるGoogle アプリのアイコンを左クリックします。
そして、Google アプリ一覧から「スプレッドシート」を選択します。
編集したいスプレッドシートを選択して開きます。
2.スクリプトエディタを開く
メニューバーの「拡張機能」を左クリックし、「Apps Script」を選択します。
「Apps Script」を選択すると、スクリプトエディタが新しいタブで開きます。
特定の文字を含むセルの色を変えるスクリプトの作成
次に、特定の単語を含むセルの色を自動で変更するスクリプトを作成します。
このスクリプトを使えば、スプレッドシート内のすべてのセルをチェックし、指定した文字列を含むセルの背景色を自動で変更できます。
1.スクリプトを作成する
新しいタブでスクリプトエディタを開いたら、以下のスクリプトをコピーして貼り付けます。
そして、プロジェクトを保存します。
function highlightCells() {
// アクティブなスプレッドシートを取得
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var keyword = "特定のキーワード"; // 色を変えたいキーワードをここに入力します
// シート全体の範囲を取得
var range = sheet.getDataRange();
// 範囲内の全データを取得
var values = range.getValues();
// 範囲内のセルを1つずつチェック
for (var i = 0; i < values.length; i++) {
for (var j = 0; j < values[i].length; j++) {
if (values[i][j].toString().indexOf(keyword) !== -1) {
// 指定された文字を含むセルの背景色を変更
sheet.getRange(i+1, j+1).setBackground("yellow");
}
}
}
}
2.キーワードを設定する
スクリプト内3行目の var keyword = "特定のキーワード";
の keyword
変数に、自分が指定したい単語を指定します。
今回は"特定のキーワード"
の部分を"hat"
に置き換えます。
3.スクリプトを実行する
スクリプトエディターのメニューバーで「highlightCells」が選択されていることを確認し、画面上部の「実行」ボタンを左クリックします。
初めて実行する際には、スクリプトに対する権限の承認が求められる場合がありますので、承認してください。
「このアプリは Google で確認されていません」と表示された場合は左下の詳細をクリックすると、「無題のプロジェクト(安全ではないページ)に移動」というリンクが表示されます。
このリンクをクリックすると次のページへ遷移できます。
4.実行結果を確認する
スクリプトが正常に実行されると、指定したキーワードを含むセルが指定した色(ここでは黄色)に変わります。
注意事項
- 色の変更:
スクリプト内の"yellow"
を他の色名(例:"red"
)や16進数カラーコード(例:"#FF0000"
)に変更することで、好みの色に設定できます。 - 列の指定:
スクリプトを実行すると、指定した文字を含むセルのみ色が変更されます。
特定の文字を含む行全体の色を変更したい場合は、こちらの記事を参考にスクリプトを変更してください。
まとめ
以上の方法で、Google Apps Script を使用して特定の文字を含むセルの色を変えることができます。
Google Apps Script を活用することで、大量のデータの中から特定の情報を素早く視覚化することができるので、とても便利です。
ぜひ、ご自身のスプレッドシートで試してみてください。
コメント