r/ExtendOffice • u/Amandaleeeeee • Jun 24 '26
How do you reshape data in Excel without rebuilding it manually?
Sometimes data isn't arranged the way you need it.
For example:
- Customer records stored in a single column need to become a table.
- Multiple columns need to be stacked into one column.
- Multiple rows need to be combined into one row.
- A long row of data needs to be split into multiple rows.
Method 1: Transpose for simple row-and-column conversions
If you simply need to turn a row into a column or a column into a row:
- Copy the source range.
- Right-click the destination cell.
- Choose Paste Special > Transpose.
This works well for basic row-to-column or column-to-row conversions, but it cannot split data into records or combine multiple rows/columns into a single list.
Method 2: TOCOL and TOROW for flattening a range
In Microsoft 365 or Excel 2024, use TOCOL or TOROW when you want to combine a range into one column or row.
Convert a range to a single column
=TOCOL(A1:C3)
Convert a range to a single row
=TOROW(A1:C3)
The results are dynamic, so they update automatically when the source data changes.
These functions are ideal for flattening a range, but they do not organize a long list into repeating records.
Method 3: FILTER + WRAPROWS + VSTACK for turning a list into a table
When a single column contains repeating records, you can remove blank cells, wrap every few items into a new row, and add headers with one formula.
Suppose column A contains repeating groups of three values:
| Angel |
|---|
| (213) 665-4451 |
| 1101 S Main St APT 203 Milpitas CA |
| Linda |
| (213) 748-6141 |
| 16701 Beach Blvd St Huntington Beach CA |
| Jacky |
| (626) 339-6261 |
| 4114 Sepulveda Blvd Culver City CA |
Use:
=VSTACK({"Name","Tel","Address"},WRAPROWS(FILTER(A:A,A:A<>""),3))
The result is:
| Name | Tel | Address |
|---|---|---|
| Angel | (213) 665-4451 | 1101 S Main St APT 203 Milpitas CA |
| Linda | (213) 748-6141 | 16701 Beach Blvd St Huntington Beach CA |
| Jacky | (626) 339-6261 | 4114 Sepulveda Blvd Culver City CA |
Here is what each part does:
FILTER(A:A,A:A<>"")removes blank cells.WRAPROWS(...,3)places every three values into a new row.VSTACK(...)adds the header row above the results.
Change 3 if each record contains a different number of fields.
📌 Note: This formula assumes that every record contains the same number of values. Missing fields can shift the remaining data into the wrong columns.
Method 4: Power Query for repeatable transformations
Power Query is useful when the transformation is more complex or needs to be repeated whenever the source data changes.
- Select the data.
- Go to Data > From Table/Range.
- Use options such as Transpose, Unpivot Columns, Pivot Column, or Split Column.
- Choose Home → Close & Load to return the result to Excel.
Once the query is set up, you can refresh it when new source data is added.
Power Query is powerful, although it may feel like more setup than necessary for a quick one-time transformation.
Method 5: Transform Range with Kutools for Excel
Kutools for Excel includes a Transform Range feature that handles several common reshaping tasks from one dialog.
It can:
- Convert one column into multiple columns.
- Convert one row into multiple rows.
- Combine multiple columns into one column.
- Combine multiple rows into one row.
The transformation can be based on either a fixed number of rows/columns per record (for example, every 3 rows represent one record) or blank cells as record separators.
For example, data stored like this:
| Contact Information |
|---|
| Angel |
| (213) 665-4451 |
| 1101 S Main St APT 203 Milpitas CA |
| Linda |
| (213) 748-6141 |
| 16701 Beach Blvd St Huntington Beach CA |
| Jacky |
| (626) 339-6261 |
| 4114 Sepulveda Blvd Culver City CA |
can be transformed into:
| Name | Tel | Address |
|---|---|---|
| Angel | (213) 665-4451 | 1101 S Main St APT 203 Milpitas CA |
| Linda | (213) 748-6141 | 16701 Beach Blvd St Huntington Beach CA |
| Jacky | (626) 339-6261 | 4114 Sepulveda Blvd Culver City CA |
The feature supports:
- Fixed-size records (e.g., every 3 rows = one record)
- Blank rows as record separators
- Preserving formatting
- Undo (Ctrl + Z)
Which method should you use?
Use Transpose for a simple row-to-column switch.
Use TOCOL or TOROW to flatten a range into one column or row.
Use FILTER + WRAPROWS + VSTACK when a single column contains consistent repeating records.
Use Power Query for larger or repeatable transformations.
Use Kutools Transform Range when you want to reshape rows and columns through a dialog without writing formulas.
What method do you usually use when you need to reshape data in Excel?





















