Я хочу отсортировать в реальном времени, когда число вычисляется в столбце «Итого», который является суммой на основе других ячеек, введенных пользователем. Сортировка должна происходить по убыванию, и я достиг этой функциональности, используя следующее:
function onEdit(event){
var sheet = event.source.getActiveSheet();
var range = sheet.getDataRange();
var columnToSortBy = 6;
range.sort( { column : columnToSortBy, ascending: false } );
}
Это короткие и приятные, но пустые ячейки в итоговом столбце, которые содержат следующую формулу, закрывая себя, если результат суммы равен ноль, в противном случае выведите результат:
=IF(SUM(C2:E2)=0,"",SUM(C2:E2))
Это приводит к тому, что эти строки с невидимой формулой включаются в выбор диапазона, и при сортировке по убыванию они по какой-то причине оказываются наверху. Я хочу, чтобы эти пустые строки были либо отсортированы по низу, либо в идеальном сценарии удалены из самого диапазона (без удаления их и формулы, содержащейся в них) до сортировки.
Или, может быть, какой-то лучший способ, который не требует, чтобы я перетаскивал формулу по всему столбцу, состоящему в основном из пустых строк. В настоящее время я прибегаю к ручному добавлению формулы по мере поступления новых записей, но я бы предпочел этого избежать.
РЕДАКТИРОВАТЬ: По запросу найдите ниже скриншот листа , Как показано на рисунке ниже, 6-й столбец общего количества баллов должен быть отсортирован по убыванию с победителем сверху. Это должно иметь предварительно вставленную формулу, идущую по длине, которая суммирует предыдущие столбцы для каждого участника.
Столбец, предшествующий ему (Баллы за уровни), автоматически рассчитывается путем умножения столбца «Уровни» на 10, чтобы получить окончательный результат. точки. Эта колонка может быть удалена, и все сместится, как только уйдет, но приятно поддерживать визуальное представление о фактических присужденных баллах. Пользовательский ввод вводится в 3 белых столбца.
![Sheet sort](https://i.stack.imgur.com/tv7gh.png)