Создание сценариев для отсортированной таблицы в Документах Google с игнорируемыми строками - PullRequest
0 голосов
/ 06 декабря 2011

У меня есть таблица Google с двумя отдельными листами.Первый - это просто большой список имен и данных, а второй должен быть отсортированным списком всех данных на первом листе (отсортированных, скажем, по фамилии).Вот текущий способ определения второго листа:

=sort(sheet1!A:L, 2, TRUE)

, который работает нормально по большей части, за исключением одной проблемы: в sheet1 первая строка - это строка заголовка, состоящая из «Имя»"," Фамилия "," Телефон "и т. Д. Когда я использую эту формулу для sheet2, эта строка сортируется вместе с остальными.

Как изменить назначение так, чтобы сортировка игнорировалапервая строка листа1, и сортирует столбцы от А до L с таким же поведением?Указание длины вручную невозможно, поскольку записи могут быть быстро добавлены и удалены в будущем.

Ответы [ 2 ]

2 голосов
/ 06 декабря 2011

Вы можете использовать другое определение диапазона, которое определяет первые ячейки, но не конец. например,

A1: =ArrayFormula(Sheet1!A1:L1)
A2: =Sort(Sheet1!A2:L, 2, TRUE)

А1 формула просто для копирования заголовков:)
В A2 вы указываете, что вам нужны только данные (2-я строка и далее), помещая 2 в A2: L.

1 голос
/ 14 апреля 2013

Вот общий сценарий, который будет автоматически сортироваться на основе 1-го столбца и предполагает строку заголовка.

Чтобы создать сценарий:

В меню выберите Сервис -> Редактор сценариев.... В пустом окне кода вставьте следующий код, который будет запускаться автоматически при редактировании ячейки:

 /**
 * Automatically sorts the 1st column (not the header row) Ascending.
 */
function onEdit(event){
  var sheet = event.source.getActiveSheet();
  var editedCell = sheet.getActiveCell();

  var columnToSortBy = 1;
  var tableRange = "A2:T99"; // What to sort.

  if(editedCell.getColumn() == columnToSortBy){   
    var range = sheet.getRange(tableRange);
    range.sort( { column : columnToSortBy, ascending: true } );
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...