Write SQL queries against your loaded spreadsheet data to filter, group, aggregate, and reshape rows — all in the browser with no database required.
SheetTool includes a built-in SQL engine that treats your loaded data as a table named 'data'. You can write standard SQL queries with SELECT, WHERE, GROUP BY, ORDER BY, DISTINCT, and TOP N. Aggregate functions like SUM, COUNT, AVG, MIN, and MAX are supported. Query results can be pushed back into the spreadsheet as your new working dataset, making SQL a powerful way to reshape data before export.
SELECT * FROM data WHERE status = 'active' AND (email IS NULL OR email = '') — creates a cleanup queue you can export and work through.
SELECT region, month, SUM(total) as revenue, COUNT(*) as orders FROM data GROUP BY region, month ORDER BY revenue DESC — a quick summary report without pivot tables.
SELECT sku, name, price, inventory FROM data WHERE inventory > 0 — create a trimmed export with only the columns another system accepts.
SELECT email, COUNT(*) as cnt FROM data GROUP BY email HAVING cnt > 1 — identify duplicate entries by any column.
SheetTool uses a SQLite-compatible SQL engine that runs in the browser. It supports standard SELECT queries with WHERE, GROUP BY, ORDER BY, HAVING, DISTINCT, and common aggregate functions. It does not support INSERT, UPDATE, DELETE, or DDL statements since the data comes from your spreadsheet.
Currently, SQL queries operate on a single table named 'data' which represents your loaded spreadsheet. To work with multiple files, use the merge feature to combine them first, then query the merged result.
No. The SQL engine runs entirely in your browser using WebAssembly. Your data never leaves your device.
SheetTool provides built-in query templates for common operations. You can also copy your query text and paste it back later. For repeatable workflows, consider recording a macro that includes the SQL step.