I have a script that works fine
function setFilter() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var filterSettings = {};
filterSettings.range = {sheetId: ss.getSheetByName("mySheet").getSheetId()};
filterSettings.criteria = {};
filterSettings['criteria'][4] = {
'hiddenValues': ["FALSE"]
};
var request = {
"setBasicFilter": {
"filter": filterSettings
}
};
Sheets.Spreadsheets.batchUpdate({'requests': [request]}, ss.getId());
}
with in column E
={"test";arrayformula(if(B2:B="",,not(iserror(find("mike",B2:B)))))}
'textContains': ['mike']
but that doesn't workYou have to define TEXT_CONTAINS
under field condition
.
Replace this:
filterSettings['criteria'][4] = {
'hiddenValues': ["FALSE"]
};
With this:
filterSettings['criteria'][1] = {
"condition": {
"type": "TEXT_CONTAINS",
"values": [
{
"userEnteredValue": "mike"
}
]
}
};
criteria
is deprecated, consider using filterSpecs instead.