How to stop using advanced filter to copy rows to sheets — automate it
- Step 1Put the data on the first sheet — Make sure the table you'd normally Advanced-Filter is the first sheet of your
.xlsxor.csv. The tool reads sheet index 0. Unlike Advanced Filter, you don't define a criteria range — you just name the column. - Step 2Drop the file onto the splitter — Drag the file onto the upload zone. SheetJS parses it in your browser — no upload, no email-the-macro round trip.
.xlsx,.xls,.ods, and.csvare accepted. - Step 3Type the grouping column header — Enter the column header that would have been your Advanced Filter criterion into the Split column box. It's free text and case-sensitive, so match the header exactly. There's no criteria range, no operators, no wildcards — just the column name; the tool uses each distinct value as a group.
- Step 4Run it (Pro tier) — The tool is Pro-and-up. One run produces every group at once — the equivalent of running Advanced Filter once per value, without the repetition. Pro handles 50 MB / 100,000 rows.
- Step 5Check the per-group summary — The results panel reports
N sheets createdand a badge per group with its row count. This is the reconciliation step Advanced Filter never provided — sum the badges and confirm they equal your source row count. - Step 6Download the multi-tab workbook — Download
split-output.xlsx— one tab per value, headers included. Next month, re-run on the new file; any new values show up as new tabs with no extra setup.
Conditional Splitter vs manual Advanced Filter
How the automated split compares to the Advanced Filter → Copy to Another Location workflow. The two are not identical — the differences matter.
| Aspect | Advanced Filter (manual) | Conditional Splitter |
|---|---|---|
| Per-value effort | Re-run once per criterion value | One run produces all values at once |
| New values appear | You must add a new criterion / tab manually | Appear automatically as new tabs |
| Macro / VBA needed | Often, for any real automation | None — not a macro, no Trust Center prompt |
| Criteria expressions | Operators, wildcards, AND/OR criteria range | None — splits on each distinct value as-is |
| Filtering subset of values | Yes — criteria can target specific values | No — every distinct value gets a tab |
| Unique-only / dedup | "Unique records only" option | Not provided — use the fuzzy deduplicator first |
| Output | Copied rows on a chosen location | Single split-output.xlsx, one tab per value |
What this tool does and doesn't do
It automates the by-value split — it is not a full Advanced Filter replacement. Where a capability is missing, the right sibling tool is named.
| Capability | Supported here? | If not, use |
|---|---|---|
| Split every distinct value into its own tab | Yes — the core function | — |
| Filter to only some values | No | Filter in Excel first, then split |
| Criteria with operators / wildcards | No | Excel Advanced Filter or regex extractor for pattern pulls |
| Unique records only / dedup | No | Fuzzy deduplicator |
| Aggregate / total per group | No | Pivot generator |
| Merge two sheets on a key | No | Sheet joiner |
Cookbook
The automated split set against the manual Advanced Filter loop it replaces. Sample data anonymised.
One run replaces the per-value filter loop
What used to be three filter-copy-paste passes (one per status) is a single split.
Manual Advanced Filter way (per value):
Filter status=Open -> copy -> paste to "Open" sheet
Filter status=Pending -> copy -> paste to "Pending" sheet
Filter status=Closed -> copy -> paste to "Closed" sheet
This tool:
Split column: status (one run)
Output: split-output.xlsx
Tab "Open", Tab "Pending", Tab "Closed"
Results: 3 sheets created — Open (40), Pending (12), Closed (88)New value next month needs zero setup
Advanced Filter criteria are fixed; a new value silently goes uncopied. Here a new value just becomes a new tab.
Last month status values: Open, Pending, Closed This month a new value appears: On Hold Advanced Filter: "On Hold" rows are missed unless you add a criterion for them. This tool: re-run on the new file -> Tabs: Open, Pending, Closed, On Hold (auto-added)
No macro, no Trust Center prompt
The VBA route trips macro security. This runs in the browser with no macro at all.
VBA approach: - paste macro into a module - save as .xlsm - "SECURITY WARNING Macros have been disabled" banner - admin policy may block it entirely This tool: - upload .xlsx, type column, run - download split-output.xlsx - no macro, no .xlsm, no Trust Center change
Filter to a subset first, then split
The tool always splits every value. If you only want some, filter in Excel and save the subset before splitting.
Goal: split only the 2026 records by region. 1. In Excel, filter Year = 2026, copy visible rows to a new file (or delete other years), save as 2026.xlsx 2. Upload 2026.xlsx here 3. Split column: Region -> tabs only for regions present in 2026 data The tool does not filter; it splits whatever you give it.
De-duplicate before splitting
Advanced Filter has a unique-records option; this tool does not. Dedupe first if you need it.
Source has near-duplicate customer rows. 1. Run the fuzzy deduplicator on the customer key column -> deduped.xlsx 2. Upload deduped.xlsx here 3. Split column: Segment Result: clean per-segment tabs with no repeated rows.
Edge cases and what actually happens
You only want some values, not all
By design — splits every valueUnlike Advanced Filter's criteria range, this tool has no way to target a subset of values — it always creates a tab for every distinct value present. To split only some, filter in Excel and save the reduced rows to a new file first, then split that file.
Expecting wildcard or operator criteria
Not supportedAdvanced Filter supports >, <, *, ?, and combined criteria ranges. This tool has none of that — it groups on the exact distinct values of one column. For pattern-based extraction into a new column, use the regex extractor; for true criteria filtering, do it in Excel before uploading.
Looking for the unique-records-only option
Not providedAdvanced Filter can copy unique records only; this tool does not deduplicate. Rows duplicated in the source are copied into their group's tab as-is. Run the fuzzy deduplicator first if you need unique rows.
Column name typed incorrectly
Everything lands in __blank__The split column is matched exactly against your header. A typo or case mismatch matches no column, so every row reads as missing and pools into a single __blank__ tab — the automated equivalent of pointing Advanced Filter at the wrong field. Re-check the header text and re-run.
Data isn't on the first sheet
Only the first sheet is splitAdvanced Filter works on the active sheet; this tool always reads sheet index 0. If your table is on a later tab, move it to the front or save it standalone before uploading.
Wanting totals per group like a SUBTOTAL row
By design — no aggregationThe split distributes rows without summing them, just like a plain filter-copy. For per-group totals, use the pivot generator, or add a SUBTOTAL/SUM to each tab after splitting.
Blank values in the grouping column
Grouped under __blank__Rows with no value in the split column pool into a __blank__ tab by design — visible, not dropped. Advanced Filter would simply not match a blank criterion; here those rows are at least surfaced for you to handle.
Free-tier account
Pro tier requiredFree accounts are blocked with Conditional Splitter requires Pro tier. The macro-free convenience is a Pro feature. Pro handles 50 MB / 100,000 rows.
Hundreds of distinct values
Supported but consider Excel limitsEvery distinct value becomes a tab — there's no built-in cap, but a high-cardinality column produces hundreds of tabs that are slow to open. Advanced Filter would have the same problem if you tried it per value. Split on a coarse dimension instead.
Output is one workbook, not files in place
By designAdvanced Filter copies rows onto a location inside the same workbook. This tool emits a fresh single workbook (split-output.xlsx) with one tab per value — it does not write back into your original file. Extract tabs in Excel if you need separate files.
Frequently asked questions
How is this better than Advanced Filter → Copy to Another Location?
Advanced Filter copies rows for one criterion at a time, only to the active sheet, and you re-run it per value — and you must remember to add a tab whenever a new value appears. This tool produces every group's tab in one run, auto-adds new values as new tabs next time, copies the header to each tab, and reports per-group counts for verification. It also requires no criteria range setup.
Do I need to enable macros or use VBA?
No. This is not a recorded macro and not VBA — it's a browser tool. It runs without touching Excel's Trust Center or macro-security policy, and there's no .xlsm file or security-warning banner. That's the main reason teams with locked-down macro policies use it instead of a forum VBA snippet.
Can I split on a criterion instead of every value?
No. The tool always creates a tab for every distinct value of the column you name — it has no criteria expressions, operators, or wildcards. To split only some values, filter in Excel first and save the reduced rows to a new file, then split that. For pattern-based pulls, see the regex extractor.
Does it have an Advanced-Filter-style unique-records-only option?
No, it does not deduplicate. Duplicate rows in the source are copied into their group's tab as-is. If you need unique rows, run the fuzzy deduplicator first, then split the deduped file.
What do I type instead of a criteria range?
Just the column header. Type it into the Split column box exactly as it appears in your file (case-sensitive). There's no criteria range, no operators, and no AND/OR logic — the tool uses each distinct value of that column as a group automatically.
Will new values in next month's data be handled automatically?
Yes — that's a key advantage over Advanced Filter. Because the tool groups on whatever distinct values are present at run time, a value that didn't exist last month simply becomes a new tab when you re-run on the new file. There's no fixed criteria list to maintain.
Does it write back into my original workbook?
No. It produces a separate new workbook, split-output.xlsx, with one tab per value. Your original file is untouched. If you want the split data inside your existing workbook, copy the tabs in (Excel → Move or Copy).
Can it total or count rows per group?
No — it distributes rows without aggregating, just like a manual filter-copy. For totals or counts per group, use the pivot generator, or add a SUM/SUBTOTAL to each tab after the split.
Which sheet does it operate on?
Only the first sheet of the uploaded file. Advanced Filter works on the active sheet; this tool always reads sheet index 0. Move your table to the front of the workbook or save it standalone before uploading.
Is my data uploaded?
No. Processing runs entirely in your browser via SheetJS — no upload, and no need to email a workbook to someone who has the macro. Only an anonymous, content-free usage counter is recorded for dashboard stats, which you can opt out of.
What tier do I need?
Pro tier or higher; Free is blocked with Conditional Splitter requires Pro tier. Pro handles 50 MB / 100,000 rows, Pro-media 200 MB / 500,000, Developer 500 MB / unlimited.
How do I verify the split matched the original, like checking an Advanced Filter result?
Use the per-group row-count badges in the results panel — something Advanced Filter never gave you. Add them up and confirm the total equals your source row count. A __blank__ tab or a surprise extra tab flags rows with missing or inconsistent values to clean up.
Privacy first
Every JAD Excel tool runs entirely in your browser using SheetJS and ExcelJS. Your spreadsheets, formulas, and data never leave your device — verified by zero outbound network requests during processing.