apps-script-utils (Русский) 2.1.1 Help

clearRowsByConditional

function clearRowsByConditional( target: GoogleAppsScript.Spreadsheet.Sheet | GoogleAppsScript.Spreadsheet.Range, predicate: RowPredicate, options: RowConditionalOptions | null | undefined = {} ): number;

Содержимое уходит, строки остаются, поэтому позиции не сдвигаются и всё, что ссылается на строку по номеру, продолжает указывать на то же место. Удаляет строки deleteRowsByConditional.

Лист читается один раз, а очистка группируется в идущие подряд блоки, поэтому даже разрозненная выборка стоит немногих обращений к сервису.

Лист означает весь его диапазон данных; диапазон — только свои ячейки, остальное на листе не читается и не трогается. В обоих случаях предикат получает позицию на листе, поэтому у строки остаётся её настоящий номер.

Параметры

Параметр

Тип

Описание

target

GoogleAppsScript.Spreadsheet.Sheet \| GoogleAppsScript.Spreadsheet.Range

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

predicate

RowPredicate

Получает ячейки строки, её позицию от единицы и — если задан headerRow — строку с ключами по именам столбцов. Верните true для строк, с которыми нужно что-то сделать.

options (необязательный) = {}

RowConditionalOptions \| null \| undefined

headerRow указывает строку с именами столбцов. Если она задана, каждая строка приходит с ключами по этим именам, а сама строка заголовков выбывает из кандидатов.

Возвращает

number — сколько их было затронуто.

Исключения

Исключение

Условие

InvalidSheetException

первый аргумент не является ни листом, ни диапазоном.

IllegalArgumentException

предикат не функция или позиция заголовка не положительное целое.

Примеры

Применение

const sheet = SpreadsheetApp.getActiveSheet(); clearRowsByConditional(sheet, (values, position, row) => row.status === "done", { headerRow: 1 });

Внутри одного блока

const sheet = SpreadsheetApp.getActiveSheet(); // Only B2:D100 is read, and only those cells are cleared. clearRowsByConditional(sheet.getRange("B2:D100"), (values) => values.every((cell) => cell === ""));

Смотрите также

Исходный код

src/appsscript/sheet/clearRowsByConditional.ts

23 September 2026

Эта документация сгенерирована нейросетью (Claude) на основе исходного кода библиотеки.