こんにちは!今回は、Google Apps Script(GAS)を使って、スプレッドシートにフィルターを自動で適用する方法をご紹介します。パソコンやスマホの操作に不安がある方でも、安心して取り組める内容になっていますので、ぜひ最後までご覧ください。
フィルターを自動で設定するメリット
まず、GASを使ってスプレッドシートにフィルターを自動で適用すると、どんな良いことがあるのでしょうか?
- 毎回手動でフィルターを設定する手間が省ける
- 特定の条件に合ったデータだけを素早く表示できる
- データ更新時にフィルターを自動で再適用できる
- ミスなく、素早くデータを整理できる
- トリガーを使えば、毎朝自動的にフィルターをセットできる
これらのメリットを活かすことで、作業効率が格段にアップします!
GASでフィルターを自動適用する基本ステップ
次に、GASを使ってフィルターを自動で適用する基本的な手順をご紹介します。
- 対象のシートを取得する
- フィルタービューを作成する(または既存のフィルターを更新する)
- 条件を設定する(例ステータス列が「未完了」のみ表示する)
- トリガー設定で自動実行も可能にする
順番通り進めれば失敗しません!
実践編GASでフィルター自動適用をやってみよう!
それでは、実際にコードを書いて進めていきましょう!
ステップ1対象シートを取得する
まずは基本の準備。スプレッドシートから対象シートを取得します。
javascript
function applyFilter() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('タスク一覧');
// フィルターを削除してリセット(任意)
if (sheet.getFilter()) {
sheet.getFilter().remove();
}
// データ範囲全体を取得
const range = sheet.getDataRange();
// フィルターを適用
const filter = range.createFilter();
// 例C列(3列目)の値が「未完了」の行だけ表示する
filter.setColumnFilterCriteria(3, SpreadsheetApp.newFilterCriteria()
.whenTextEqualTo('未完了')
.build());
}
このスクリプトを実行すると、
- シート上にあるフィルターをリセット
- データ範囲に新たにフィルターを作成
- C列(3列目)に対して「未完了」だけ表示
という流れが自動で行われます!
ステップ2トリガーを設定して自動実行する
毎回手動でスクリプトを実行するのは面倒ですよね。そこで、GASのトリガー機能を使って、自動でスクリプトを実行するように設定しましょう。
javascript
function createTimeDrivenTriggers() {
ScriptApp.newTrigger('applyFilter')
.timeBased()
.everyDays(1) // 毎日実行
.atHour(9) // 午前9時に実行
.create();
}
このスクリプトを実行すると、毎日午前9時に`applyFilter`関数が自動で実行され、フィルターが適用されます。
よくある質問や疑問
Q1: フィルターを解除するにはどうすればいいですか?
フィルターを解除するには、以下のコードを実行します。
javascript
function removeFilter() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('タスク一覧');
if (sheet.getFilter()) {
sheet.getFilter().remove();
}
}
このスクリプトを実行すると、指定したシートのフィルターが解除されます。
Q2: フィルター条件を変更するにはどうすればいいですか?
フィルター条件を変更するには、`setColumnFilterCriteria`メソッドの引数を変更します。
javascript
filter.setColumnFilterCriteria(3, SpreadsheetApp.newFilterCriteria()
.whenTextEqualTo('完了')
.build());
このように、条件を変更することで、表示されるデータを変更できます。
まとめ
今回は、Google Apps Scriptを使ってスプレッドシートにフィルターを自動で適用する方法をご紹介しました。手動でフィルターを設定する手間を省き、業務の効率化を図ることができます。ぜひ、今回の内容を参考にして、実際の業務で活用してみてください。
他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。



コメント