Google Sheets Bulk Row Deleter by Condition
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
Google Sheets Bulk Row Deleter by Condition solves a common data cleanup challenge: removing rows from a spreadsheet based on specific criteria is tedious when done manually, especially with large datasets. While Google Sheets has filters and manual deletion, there's no native way to delete all rows that match a condition with a single action. This tool reads the current Google Sheets document, detects all rows in the active sheet, and reads cell values in each row. You define a condition (e.g., column A contains "delete", column B is empty, column C equals "archived", column D is a date before 2023-01-01), and the tool scans the sheet to find matching rows. A preview shows all matched rows with their row numbers and column values, so you can review before deleting. You can uncheck individual rows to exclude them from deletion. Rows are deleted in batches with a configurable batch size, with live progress updates and a summary when complete.
WHERE IT RUNS
This extension panel runs directly inside your browser as an overlay on any Google Sheets document. It works on the spreadsheet editing interface, reading row data from the DOM and deleting rows by removing their elements. The tool requires no additional API keys or permissions beyond the BotGentz extension.
HOW TO USE
After installing the BotGentz extension and activating Google Sheets Bulk Row Deleter by Condition, open any Google Sheets document. Click the extension icon in your browser toolbar to open the panel. The tool automatically loads all rows from the active sheet. First, select the column you want to check (A through Z). Next, choose a condition type: Equals, Contains, Starts With, Ends With, Is Empty, Is Not Empty, Date Before, Date After, Number Greater Than, or Number Less Than. For most conditions, enter a value in the text field. The tool instantly scans the sheet and displays a preview of matching rows. Review the matched rows — each row shows its row number and the value in the selected column. Uncheck any row you want to exclude from deletion. Adjust the batch size (default 10) to control how many rows are deleted at once. Finally, click "Delete Matching Rows" and confirm the action. A progress counter shows the deletion status, and a summary appears when complete.
TECHNICAL OPERATION — DOM-Based Row Detection and Deletion
Unlike API-based solutions that require OAuth tokens and Sheets API access, this tool operates entirely through DOM inspection and manipulation. It locates the spreadsheet table using queries for role="grid" tables or standard table elements, then traverses all rows (tr elements) to build a row data structure. For each row, the tool extracts cell values by reading text content from td and th elements, with special handling for cells containing input elements. The condition evaluation engine supports multiple operator types: string comparisons (equals, contains, starts with, ends with) using case-insensitive matching; presence checks (empty, not empty); date comparisons using JavaScript Date objects; and numeric comparisons using parseFloat. When deleting, rows are removed from the DOM by calling removeChild on their parent nodes. Batch processing uses setTimeout delays between batches to prevent the browser from freezing during large deletions. A confirmation dialog provides undo protection before any rows are removed.
THE PANEL
The extension panel is fully draggable and remembers its position per site session. It snaps to the nearest edge of the browser viewport when dragged within 50 pixels of any side. You can collapse the panel to a compact title bar using the minimize button, preserving your selection state. The panel resizes vertically by dragging the bottom edge. Press the Escape key to close the panel instantly without losing your condition settings.
PLEASE NOTE
This tool requires the free BotGentz browser extension to function. The script does not use Google's official Sheets API and cannot access spreadsheet data outside the currently visible page. Deletions are performed by removing row elements from the DOM, which may not be immediately saved to Google Sheets until the browser syncs. For best results, ensure the sheet is in editing mode (not "View only"). Rows are deleted permanently from the current view — Google Sheets' undo feature may restore them if used immediately. The tool does not store, transmit, or log any spreadsheet data. All operations occur locally in your browser session. Google Sheets may update its DOM structure over time, which could affect row detection; we monitor and release compatibility updates as needed.