概要
登録した何とかID一覧をスプレッドシートから取り除きたいという場合に使える小技。
手順
まず、main
タブにフィルタさせたいスプレッドシートを用意。
また、A列がフィルタの材料となる列にする。
次にhiddenValueList
タブを用意。A列に非表示にしたい値を並べる。
そしてGoogle Apps Scriptから次のスニペットを実行
※ Sheets APIを利用するので事前にサービスを追加しておく。
function myFunction() {
const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
const hiddenValueList = spreadsheet.getSheetByName('hiddenValueList');
const hiddenIds = hiddenValueList.getRange(1, 1, hiddenValueList.getLastRow()).getValues().flat();
const main = spreadsheet.getSheetByName('main');
var filterSet,columnIndex,request
filterSet = {};
filterSet.range = {
sheetId:main.getSheetId()
};
filterSet.criteria = {};
columnIndex = 0;
filterSet['criteria'][columnIndex]={
'hiddenValues':hiddenIds
};
request = {
"setBasicFilter": {
"filter": filterSet
}
};
Sheets.Spreadsheets.batchUpdate({'requests': [request]}, spreadsheet.getId());
}
実行結果は下記。
みそ
ととんこつ
が非表示になっている。
参考
Google apps script でfilterをかける方法|Sheet APIと連携したら上手くいった