У меня есть Google Script для страницы типа «таблица лидеров», где формулы vlookup и другие дают каждому пользователю общий балл на одной вкладке. Я проверяю столбец (B) с именами пользователей и нахожу последнюю заполненную строку, создаю диапазон, который выбирается из столбца B в столбец AC и сортируется по убыванию порядкового номера, за которым следует имя пользователя. Я нашел способ заполнить последнюю строку здесь и прочел о том, что мне нужно продвинуться вперед на одну строку в другом месте, и сейчас я не могу найти ее снова.
ОДНАКО, он не включает нижнего пользователя в сортировку. Я попытался сделать другие вещи с выбранным диапазоном, и он включает в себя эту последнюю строку (например, setBackground показано ниже цветов в нужном диапазоне). Я чувствую, что это как-то связано с +1 и как оно работает с целым числом против строки, но я не могу найти правильную комбинацию.
ПРИМЕЧАНИЕ. На листе нет застывших панелей. Я проверил это.
var avalsnew = xpdoc.getRange('b2:b').getValues();
//I've tried both b1 and b2 here
var alastnew = avalsnew.filter(String).length;
alastnew = parseInt(alastnew) + 1;
//Tried with and without this line, which is why I suspect this is part of the problem
var percentsort = percentdoc.getRange('b2:ac' + alastnew);
percentsort.setBackground('green');
//this includes the last row
percentsort.sort([{column: 29, ascending: false}, {column: 2, ascending: true}]);
//but this does not