Скрипт на гугл листе для фильтрации указанного c имени - PullRequest
0 голосов
/ 22 апреля 2020

нужна помощь со скриптом на листах Google

У меня возникли проблемы при попытке использовать " setVisibleValues ​​", и я получил сообщение об ошибке " Исключение: видимые значения в настоящее время не поддерживаются. В качестве альтернативы укажите список скрытых значений, исключающий значения, которые должны быть видны.". Но моя проблема в том, что в списке есть огромное количество имен сотрудников, и я хочу фильтровать только по одному человеку.

Я не могу показать некоторую информацию, но дело в том, что я просто хочу фильтровать одно значение, и я не знаю, как это сделать, используя « setHiddenValues ​​».

function Filtersheet() {

  var spreadsheet = SpreadsheetApp.getActive();

  spreadsheet.getRange('A3:S').activate();

  spreadsheet.getRange('H3').activate();

  var criteria = SpreadsheetApp.newFilterCriteria()

  .setHiddenValues([''])

  var criteria = SpreadsheetApp.newFilterCriteria()

  .setVisibleValues(['tayzer'])

  .build();

  spreadsheet.getActiveSheet().getFilter().setColumnFilterCriteria(8, criteria);

}

Допустим, имена сотрудников: jorge, lucas, nuno, fernando , marta, beatriz, tayzer, larissa, и я хочу использовать скрипт фильтра, чтобы показывать в столбце только информацию, относящуюся к tayzer

Но мой способ изменить сотрудника фильтра будет включен ячейка вне сценария (потому что у меня около 200 сотрудников)

Заранее спасибо за помощь

1 Ответ

1 голос
/ 23 апреля 2020

попробуйте это

function setFilter() {
// replace 'sheet name' with you sheet
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('sheet name');
var range = ss.getDataRange();
var filter = range.getFilter() || range.createFilter()
var criteria = SpreadsheetApp.newFilterCriteria().whenTextContains('tayzer');
filter.setColumnFilterCriteria(8, criteria);
}

, если я не ошибаюсь, если вы поместите "jorge" в ячейку C_4, вы хотите, чтобы он фильтровал "jorge" в столбце E, если это так, попробуйте следующий код.

function setFilter() {
// replace 'sheet name' with you sheet
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('sheet name');
var range = ss.getDataRange();
var filter = range.getFilter() || range.createFilter()
var criteria = SpreadsheetApp.newFilterCriteria().whenTextContains(ss.getRange('C4').getValue()).build();
filter.setColumnFilterCriteria(8,criteria)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...