Problem description & analysis:
The Excel table below has a nonstandard format – every 3 rows correspond to one record and under each row title, every 3 rows correspond to one column, as shown below:
A | B | C | D | E | |
1 | Fruit | Breed | Shop | price | qty |
2 | Musk | ||||
3 | Lime | Lavonne | 1 | 4 | |
4 | Melon | ||||
5 | Apple | Kirin | Way Side | 2 | 5 |
6 | |||||
7 | |||||
8 | peach | Japan | |||
9 | Kubo | ||||
10 | Daimomo | Cshop | 3 | 4 |
Task: Organize the table as a standard one by combining cell values of every 3 rows under each column into one cell and delimit them with spaces. Below is the expected result:
G | H | I | J | K | |
1 | Fruit | Breed | Shop | price | qty |
2 | Lime | Musk Melon | Lavonne | 1 | 4 |
3 | Apple | Kirin | Way Side | 2 | 5 |
4 | peach | Japan Kubo Daimomo | Cshop | 3 | 4 |
Solution:
Enter the following formula in SPL XLL:
=spl("=E@2p(E@2p(?).(~.group((#-1)\3).(~.select(~).concat(""""))))",A2:E10)
As shown in the picture below:
Explanation:
E@2p transposes the table. group() groups rows; # is the row number.
Download esProc Desktop and boost your productivity today! 🚀
SPL download address: esProc Desktop Download
Plugin Installation Method: SPL XLL Installation and Configuration
References to other rich Excel operation cases: Desktop and Excel Data Processing Cases
SPL Programming (YouTube FREE courses): https://www.youtube.com/playlist?list=PLQeR-IhHo7qNCw6o7PW8YfHvRx8pgzZso