Я запускаю этот макрос в свои таблицы, но по какой-то причине формула MID возвращает #NAME? но если я сотру одно слово и снова запишу, он вернет правильное число. Я стер начало, чтобы поместиться здесь :)
function iOS() {
var spreadsheet = SpreadsheetApp.getActive();
[...]
spreadsheet.getRange('K2').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Página19'), true);
spreadsheet.getCurrentCell().setFormula('=MID(F2;(SEARCH(":";F2;(SEARCH("af_revenue";F2))))+1;LEN(G2))');
spreadsheet.getRange('K2').activate();
spreadsheet.getActiveRange().autoFill(spreadsheet.getRange('K2:L2'), SpreadsheetApp.AutoFillSeries.DEFAULT_SERIES);
spreadsheet.getActiveRange().autoFillToNeighbor(SpreadsheetApp.AutoFillSeries.DEFAULT_SERIES);
spreadsheet.getRange('K6').activate();
spreadsheet.getRange('F:K').activate();
spreadsheet.getRange('F:K').createFilter();
spreadsheet.getRange('H1').activate();
var criteria = SpreadsheetApp.newFilterCriteria()
.setHiddenValues(['', 'None'])
.build();
spreadsheet.getActiveSheet().getFilter().setColumnFilterCriteria(8, criteria);
spreadsheet.getRange('K32').activate();
var currentCell = spreadsheet.getCurrentCell();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Valores'), true);
spreadsheet.getRange('\'Página19\'!K32:K288').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
spreadsheet.getRange('E16').activate();
currentCell = spreadsheet.getCurrentCell();
spreadsheet.getSelection().getNextDataRange(SpreadsheetApp.Direction.DOWN).activate();
currentCell.activateAsCurrentCell();
spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});
spreadsheet.getRange('G2').activate();
currentCell = spreadsheet.getCurrentCell();
spreadsheet.getRange('G2:G3247').activate();
currentCell = spreadsheet.getCurrentCell();
spreadsheet.getSelection().getNextDataRange(SpreadsheetApp.Direction.UP).activate();
currentCell.activateAsCurrentCell();
spreadsheet.getRange('F2:F3').activate();
currentCell.activateAsCurrentCell();
spreadsheet.getRange('H2').activate();
spreadsheet.getRange('G2:G3248').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
spreadsheet.getRange('H2').activate();
currentCell = spreadsheet.getCurrentCell();
spreadsheet.getSelection().getNextDataRange(SpreadsheetApp.Direction.DOWN).activate();
currentCell.activateAsCurrentCell();
spreadsheet.getRange('H1').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
};
Я думаю, что макрос не запускает функцию, как должно быть, но я не знаю почему. Таким образом, остальные ячейки, в которых я должен работать с числами из формулы, в конце остаются пустыми. Мне нужна эта формула, потому что отчет, который я загружаю каждый день, приносит мне такие числа: «189.097.092.504.234.532 ...», а они мне нужны так: «189,097092505234532 ...» Если есть другая формула, которая подходит то же самое и работает с макросами, это мне очень поможет :)