# Extract Multiple Tables from PDF into Separate Sheets

- Author: FastBankConvert (https://www.fastbankconvert.com)
- Published: 2025-05-08
- Updated: 2025-05-08
- Category: Tables and data from PDFs
- Canonical: https://www.fastbankconvert.com/blog/extract-multiple-tables-from-pdf

> Extract multiple tables from a PDF and keep them apart: one sheet per table, naming each, and stopping two side-by-side tables from merging.
To extract multiple tables from a PDF and keep them apart, list every table and its page before you start, extract each one into its own sheet, and name each sheet after the table it holds. Separate side-by-side tables by drawing a box around each, and rejoin any table that runs onto the next page.

## Mapping every table in the PDF before extraction

A table map is a short list of every table in the PDF: the page it starts on, the page it ends on, its printed title and roughly how many rows it has. Making it takes a few minutes, and it gives you a checklist to confirm that nothing was missed or merged after extraction.

### How to build the map

Scroll through the PDF once with the page thumbnails open. For each table you see, write one line. Do not extract anything yet. The aim is to know the shape of the job before a tool decides it for you.

Watch for tables that are easy to overlook:

- Small tables inside a page of text, such as a three-row fee schedule in the middle of a paragraph.
- Tables in appendices, often at the very end and sometimes in a smaller font.
- Tables set side by side, which look like one wide table at a glance.
- A table that continues onto a second page under a "continued" label.

### An example inventory

The inventory below is for an imaginary 12-page supplier report. The values are examples:

| # | Pages | Printed title | Approx. rows | Target sheet |
| --- | --- | --- | --- | --- |
| 1 | 2 | Contacts | 6 | T1_Contacts |
| 2 | 3 to 4 | Price list | 58 | T2_Prices |
| 3 | 5 | Discounts by volume | 5 | T3_Discounts |
| 4 | 5 | Delivery zones | 7 | T4_Zones |
| 5 | 8 | Order history, Q1 | 31 | T5_Orders_Q1 |
| 6 | 11 to 12 | Product codes | 44 | T6_Codes |

Tables 3 and 4 sit on the same page, which is the first warning sign of a merge. Table 2 and table 6 cross a page break, which is the first warning sign of a split.

### Why the map pays off

Extraction tools report what they found, not what was there. A tool that returns five tables from this report has either merged two or missed one, and only the map tells you which. Count the extracted tables against the map, then check each row count roughly. A table that should have 58 rows and came back with 29 has lost a page.

## One Excel sheet per extracted PDF table

Give every extracted table its own sheet, with the header in row 1 and data from row 2, so that filtering, sorting and formulas work on each table alone. Stacking several tables on one sheet with gaps between them looks tidy, but it breaks sorting and makes every later formula fragile.

### Why one table per sheet

Excel's tools assume one table per block of cells. Sort a sheet with two stacked tables, and the rows of the second table mix into the first. Turn a block into an Excel table with Ctrl+T, and it grows until it meets an empty row, which may or may not be where your table ends. A pivot table built over the sheet sees one set of columns, not two.

When each table has its own sheet, none of this happens. Each sheet can become an Excel table with its own name, and formulas can refer to it by that name rather than by cell ranges that shift.

### Keeping track of where each table came from

Add a small index sheet at the front of the workbook. Copy your table map into it, with a column for the sheet name. Add a hyperlink from each line to its sheet. Anyone opening the workbook later can see what is in it and where each table came from in the PDF, without opening the PDF.

### Extracting into separate sheets

Some tools write one sheet per table automatically when you download XLSX. Others put everything on one sheet, or create one sheet per page. If yours gives you one sheet per page, a table that spans two pages arrives split across two sheets, and a page with two tables arrives with both on one sheet. Use the map to move each block to its own sheet. Excel's PDF import is another route: it lists each table it detects separately in its Navigator, so you can load them one by one.

### Numbers in prose next to the tables

Reports often state key figures in the text around a table, such as "orders rose 12% on the quarter". Those values are not in any table. If you need them too, collect them on a separate sheet; [pulling individual numbers out of PDF text](/blog/extract-numbers-from-pdf-to-excel) covers how to find them with patterns.

## Naming sheets after the PDF tables they hold

A useful sheet name tells you which table is inside and where it sits in the PDF, in a form that sorts in document order. A short prefix with the table's position, such as T1, T2, T3, followed by a few words from the printed title does both, within Excel's limit on sheet name length.

### A naming pattern

Use `T<number>_<short title>`, for example `T2_Prices` or `T5_Orders_Q1`. The number keeps sheets in the same order as the PDF, even after someone drags them around. The short title makes the tab readable without opening it.

### Characters to avoid

Excel sheet names cannot contain some characters, including the slash, backslash, question mark, asterisk, colon and square brackets. Printed table titles often include exactly these: "Revenue / segment", "Q1: orders". Replace them with an underscore or drop them. Keep names short, because long names are cut off on the tab bar and are awkward in formulas.

### Naming the Excel tables too

After converting each block to an Excel table, give it the same name as its sheet in the Table Design tab. A formula like `=SUM(T2_Prices[Price])` is clearer than `=SUM('T2_Prices'!D2:D59)`, and it keeps working when rows are added.

### When the PDF has no titles

Some documents print tables with no title at all. Name them by content, using the most distinctive header: a table whose columns are Zone, Days and Charge becomes `T4_Zones`. Write the page number in the index sheet so the link back to the PDF is never lost.

## Why do two side-by-side PDF tables merge into one?

Two side-by-side tables merge because extraction tools group words into rows by height across the whole width of the page. When two tables share a row height, the tool sees one long row that spans both, and returns a single table with the columns of both tables joined together.

### What the merge looks like

The example below shows a discounts table and a delivery zones table printed next to each other on one page, extracted as one:

| Volume | Discount | Zone | Days | Charge |
| --- | --- | --- | --- | --- |
| 1 to 9 | 0% | North | 2 | 8.00 |
| 10 to 49 | 5% | South | 3 | 8.00 |
| 50+ | 10% | East | 2 | 6.50 |
| | | West | 4 | 12.00 |

The values are examples. The giveaways are a header row that mixes unrelated column names, and blank cells on the left once the shorter table runs out.

### Keeping them apart

There are three ways to separate the tables, in order of effort:

1. **Draw an area around each table.** Most tools that let you draw a box also let you draw more than one on the same page. Draw one around the left table and one around the right, and each comes out on its own.
2. **Split after extraction.** If the tool only offers the merged version, cut the right-hand columns and paste them onto a new sheet. Then delete the blank rows the shorter table leaves behind.
3. **Crop the page.** Save two copies of the page, each cropped to one table, and extract each copy separately. This is slow, but it works with tools that offer no area control at all.

The reasons a tool decides where one table ends and another begins are explained in [how table detection reads rows and column boundaries](/blog/extract-table-from-pdf#ruled-tables-vs-whitespace-tables-in-a-pdf).

### Stacked tables merge too

Tables placed one above the other, with only a small gap between them, can merge in the other direction. The second table's header becomes a data row in the middle of the first table. Look for a row that repeats header-like text halfway down a sheet, and split the sheet there.

## Does a table that continues on the next PDF page count as two?

A table that continues on the next page is one table, and it belongs on one sheet. Many tools treat each page separately and return it as two tables, so you rejoin the pieces by appending the second block below the first and deleting the repeated header row.

### Rejoining a split table

Copy the data rows from the second piece, without its header, and paste them directly under the last row of the first piece. If the PDF repeats the header at the top of each page, as many reports do, the second piece will start with that header, so skip it. Check the row count against your map.

### Telling a continuation from a new table

Not every table at the top of a new page continues the one before. Signs that it does:

- The header row is identical, or the page shows "continued" next to the title.
- The first row carries on a sequence from the previous page, such as the next date or the next item number.
- There is no new title above it.

Signs that it is a new table with the same columns: a new title, a sequence that restarts, or a subtotal row at the end of the previous page followed by a fresh set of rows.

### Joining tables that should stay apart

The opposite mistake happens too. A tool that joins tables across pages by matching headers can glue two different tables together when they share column names, such as two quarterly order lists. Your map catches it: the extracted table has twice the rows you expected. Split it where the second title or the restarted sequence falls.

## When multiple PDF tables should share one sheet

Multiple tables should share one sheet when they have the same columns and describe the same kind of record, such as twelve monthly order tables or one table per region. Stack them into a single table with an extra column saying which source table each row came from.

### Stacking with a source column

Add a column to each extracted table before stacking, holding the table's name or its period: Q1, Q2, North, South. Then append the tables one below another under a single header. The result can be sorted, filtered and pivoted as one, and the source column still tells you where every row started.

This is the opposite of the advice in the earlier section, and both hold. Different tables need different sheets. The same table printed several times, once per month or region, wants one sheet with a column that says which.

### Annual and financial reports

Financial reports are the hardest case. They contain dozens of tables, most with year columns, units printed in the heading, and note references in a column of their own. Separating them is only the first step, and [taking the financial tables out of an annual report PDF](/blog/annual-report-pdf-to-excel) covers the units and year columns that come next.

### When the destination is not a spreadsheet

If the tables are going into a program rather than a workbook, a structured file with one named array per table can be easier to work with than sheets. For bank statements, FastBankConvert gives you Excel, CSV or JSON, and [what a bank statement looks like as JSON](/blog/bank-statement-to-json) shows how account details and transactions sit in that format. The service is still opening, and its [get-started page](/get-started) collects interest in the meantime.
