Google Apps Script(GAS)のgetFilter()
メソッド、使いこなせてるかい? スプレッドシートのフィルタ機能を自動化できる便利なメソッドばってん、意外と知らん人も多かばい。 今回は、その基本から応用テクニックまでしっかり解説するばい!
getFilter()とは?
まず、getFilter()
メソッドは何をするものか? 簡単に言うと「指定した範囲のフィルタオブジェクトを取得する」ためのメソッドばい。
const sheet = SpreadsheetApp.getActiveSheet();
const range = sheet.getRange("A1:D100");
const filter = range.getFilter();
if (filter) {
console.log("フィルタが適用されてるばい!");
} else {
console.log("フィルタはまだ無かばい!");
}
これを使えば、スプレッドシートのフィルタ状態を確認できるとさ。
フィルタの基本ルール
フィルタ機能にはいくつかルールがあるばい。
- シートごとに1つのフィルタしか設定できん
- フィルタ範囲は連続したセル範囲であること
- フィルタを使えば、特定の条件に合うデータだけを表示できる
この基本を押さえておくと、スクリプトを組むときに迷わんじゃろ。
getFilter()の実践的な活用
1. 既存のフィルタをチェックする
function checkExistingFilter() {
const sheet = SpreadsheetApp.getActiveSheet();
const range = sheet.getRange("A1:D100");
const existingFilter = range.getFilter();
if (existingFilter) {
console.log(`既存フィルタ範囲: ${existingFilter.getRange().getA1Notation()}`);
} else {
console.log('フィルタは存在しません');
}
}
2. フィルタを削除して再設定する
function refreshFilter() {
const sheet = SpreadsheetApp.getActiveSheet();
const dataRange = sheet.getDataRange();
// 既存フィルタを削除
const oldFilter = dataRange.getFilter();
if (oldFilter) oldFilter.remove();
// 新規フィルタ作成
const newFilter = dataRange.createFilter();
}
3. フィルタ条件を動的に適用する
function applyDynamicFilters() {
const sheet = SpreadsheetApp.getActiveSheet();
const filter = sheet.getFilter() || sheet.getRange("A1:D").createFilter();
const criteria = SpreadsheetApp.newFilterCriteria()
.whenTextContains("重要")
.build();
filter.setColumnFilterCriteria(1, criteria);
}
まとめ
Google Apps ScriptのgetFilter()
を活用すれば、スプレッドシートのデータ管理がぐっと楽になるばい!
- 既存のフィルタを確認できる
- 不要なフィルタを削除して、新しく作成できる
- 条件付きフィルタを適用して、データを自動整理できる
こん方法ばマスターすれば、スプレッドシートの業務効率も爆上がり間違いなしじゃ!
コメント