Problem description & analysis:
Table A-C has multiple rows of data, where certain rows are empty; and column C has duplicate values. Values of column E are unique; they correspond to certain values of column C, but there are inconsistent letter cases among the corresponding values.
A | B | C | D | E | |
1 | PipeID | Length | Material | Configuration_List | |
2 | Ko | 1 | plast | Plast | |
3 | Hund | 2 | concrete | PVC | |
4 | PP | ||||
5 | Gris | 3 | plast | ||
6 | Lam | 4 | PVC | ||
7 | Fisk | 5 | PP |
We need to align table A-C to column E and ignore case difference.
G | H | I | |
1 | PipeID | Length | Material |
2 | Ko | 1 | plast |
3 | Gris | 3 | plast |
4 | Lam | 4 | PVC |
5 | Fisk | 5 | PP |
Solution:
Use SPL XLL to do this:
=spl("=?1.align@a(E@1(?2).(upper(~)),upper(~3)).conj()",A2:C7,E2:E4)
As shown in the picture below:
Explanation:
align@a function aligns a sequence to another sequence and performs grouping. conj() function concatenates members of all groups. E@1 converts a multilayer sequence to a single-layer one.
Please free to download SPL XLL and explore the data processing journey on your own⬇️
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