Сортировка с помощью кнопки для таблицы Google - PullRequest
0 голосов
/ 29 января 2020

Мне нужна кнопка в моей таблице, которая сортируется по 3 критериям. Я попробовал около 20 различных способов написания синтаксиса, но ни один из них не сработал. Буду рад, если кто-нибудь скажет мне, что не так.

function sort1() {
   sort({C3:K12;9;FALSE;3;TRUE;8;FALSE})
}

Ответы [ 3 ]

0 голосов
/ 29 января 2020

Вы не можете запустить функцию Sheets из такого скрипта приложений. Если вы пишете сценарий самостоятельно, вам нужно получить объект диапазона и отсортировать его. Возможно, вы захотите начать с записи макроса, который напишет скрипт для вас (Инструменты> Макросы). Затем вы можете посмотреть на сценарий и посмотреть, что он делает. Когда скрипт работает так, как вы хотите, вот хороший пост о запуске скрипта с кнопки: https://www.benlcollins.com/apps-script/google-sheets-button/

0 голосов
/ 30 января 2020

Поскольку вы планируете выполнять 3 типа сортировки, вы можете использовать три кнопки , каждая для требуемого типа сортировки. Затем вы можете назначить каждому тип сортировки, как показано ниже.

Глобальные переменные sheet и range.

var sheet = SpreadsheetApp.getActive().getActiveSheet();
var range = sheet.getRange(3, 2, 11, 10);

Функция sort1 сортирует ваши данные по точкам, по убыванию :

function sort1() {
 range.sort([{column:11,ascending:false}]);
}

Функция sort2 сортирует ваши данные по играм, по возрастанию :

function sort2() {
 range.sort([{column:5,ascending:true}]);
}

Функция sort3 сортирует ваши данные по разности по убыванию :

function sort3() {
 range.sort([{column:10,ascending:false}]);
}

Затем, чтобы назначить вышеуказанные функции, вы должны создать три кнопки, например: enter image description here

После создания кнопок вы должны назначить каждой из них следующие функции:

  • SORT BY POINTS кнопка -> sort1;

  • сортировка по играм * кнопка 1045 * -> sort2;

  • сортировка По кнопке DIFF -> sort3;

Если вы хотите использовать все критерии сортировки в одной инструкции, вам нужно просто использовать все их в одной и той же sort Метод.

* 10 60 *

Кроме того, я предлагаю вам проверить вышеуказанные ссылки, так как они могут быть полезны в вашем будущем развитии:

  1. Sheet Class Apps Script ;

  2. Сценарий приложения класса диапазона .

0 голосов
/ 29 января 2020
function sort1() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var rg=sh.getRange(3,3,10,9);
  rg.sort([{column:11,ascending:false},{column:5,ascending:true},{column:10,ascending:false}]);//The sort options is an array of objects but the array can be left for just one.
}

Ссылка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...