How to Split a Multi-Account Bank Statement
Combined statements covering several accounts, why they need splitting before analysis, and how to do it correctly.
Many banks issue one PDF covering every account you hold. Citibank, Navy Federal, OCBC, DBS and most credit unions all do this. Converted naively, the result is unusable.
Why a combined statement cannot be one table
Each account has its own opening balance, its own transaction stream and its own closing balance. They are independent chains that happen to be printed in the same document.
Flattened into one table without an account identifier, the balance column jumps between accounts at each section boundary. It reconciles against nothing, and any total spanning the file mixes unrelated accounts.
What a usable file looks like
Every row carries the account it belongs to. That single column makes the file usable: filter to one account and you have a normal single-account statement, complete with a chain that reconciles.
This converter does not add that column: it returns the table as printed. What it keeps is order — every row where the bank printed it — so each account's rows sit together and the column is a fill-down away.
| Date | Account | Description | Debit | Credit | Balance |
|---|---|---|---|---|---|
| 03/04/2026 | Checking ...1234 | Card payment | 45.00 | 2,455.00 | |
| 03/04/2026 | Savings ...5678 | Interest | 12.40 | 8,512.40 | |
| 04/04/2026 | Checking ...1234 | Salary | 2,000.00 | 4,455.00 |
Note that the balance column only makes sense read per account. Rows 1 and 3 chain; row 2 belongs to a different chain entirely.
Splitting and verifying
- Convert the combined statement The rows come through in printed order, section by section.
- Add the account column, then filter Fill it down from where each account's section starts before sorting anything, then use Data → Filter, or split to separate sheets.
- Verify that account independently Its opening balance, its transactions, its closing balance.
- Repeat per account Each is its own verification.
Splitting to separate sheets
- Sort by account, then date So each account's rows are contiguous and in balance order.
- Copy each account's block to its own sheet Or use a filter and paste to new sheets.
- Verify each sheet independently Its own opening balance, transactions and closing balance.
- Name sheets by account So the provenance of each is obvious later.
Loan and card sections need different handling
On a combined statement that includes a loan or a credit card, those sections do not behave like deposit accounts. A payment reduces the balance rather than increasing it, so the sign convention is inverted.
Applying deposit-account logic to a loan section produces a chain that fails on every row — which looks like a serious extraction problem and is actually just the wrong convention being applied.
Frequently asked questions
What if the export has no account column?
Add one before doing anything else. The rows are in printed order, so fill it down from where each account's section starts; once the rows are sorted by date, the sections can no longer be told apart.
Why does my loan section fail its balance check?
The sign convention is inverted on a loan — a payment is a credit that reduces the balance. Deposit-account logic breaks the chain on every row.
How are loan and credit sections handled?
They come through as printed, like any other section. Check a loan or card section's chain with the sign reversed — a payment reduces what is owed — rather than reading a failure there as a misread.
Related posts
- How to Bulk Convert Bank Statements
- How to Merge Multiple Bank Statements into One Excel File
- Analysing a Bank Statement in Excel with Pivot Tables
Convert a statement now
Bank Statement PDF to Excel, or see every format. More in the guides.