1

Topic: Создание групировки строк

Добрый день
PunBB_INFO_ICQ/help  PunBB_INFO_ICQ/help  PunBB_INFO_ICQ/help Нужна помощь знатоков дела (Googhe sheets)

Нужно посредством скрипта сделать автоматическую группировку строк в  файле

пример таблицы
https://punbb.info/uploads/images/2019/07/c3e31c780861bf59880f3625c54700a5.png

таблица будет динамической поэтому каждый раз делать это вручную тяжело

нужно чтобы к примеру если значение в столбце "С" = пусто, то это верхнее значение группы а все что ниже до следующей пустой ячейки было подгруппой

пару групп сделал вручную что бы было более наглядно

Заранее за помощь

2

Re: Создание групировки строк

Нужно писать макрос автоматической сортировки листа. Вот простой пример сортировки активного листа:

function onEdit() { 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    var range = sheet.getRange(3, 1, sheet.getLastRow() - 2, sheet.getLastColumn()); 
    range.sort({column: 1, ascending: false}); 
} 

С группировкой нужно подумать, так как сортировка должна происходить по условию да и к тому же в пределах области PunBB_INFO_ICQ/scratch

Если вам долго не отвечают, пишите автору темы в личку или на Email.

3

Re: Создание групировки строк

есть у меня одна идея как это можно попытаться сделать
но не могу придумать как  при помощи макроса можно выделить строки в которых в столбце "С" = пусто

4

Re: Создание групировки строк

Проверить на пустоту и выделить. Выделение можно задать любое, хоть цветом, шрифтом, курсивом и тд

Если вам долго не отвечают, пишите автору темы в личку или на Email.

5 (edited by oleg-somov 2019.07.30 19:25)

Re: Создание групировки строк

не немного не то
как выделить цветом я понимаю

вопрос в том чтобы выбрать эти строки

это на подобии как удалить пустые строки


но только  не удалять а просто выбрать все строки в которых в столбце "с" = пусто


сделал небольшой скрипт

function _1() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('11:30000').activate()
  .shiftRowGroupDepth(1);

// вот здесь дальше необходимо задать условие выбрать не строку 13 а все строки в которых столбик "С"=пусто
  spreadsheet.getRange('13:13').activate()
  .shiftRowGroupDepth(-1);