1functionmyFunc(){2var sheet =SpreadsheetApp.getActiveSpreadsheet().getSheetByName("シート1");3var range = sheet.getDataRange();45var oldFilter = sheet.getFilter();6if(oldFilter !==null){7var result =Browser.msgBox("すでにフィルタが適用されていますが、削除して続行しますか",Browser.Buttons.YES_NO);8if(result ==="no"){9return;10}else{11 oldFilter.remove();12}13}1415var filter = range.createFilter();1617// フィルタ内容の定義18var fArray =[];1920// データ規則とデータ規則範囲を追加していく21 fArray.push({"target":"C2","data":"'シート2'!$A$2:$A$4"});22 fArray.push({"target":"D2","data":"'シート2'!$B$2:$B$5"});2324var formula ="";25foreach(var ar in fArray){26if(formula ===""){27 formula +="=NOT(AND(";28}else{29 formula +=","30}31 formula += ar.target+"=IFERROR(VLOOKUP("+ ar.target+","+ ar.data+",1,FALSE),FALSE)"32}33 formula +="))";3435var filterCriteria =SpreadsheetApp.newFilterCriteria().whenFormulaSatisfied(formula);36 filter.setColumnFilterCriteria(1,filterCriteria);37}