Size: a a a

Чат | Google Таблицы и скрипты

2018 August 21

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Opportunities
Я же правильно понимаю что через скрипты пока нельзя сделать сортировку по цвету в таблице,  можно только через условное форматирование?
Можно, почему нет. Цвет ячейки же можно достать.
источник

O

Opportunities in Чат | Google Таблицы и скрипты
function myFunction2() {
 var spreadsheet = SpreadsheetApp.getActive();
 spreadsheet.getRange('A1:A4').activate();
 spreadsheet.getActiveRangeList().setBackground('#ff9900');
 spreadsheet.getRange('A5:A10').activate();
 spreadsheet.getActiveRangeList().setBackground('#cc0000');
 spreadsheet.getRange('A11:A13').activate();
 spreadsheet.getActiveRangeList().setBackground('#079e57');
 spreadsheet.getRange('A14:A17').activate();
 spreadsheet.getActiveRangeList().setBackground('#3c78d8');
 var sort = spreadsheet.getRange('A1:A17').sort?
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Нет
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Это код вообще красит :) что надо-то, у нас есть раскрашенные ячейки и их нужно отсортировать?
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
1. Создаём массив из данных и цвета каждой ячейки
2. Сортируем по цвету
3. Вставляем то, что получилось туда, откуда брали
источник

O

Opportunities in Чат | Google Таблицы и скрипты
да только я не понимаю как). Он сначала красит потом сортирует. только не знаю как отсорировать
источник

O

Opportunities in Чат | Google Таблицы и скрипты
хорошо попробую
источник

АВ

Алексей Веселов... in Чат | Google Таблицы и скрипты
/lastpost
источник

G

Google Вася in Чат | Google Таблицы и скрипты
Telegram bot + Google Sheets (GAS, используя вебхуки)
https://tglink.ru/google_sheets/317
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Opportunities
да только я не понимаю как). Он сначала красит потом сортирует. только не знаю как отсорировать
вот так можно собрать массив из диапазона + цвета

function myFunction() {
 var ss = SpreadsheetApp.getActiveSpreadsheet()
 var sheet = ss.getActiveSheet()
 var range = "a1:a4"
 var data = sheet.getRange(range).getValues()
 var dataColour = sheet.getRange(range).getBackgrounds()
 var array = []
 
 for(var i = 0; i<data.length; i++){
   array = array.concat([data[i], dataColour[i]])
 }
 Logger.log(array)
}
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Дальше его надо отсортировать по цвету. И вставить результат.
источник

M

Mike in Чат | Google Таблицы и скрипты
А как вы выводите время выполнения?
Завершено за ХХХ секунд
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Само выводится
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Боится меня, наверное )
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Oles Danilyuk
Привет всем.
Буду признателен за помощь.
Дан список наименований
1 Concept 1100x800 D2
2 Concept 1100x800 D2
2 Girl 1190x2360 D6/LG
Amalia 590x1190 D6/G 1П
Amazon 1000x2250 D21
Cuba Royal Delux 590x595 D6
Cuba Royal Delux 590x595 D6 1П

Нужно извлечь только размер
1100x800
1100x800
1190x2360
590x1190
1000x2250
590x595
590x595
В размере может быть максимум 4 цифры до "х" и максимум 4
Нашел решение с помощью формул:
MID(A3;SEARCHB("x";A3;1)-4;9)

Но так как в названии иногда встречаются буквы "х", работает все это дело не корректно. (в файле примере видно)

В регулярных выражениях не силен, потому прошу помощи

Файл пример с таблицей https://goo.gl/Qt7wDd
function myFunction() {
 var ss = SpreadsheetApp.getActiveSpreadsheet()
 var sheet = ss.getActiveSheet()
 var range = "a1:a10"
 var data = sheet.getRange(range).getValues()
 var dataColour = sheet.getRange(range).getBackgrounds()
 var array = []
 var newArr = []
 var newArrColour = []
 
 
 for(var i = 0; i<data.length; i++){
   array = array.concat([[dataColour[i], data[i]]])
 }
 
 var sortArray = sort(array)
 
 for(i = 0; i<sortArray.length; i++){
   newArr = newArr.concat([sortArray[i][1]])
   newArrColour = newArrColour.concat([sortArray[i][0]])
 }
 
 range = "c1:c10"
 sheet.getRange(range).clear()
 sheet.getRange(range).setValues(newArr)
 sheet.getRange(range).setBackgrounds(newArrColour)
}

function sort(arr) {
 arr = arr.sort(function(a, b) {return (a[0] < b[0]) ? -1 : (a[0] > b[0]) ? 1 : 0 });
 return arr
}
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
набросал пример сортировки по цвету

Таблица с примером https://docs.google.com/spreadsheets/d/1g_uX0DizTvXFqtcmrn-j5egMmeRlDl0ENXjHuGTXA-Y/edit?usp=sharing
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
источник

KS

Karim Shakirov in Чат | Google Таблицы и скрипты
Всем привет!
А после того, как в скрипт (сегодняшний скрипт для бота) внесены и сохранены изменения, нужно ли заново нажимать "Опубликовать"?
источник