How to Reshape Excel Data Using Dynamic Arrays and Functions
Question details
The user wants to transform and reshape a source data range into a new layout by selecting specific columns, transposing values, and arranging results.

- Product
- Spreadsheet
- Device & OS
- not provided
- Scenario
- Reorganizing complex data sets into a more readable or structured format using modern spreadsheet functions.
- Observed behavior
- The data needs to be dynamically reshaped, such as selecting alternating columns, transposing, or stacking, without manual copying and pasting.
Ensure your spreadsheet software supports modern dynamic array functions like CHOOSECOLS, VSTACK, and WRAPROWS, as older versions may return a #NAME? error.
Select and Transpose Specific Columns
Use CHOOSECOLS and TRANSPOSE to extract alternating columns and flip their orientation.
This method is ideal when you only need specific columns from a large dataset and want to display them horizontally instead of vertically.
Click on an empty cell where you want the top-left corner of your new data layout to begin. Ensure there is enough empty space around it to accommodate the spilled data.
Type the formula =TRANSPOSE(CHOOSECOLS(B3:H15, 1, 3, 5, 7)) into the formula bar. This specific formula extracts the 1st, 3rd, 5th, and 7th columns from the range B3:H15.
Press Enter. The selected columns will be dynamically extracted and transposed into rows.

Reshape Data Using LET, TOCOL, and WRAPCOLS
Use a combination of LET, TOCOL, and WRAPCOLS to flatten data and wrap it into a specific number of columns.
Stack and Arrange Data with VSTACK and HSTACK
Combine rows and columns dynamically using VSTACK and HSTACK.
Reshape Data Effortlessly with WPS Office
WPS Spreadsheet fully supports modern dynamic array functions, allowing you to reshape, filter, and organize complex datasets with ease.
- 1. Open your dataset: Launch WPS Spreadsheet and open the workbook containing the data you want to reshape.
- 2. Select an output cell: Click on an empty cell where you want the new data layout to appear.
- 3. Enter the dynamic array formula: Type your dynamic array formula, such as =TRANSPOSE(CHOOSECOLS(A1:D10, 1, 3)), and press Enter.
- 4. View the spilled results: The results will automatically spill into the adjacent cells, instantly reshaping your data.

Frequently Asked Questions
Why do I get a #SPILL! error when using dynamic arrays?
A #SPILL! error occurs when the formula needs to output multiple values, but the adjacent cells are not empty. Clear the blocking cells to allow the data to spill correctly.
Are functions like VSTACK and TOCOL available in older spreadsheet versions?
No, these are modern dynamic array functions. If you are using an older version of Excel or WPS Office, you may need to update your software to the latest version to access them.
Can I use FILTER and GROUPBY together to reshape data?
Yes, you can nest the FILTER function inside other dynamic array functions to exclude specific rows or columns before reshaping the data with WRAPROWS or CHOOSECOLS.




