
Учитывая диапазон ячеек в столбце, найти последнюю заполненную запись и вернуть это значение.
У меня есть бухгалтерская книга со столбцом, в который я вношу значение почти каждый день в новой строке, начиная сверху, отправляясь в город. В дни, когда я пропускаю, ячейка остается пустой. Я хотел бы использовать последнее введенное значение, но не уверен, как его искать. Логично, что я хочу искать снизу вверх, ища первую непустую ячейку в диапазоне. Диапазон увеличивается каждый день, но функция всегда должна возвращать нижнюю запись. В некоторые дни не делается ни одной записи, и эта ячейка остается пустой, поэтому она не может просто остановиться на первой пустой ячейке и вернуться на 1. Ей нужно найти последнюю заполненную ячейку во всем диапазоне.
Не знаю, могут ли find() или search() найти первую «Non-WhiteSpaceOrEmptyString», или я бы использовал их для поиска снизу вверх.
решение1
Создал решение сам. В Google Таблицах можно создать пользовательскую функцию. В меню «Инструменты» нажмите «Редактор скриптов». В редакторе добавьте следующую функцию:
function LASTPOPULATED(range2d) {
if (!Array.isArray(range2d)) { return null; }
for (i=range2d.length-1; i>-1; i--) {
e = range2d[i];
if (!Array.isArray(e) || e.length != 1) { return null; }
v = e[0];
if (typeof(v) === 'number' || (typeof(v) === 'string' && v.length > 0)) { return v; }
}
return null;
}
Для использования вызовите LASTPOPULATED(range), где range находится в формате cell1:cell2. Диапазоны Google Таблиц всегда двумерны, поэтому убедитесь, что они представляют диапазон столбцов, например B1:B100, иначе функция вернет null, если будет обнаружено более 1 столбца, прежде чем она найдет заполненный элемент.