apps-script-utils (Українська) 2.1.1 Help

deleteRowsByConditional

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

Кожен рядок оцінюється за аркушем у тому вигляді, в якому його прочитали, а видалення потім іде знизу вгору суміжними блоками. Саме це рятує від помилки саморобного циклу, що видаляє не ті рядки, коли позиції починають зсуватися.

Рядки зникають назавжди: лише очищає їх clearRowsByConditional.

Аркуш означає весь його діапазон даних, і рядки видаляються цілком. Діапазон означає лише його клітинки: вони видаляються, клітинки під ними піднімаються, а стовпці поряд із діапазоном лишаються на місці. В обох випадках предикат отримує позицію на аркуші, а відмова спорожнити аркуш стосується форми з аркушем, де має лишитися хоча б один рядок.

Параметри

Параметр

Тип

Опис

target

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

Аркуш, з яким працюємо, або діапазон, усередині якого працюємо: читаються лише його клітинки, і видаляються лише вони.

predicate

RowPredicate

Отримує комірки рядка, його позицію від одиниці та — якщо задано headerRow — рядок із ключами за іменами стовпців. Поверніть true для рядків, з якими треба щось зробити.

options (необов'язковий) = {}

RowConditionalOptions \| null \| undefined

headerRow вказує рядок з іменами стовпців. Якщо його задано, кожен рядок приходить із ключами за цими іменами, а сам рядок заголовків вибуває з кандидатів.

Повертає

number — скількох це торкнулося.

Винятки

Виняток

Умова

InvalidSheetException

перший аргумент не є ні аркушем, ні діапазоном.

IllegalArgumentException

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

Приклади

Застосування

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

Усередині одного блоку

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

Дивіться також

Вихідний код

src/appsscript/sheet/deleteRowsByConditional.ts

23 September 2026

Цю документацію згенеровано нейромережею (Claude) на основі вихідного коду бібліотеки.