Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- 🚀 Заказы (Таблицы, боты и скрипты): @namokonov, @renat_shagabutdinov
- ✅ Канал о Таблицах: https://t.me/google_sheets
- ✅ Чат: https://t.me/google_spreadsheets_chat
- ✅ Оглавление канала: https://goo.gl/HdS2qn
- ✅ Наша книга: https://clck.ru/LAPso
- Друзья, хотите узнать, почему тормозит ваша Таблица?
- Хотите понять, какие в ней используются формулы и на каких они листах?
- Простой скрипт для вас. Введите в ячейку B2 ссылку на Таблицу, нажмите на выходца из убежища и скрипт сформирует для вас список всех формул Таблицы, добавив листы, на которых они находятся.
- Таблица со скриптом: https://docs.google.com/spreadsheets/d/1tQwHzLtQlGaOmfUIX4jt-02YHa-w5KTx1XYZ7UVsy-0/edit#gid=0
- (делайте копию, чтобы сохранить её себе и запускать скрипты)
- */
- function GETFORMULAS(){
- const sheet = SpreadsheetApp.getActiveSheet();
- const url = sheet.getRange("b1").getValue();
- const ss = SpreadsheetApp.openByUrl(url);
- const sheets = ss.getSheets();
- var arr = [];
- //цикл по листам
- for(var sh in sheets){
- var shName = sheets[sh].getName();
- //берем только формулы
- var data = sheets[sh].getDataRange().getFormulas();
- //цикл по столбцам
- for(var i = 0; i<data[0].length; i++){
- //цикл по строкам
- for(var j = 0; j<data.length; j++){
- var cell = data[j][i];
- var eq = cell.search(/\)/);
- eq !== -1 ? arr.push([shName, '\\'+cell.toUpperCase()]) : ''
- }
- }
- }
- sheet.getRange("a3:b").clearContent();
- sheet.getRange(3, 1, arr.length, arr[0].length).setValues(arr);
- }
Add Comment
Please, Sign In to add comment