Скріпт, Макрос для google sheets доступ у всіх книгах
Завдання. Є 30 гугл таблиць з данними. Є макрос який створює 4 зведени таблиці Небхідного формату.
Задача зробити можливим запуск данного скрипта у всіх таблицях.
Переписати скрипт який був записаний як макрос і що вказано нижче,
щоб він був виконаний для кожної таблиці в певній папці на Google Диск
і результатом був такий самий як у прикладі. Приклад резултату скрипта https://docs.google.com/spreadsheets/d/18iAH6Q6nhx4Ph6yxytofYgSm4lIf7RuaeXU9m7FdzYM/edit?usp=sharing
Створено 3 нових аркуша, з трьома зведеними таблицями різного формату.
Скрипт буде запускатися з AppsScript. (або інакше, якщо є більш простий варіант)
В папці тільки гугл таблиці. Всі таблиці мають однаковий формат., однакову назву першого листа для обробки.
Скрипт який треба переписати :
var spreadsheet = SpreadsheetApp.getActive();
var sheet = spreadsheet.getActiveSheet();
sheet.getRange(1, 1, sheet.getMaxRows(), sheet.getMaxColumns()).activate();
var sourceData = spreadsheet.getRange('1:1000');
spreadsheet.insertSheet(spreadsheet.getActiveSheet().getIndex() + 1).activate();
spreadsheet.getActiveSheet().setHiddenGridlines(true);
var pivotTable = spreadsheet.getRange('A1').createPivotTable(sourceData);
pivotTable = spreadsheet.getRange('A1').createPivotTable(sourceData);
var pivotGroup = pivotTable.addRowGroup(11);
pivotTable = spreadsheet.getRange('A1').createPivotTable(sourceData);
var pivotValue = pivotTable.addPivotValue(32, SpreadsheetApp.PivotTableSummarizeFunction.SUM);
pivotGroup = pivotTable.addRowGroup(11);
pivotTable = spreadsheet.getRange('A1').createPivotTable(sourceData);
pivotValue = pivotTable.addPivotValue(32, SpreadsheetApp.PivotTableSummarizeFunction.SUM);
pivotGroup = pivotTable.addRowGroup(11);
pivotGroup.sortBy(pivotTable.getPivotValues()[0], []);
pivotTable = spreadsheet.getRange('A1').createPivotTable(sourceData);
pivotValue = pivotTable.addPivotValue(32, SpreadsheetApp.PivotTableSummarizeFunction.SUM);
pivotGroup = pivotTable.addRowGroup(11);
pivotGroup.sortDescending()
.sortBy(pivotTable.getPivotValues()[0], []);
spreadsheet.getRange('B:B').activate();
spreadsheet.getActiveRangeList().setNumberFormat('#,##0.00')
.setNumberFormat('#,##0.0')
.setNumberFormat('#,##0');
spreadsheet.getRange('A3').activate();
spreadsheet.getActiveSheet().setColumnWidth(1, 609);
spreadsheet.getRange('A:A').activate();
spreadsheet.getActiveRangeList().setWrapStrategy(SpreadsheetApp.WrapStrategy.WRAP);
spreadsheet.getActiveSheet().setName('Зведена по Клієнтам');
spreadsheet.duplicateActiveSheet();
spreadsheet.getActiveSheet().setName('Зведена по Клієнтам/Товарам');
pivotTable = spreadsheet.getRange('A1').createPivotTable(sourceData);
pivotValue = pivotTable.addPivotValue(32, SpreadsheetApp.PivotTableSummarizeFunction.SUM);
pivotGroup = pivotTable.addRowGroup(11);
pivotGroup.sortDescending()
.sortBy(pivotTable.getPivotValues()[0], []);
pivotGroup = pivotTable.addRowGroup(27);
pivotTable = spreadsheet.getRange('A1').createPivotTable(sourceData);
pivotValue = pivotTable.addPivotValue(32, SpreadsheetApp.PivotTableSummarizeFunction.SUM);
pivotGroup = pivotTable.addRowGroup(11);
pivotGroup.sortDescending()
.sortBy(pivotTable.getPivotValues()[0], []);
pivotGroup = pivotTable.addRowGroup(27);
pivotGroup.sortDescending();
pivotTable = spreadsheet.getRange('A1').createPivotTable(sourceData);
pivotValue = pivotTable.addPivotValue(32, SpreadsheetApp.PivotTableSummarizeFunction.SUM);
pivotGroup = pivotTable.addRowGroup(11);
pivotGroup.sortDescending()
.sortBy(pivotTable.getPivotValues()[0], []);
pivotGroup = pivotTable.addRowGroup(27);
pivotGroup.sortDescending()
.sortBy(pivotTable.getPivotValues()[0], []);
pivotTable = spreadsheet.getRange('A1').createPivotTable(sourceData);
pivotValue = pivotTable.addPivotValue(32, SpreadsheetApp.PivotTableSummarizeFunction.SUM);
pivotGroup = pivotTable.addRowGroup(11);
pivotGroup.sortDescending()
.sortBy(pivotTable.getPivotValues()[0], []);
pivotGroup = pivotTable.addRowGroup(27);
pivotGroup.sortDescending()
.sortBy(pivotTable.getPivotValues()[0], []);
pivotGroup = pivotTable.addRowGroup(30);
pivotTable = spreadsheet.getRange('A1').createPivotTable(sourceData);
pivotValue = pivotTable.addPivotValue(32, SpreadsheetApp.PivotTableSummarizeFunction.SUM);
pivotGroup = pivotTable.addRowGroup(11);
pivotGroup.sortDescending()
.sortBy(pivotTable.getPivotValues()[0], []);
pivotGroup = pivotTable.addRowGroup(27);
pivotGroup.sortDescending()
.sortBy(pivotTable.getPivotValues()[0], []);
pivotTable = spreadsheet.getRange('A1').createPivotTable(sourceData);
pivotValue = pivotTable.addPivotValue(32, SpreadsheetApp.PivotTableSummarizeFunction.SUM);
pivotValue = pivotTable.addPivotValue(30, SpreadsheetApp.PivotTableSummarizeFunction.SUM);
pivotGroup = pivotTable.addRowGroup(11);
pivotGroup.sortDescending()
.sortBy(pivotTable.getPivotValues()[0], []);
pivotGroup = pivotTable.addRowGroup(27);
pivotGroup.sortDescending()
.sortBy(pivotTable.getPivotValues()[0], []);
pivotTable = spreadsheet.getRange('A1').createPivotTable(sourceData);
pivotValue = pivotTable.addPivotValue(32, SpreadsheetApp.PivotTableSummarizeFunction.SUM);
pivotValue = pivotTable.addPivotValue(30, SpreadsheetApp.PivotTableSummarizeFunction.SUM);
pivotValue = pivotTable.addPivotValue(31, SpreadsheetApp.PivotTableSummarizeFunction.SUM);
pivotGroup = pivotTable.addRowGroup(11);
pivotGroup.sortDescending()
.sortBy(pivotTable.getPivotValues()[0], []);
pivotGroup = pivotTable.addRowGroup(27);
pivotGroup.sortDescending()
.sortBy(pivotTable.getPivotValues()[0], []);
pivotTable = spreadsheet.getRange('A1').createPivotTable(sourceData);
pivotValue = pivotTable.addPivotValue(32, SpreadsheetApp.PivotTableSummarizeFunction.SUM);
pivotValue = pivotTable.addPivotValue(30, SpreadsheetApp.PivotTableSummarizeFunction.SUM);
pivotValue = pivotTable.addPivotValue(31, SpreadsheetApp.PivotTableSummarizeFunction.AVERAGE);
pivotGroup = pivotTable.addRowGroup(11);
pivotGroup.sortDescending()
.sortBy(pivotTable.getPivotValues()[0], []);
pivotGroup = pivotTable.addRowGroup(27);
pivotGroup.sortDescending()
.sortBy(pivotTable.getPivotValues()[0], []);
spreadsheet.getActiveSheet().setColumnWidth(1, 282);
spreadsheet.getActiveSheet().setColumnWidth(1, 222);
spreadsheet.getActiveSheet().setColumnWidth(2, 301);
spreadsheet.getRange('D:D').activate();
spreadsheet.getActiveRangeList().setNumberFormat('#,##0.00')
.setNumberFormat('#,##0.0');
spreadsheet.getRange('C:C').activate();
spreadsheet.getActiveRangeList().setNumberFormat('#,##0.00')
.setNumberFormat('#,##0.0')
.setNumberFormat('#,##0');
spreadsheet.getRange('E:E').activate();
spreadsheet.getActiveRangeList().setNumberFormat('#,##0.00')
.setNumberFormat('#,##0.0')
.setNumberFormat('#,##0');
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Зведена по Клієнтам'), true);
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Зведена по Клієнтам/Товарам'), true);
spreadsheet.duplicateActiveSheet();
spreadsheet.getActiveSheet().setName('Зведена по Товарам');
spreadsheet.getRange('B5').activate();
pivotTable = spreadsheet.getRange('A1').createPivotTable(sourceData);
pivotValue = pivotTable.addPivotValue(32, SpreadsheetApp.PivotTableSummarizeFunction.SUM);
pivotValue = pivotTable.addPivotValue(30, SpreadsheetApp.PivotTableSummarizeFunction.SUM);
pivotValue = pivotTable.addPivotValue(31, SpreadsheetApp.PivotTableSummarizeFunction.AVERAGE);
pivotGroup = pivotTable.addRowGroup(27);
pivotGroup.sortDescending()
.sortBy(pivotTable.getPivotValues()[0], []);
pivotTable = spreadsheet.getRange('A1').createPivotTable(sourceData);
pivotValue = pivotTable.addPivotValue(32, SpreadsheetApp.PivotTableSummarizeFunction.SUM);
pivotValue = pivotTable.addPivotValue(30, SpreadsheetApp.PivotTableSummarizeFunction.SUM);
pivotValue = pivotTable.addPivotValue(31, SpreadsheetApp.PivotTableSummarizeFunction.AVERAGE);
pivotValue = pivotTable.addPivotValue(5, SpreadsheetApp.PivotTableSummarizeFunction.COUNTA);
pivotGroup = pivotTable.addRowGroup(27);
pivotGroup.sortDescending()
.sortBy(pivotTable.getPivotValues()[0], []);
pivotTable = spreadsheet.getRange('A1').createPivotTable(sourceData);
pivotValue = pivotTable.addPivotValue(32, SpreadsheetApp.PivotTableSummarizeFunction.SUM);
pivotValue = pivotTable.addPivotValue(30, SpreadsheetApp.PivotTableSummarizeFunction.SUM);
pivotValue = pivotTable.addPivotValue(31, SpreadsheetApp.PivotTableSummarizeFunction.AVERAGE);
pivotValue = pivotTable.addPivotValue(5, SpreadsheetApp.PivotTableSummarizeFunction.COUNTUNIQUE);
pivotGroup = pivotTable.addRowGroup(27);
pivotGroup.sortDescending()
.sortBy(pivotTable.getPivotValues()[0], []);
spreadsheet.getActiveSheet().setColumnWidth(2, 169);
spreadsheet.getActiveSheet().setColumnWidth(1, 492);
spreadsheet.getActiveSheet().setColumnWidth(3, 67);
spreadsheet.getActiveSheet().setColumnWidth(4, 82);
pivotTable = spreadsheet.getRange('A1').createPivotTable(sourceData);
pivotValue = pivotTable.addPivotValue(32, SpreadsheetApp.PivotTableSummarizeFunction.SUM);
pivotValue = pivotTable.addPivotValue(30, SpreadsheetApp.PivotTableSummarizeFunction.SUM);
pivotValue = pivotTable.addPivotValue(5, SpreadsheetApp.PivotTableSummarizeFunction.COUNTUNIQUE);
pivotValue = pivotTable.addPivotValue(31, SpreadsheetApp.PivotTableSummarizeFunction.AVERAGE);
pivotGroup = pivotTable.addRowGroup(27);
pivotGroup.sortDescending()
.sortBy(pivotTable.getPivotValues()[0], []);
pivotTable = spreadsheet.getRange('A1').createPivotTable(sourceData);
pivotValue = pivotTable.addPivotValue(5, SpreadsheetApp.PivotTableSummarizeFunction.COUNTUNIQUE);
pivotValue = pivotTable.addPivotValue(32, SpreadsheetApp.PivotTableSummarizeFunction.SUM);
pivotValue = pivotTable.addPivotValue(30, SpreadsheetApp.PivotTableSummarizeFunction.SUM);
pivotValue = pivotTable.addPivotValue(31, SpreadsheetApp.PivotTableSummarizeFunction.AVERAGE);
pivotGroup = pivotTable.addRowGroup(27);
pivotGroup.sortDescending()
.sortBy(pivotTable.getPivotValues()[1], []);
spreadsheet.getActiveSheet().setColumnWidth(2, 78);
Актуальні фриланс-проєкти в категорії Javascript та Typescript
Комерційна on-premise платформа відеозв'язку «ViM»Требуется разработати on-premise систему відеозв'язку з базовим розрахунком на 100 одночасних підключень (10 ізольованих кімнат по 10 осіб). Платформа повинна мати закладену архітектуру для майбутнього горизонтального масштабування до 1000 користувачів шляхом додавання нових… Javascript та Typescript, Веб-програмування ∙ 9 годин 24 хвилини тому ∙ 22 ставки |
Шукаю наставника з Claude Code для запуску веб-проєкту з нуля**Коротко про завдання:** Я новачок без досвіду в програмуванні. Є готове ТЗ на розробку сайту (42 сторінки, Next.js, PostgreSQL). Хочу реалізувати його самостійно за допомогою Claude Code - потрібен спеціаліст, який налаштує середовище і навчить мене працювати з інструментом.… Javascript та Typescript, Навчання ∙ 1 день 13 годин тому ∙ 18 ставок |
Оновлення дизайну на сайтіПотрібно оновити дизайн існуючого сайту, використовуючи HTML, CSS, JS: освіжити зовнішній вигляд, зробити його сучасним і адаптивним під мобільні пристрої. Потрібно додати плавні анімації та інтерактивні елементи. HTML та CSS верстання, Javascript та Typescript ∙ 2 дні 6 годин тому ∙ 89 ставок |
Консультація та аудит поточного проєкту на Odoo 19 Community EditionШукаємо Odoo Developer — соло-розробника з досвідом розробки на Odoo 19 Community Edition, у тому числі за допомогою Claude Code. Нам потрібен спеціаліст, який має успішно реалізовані проєкти в Odoo та практичний досвід розробки з використанням Claude Code. Важливо: розглядаємо… C та C++, Javascript та Typescript ∙ 2 дні 12 годин тому ∙ 7 ставок |
Інтернет-магазину одягуПотрібен розробник для інтернет-магазину одягу Шукаю досвідченого розробника для створення повноцінного інтернет-магазину одягу з дроп-моделлю продажу. Що потрібно зробити: 6 сторінок: головна, товар, кошик, оформлення, акаунт, адмін панель Вхід через Google акаунт Кошик і… HTML та CSS верстання, Javascript та Typescript ∙ 4 дні 9 годин тому ∙ 101 ставка |