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

deleteColumnsByConditional

function deleteColumnsByConditional( target: GoogleAppsScript.Spreadsheet.Sheet | GoogleAppsScript.Spreadsheet.Range, predicate: ColumnPredicate, options: ColumnConditionalOptions | null | undefined = {} ): number;

Оценка идёт по прочитанному листу, а удаление — от правого края внутрь идущими подряд блоками, поэтому сдвиг позиций не утащит с собой чужой столбец.

Столбцы исчезают насовсем: только очищает их clearColumnsByConditional.

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

Параметры

Параметр

Тип

Описание

target

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

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

predicate

ColumnPredicate

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

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

ColumnConditionalOptions \| null \| undefined

headerColumn указывает столбец с именами строк и выводит этот столбец из числа кандидатов.

Возвращает

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

Исключения

Исключение

Условие

InvalidSheetException

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

IllegalArgumentException

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

Примеры

Применение

const sheet = SpreadsheetApp.getActiveSheet(); deleteColumnsByConditional(sheet, (values, position, column) => column.internal === true, { headerColumn: 1 });

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

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

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

Исходный код

src/appsscript/sheet/deleteColumnsByConditional.ts

23 September 2026

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