var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("시트명");
// A4부터 F4까지의 검색 값 배열 생성
var searchValues = [];
for (var i = 1; i <= 6; i++) {
searchValues.push(sheet.getRange(4, i).getValue());
}
var range = sheet.getRange("A7:X" + sheet.getLastRow());
// 필터링을 해제합니다.
if (sheet.getFilter() != null) {
sheet.getFilter().remove();
}
// 검색 값이 있는 열에 대해 필터 기준을 설정합니다.
var filterCriteria = [];
for (var i = 0; i < searchValues.length; i++) {
if (searchValues[i] !== "") {
filterCriteria.push(SpreadsheetApp.newFilterCriteria().whenTextContains(searchValues[i]).build());
} else {
filterCriteria.push(null); // 값이 비어 있을 경우 null을 추가
}
생각보다 어려웠는데 간단하게 해결하였다.
만들어진 함수는 onedit에 삽입하면 자동으로 작동한다.
function onEdit(e) {
var sheet = e.source.getSheetByName("시트명");
var range = e.range;
if (range.getA1Notation() == "A4" || range.getA1Notation() == "B4" || range.getA1Notation() == "C4" || range.getA1Notation() == "D4" || range.getA1Notation() == "E4" || range.getA1Notation() == "F4") {
자동필터함수명();
}