業務でGoogleスプレッドシートをガントチャート的に使っていて、もう過ぎた日付の列を毎回手作業で非表示にするのがだるかったのでスクリプト書いた。
hide
function hide() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("hogehoge");
var column = 4;
var today = new Date();
while (column <= ss.getLastColumn()){
if(sheet.getRange(2, column).getValue() < (today.getTime()-(60*60*24*1000))){
var range = sheet.getRange(1, column);
sheet.hideColumn(range);
}
column++;
}
}
トリガーを毎朝5時に仕掛けたので、朝スプレッドシートを開くと昨日までの列は非表示になっている。快適。