Мне нужно отсортировать диапазон столбцов по количеству слов в ячейке, от наибольшего количества слов в ячейке до наименьшего количества слов в ячейке
Пример
ahtn bmm cnst
Abb Baa
HHH
cc
a
b
c
Я могу отсортировать столбец
function sortColumn() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName("Sheet1");
var lastCol = s.getLastColumn();
var lastRow = s.getLastRow();
// assumes headers in row 1
var r = s.getRange(2, 1, lastRow - 1, lastCol);
// Sort on column G = 7
r.sort([{ column: 7, ascending: true }]);
}
и я могу сортировать массив по мере необходимости
function highLow(a,b){
return b.length - a.length || // sort by length, if equal then
a.localeCompare(b); // sort by dictionary order
}
, что дает
[HHH,Abb Baa,cc,ahtn bmm cnst,b,c,a].sort(highLow) = [ahtn bmm cnst,Abb Baa,HHH,cc,a,b,c]
Но я не могу понять, как сортировать диапазон столбцов таким образом, как Google Script, а не формула
Заранее благодарим за помощь