Я написал код, но проблема в том, что проверка точного соответствия означает, что если какой-то текст есть, но он в нижнем или верхнем регистре, то код не работает, пожалуйста, дайте решение.
мой код
function FilterScript() {
//CREATED BY PUNIT SINGHAL
//FOR ACTIVATING SPREADSHEETAPP
var spreadsheet = SpreadsheetApp.getActive();
//FOR SELECTING SHEET BY ITS NAME
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet1'), true);
//FOR CREATING FILTER
//FILTER SCRIPT STARTS FROM HERE
//EDIT THE FIELD AS PER REQUIREMENT
spreadsheet.getRange('A2:Q1002').activate();
spreadsheet.getRange('A2:Q1002').createFilter();
var filterColumn = 'L2:L1002'; //GIVE THE FILTER COLUMN RANGE OR 'F1:F'+spreadsheet.getActiveSheet().getLastRow();
var visibleValues = ['Punit','Kirti','']; //GIVE THE REQUIRED VISIBLE VALUES
//DON'T EDIT THE BELOW CODE OF FILTER
//FOR GETTING THE FILTER COLUMN NUMBER
var filterColumnNo = spreadsheet.getActiveSheet().getRange(filterColumn).getColumn();
//FOR GETTING FILTER COLUMN VALUES
var filterValues = spreadsheet.getActiveSheet().getRange(filterColumn).getValues();
//FOR GETTING HIDDEN VALUES
var hidden = getHiddenValueArray(filterValues,visibleValues);
//FOR BUILDING FILTER CRITERIA
var criteria = SpreadsheetApp.newFilterCriteria().setHiddenValues(hidden).build();
//FLATTENS AND STRIPS COLUMN VALUES OF ALL THE VALUES IN THE VISIBLE VALUE ARRAY
function getHiddenValueArray(colValueArr,visibleValueArr){
var flatUniqArr = colValueArr.map(function(e){return e[0];})
.filter(function(e,i,a){return (a.indexOf(e) == i && visibleValueArr.indexOf(e) == -1); }) //FOR HANDLING NUMERIC AND STRING VALUES
return flatUniqArr;
}
//FOR APPLYING FINAL STEP OF FILTER
spreadsheet.getActiveSheet().getFilter().setColumnFilterCriteria(filterColumnNo, criteria);
//FILTER SCRIPT ENDS AT HERE
}