Я использую надстройку (toTabs), которая разделяет лист данных на основе значения в столбце H. Он генерирует новый лист для каждого уникального значения в H2: H, а затем помещает фильтр () в ячейка A2 на каждом листе. Это прекрасно работает, за исключением того, что мой следующий шаг - экспортировать каждый лист в .csv, и мне нужно избавиться от H: H перед этим.
Я пытаюсь написать скрипт, который меняет каждый фильтр с От A2: H до A2: G и либо игнорирует остальную часть формулы, либо заменяет текст, который ищет фильтр, на имя листа, затем перебирает все листы, кроме указанных c листов. Я чувствую, что нахожусь на 95% пути, но l oop работает не совсем правильно. Вот что у меня есть:
function Loop() {
var ss = SpreadsheetApp.getActive();
var allsheets = ss.getSheets();
// Array holding the names of the sheets to exclude from the execution
var exclude = ["Raw Input","Remove Chuff","Filtered Input","Final Input","Data Values","blank","totabs"];
for(var s in allsheets){
var sheet = allsheets[s];
// Stop iteration execution if the condition is meet.
if(exclude.indexOf(sheet.getName())==-1) continue;
var cell = s.getRange("A2");
cell.setFormula('=Filter(\'Data Values\'!A2:G,\'Data Values\'!H2:H="'+ SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName() + '")');
s.getRange('H:H').activate();
s.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});
s.getRange('F:F').activate();
s.getActiveRangeList().setNumberFormat('00000');
}
}
Вот копия файла со всеми скрытыми вкладками. Любая помощь будет приветствоваться.