How to Split Semicolon-Separated Excel Array Values into Unique Items
Question details
The user needs to convert a column of cells, where each cell contains multiple semicolon-separated values, into a single, sorted list of unique elements.

- Product
- Excel
- Device & OS
- not provided
- Scenario
- Cleaning and restructuring raw data where multiple configuration settings or item tags are grouped within single cells and separated by semicolons.
- Observed behavior
- The values are currently clumped in individual cells as semicolon-separated text strings. The desired outcome is a cleanly extracted, single column of distinct, unique values.
Ensure you are using a modern version of Excel (Microsoft 365 or Excel 2021) that supports dynamic array functions like UNIQUE, TEXTSPLIT, and TEXTJOIN.
Use UNIQUE, TEXTSPLIT, and TEXTJOIN for Small Datasets
This is the most straightforward method for smaller datasets. It combines the entire column into a single text string, splits it by semicolons, and extracts the unique values.
By nesting dynamic array functions, you can manipulate the entire dataset in a single cell formula. Note that the TEXTJOIN function has a character limit, so this method is best suited for smaller lists.
Click on the empty cell where you want the new list of unique items to begin.
Type the formula: =UNIQUE(TEXTSPLIT(TEXTJOIN(";",,A2:A20),,";",TRUE)) and ensure you replace A2:A20 with your actual data range.
Press Enter. The formula will calculate and automatically spill the distinct, separated values down the column.

Use REDUCE and TEXTSPLIT for Larger Datasets
Ideal for processing larger datasets where the TEXTJOIN character limit might cause a #VALUE! error. This approach processes each cell individually.
Automate Data Extraction with an Office Script
Use a custom TypeScript Office Script to programmatically parse, split, and list unique items without relying on complex cell formulas.
Organize and Split Complex Data Using WPS Office
WPS Spreadsheet offers powerful data manipulation tools, including Text to Columns, dynamic arrays, and seamless duplicate removal. It empowers you to effortlessly split and organize semicolon-separated values into a clean, unique list without needing complex coding.
- 1. Open your dataset in WPS Spreadsheet: Launch WPS Office and open your file containing the semicolon-separated values.
- 2. Use Text to Columns: Select the data column, navigate to the Data tab, and click 'Text to Columns'. Choose 'Delimited' and set the semicolon as your delimiter to split the data across columns.
- 3. Transpose to a single column: Copy the newly split columns and use 'Paste Special > Transpose' or manually arrange them into a single column.
- 4. Remove Duplicates: Select your single column of values, go to the Data tab, and click 'Remove Duplicates' to instantly obtain your unique list.

Frequently Asked Questions
Why does my TEXTSPLIT and TEXTJOIN formula return a #VALUE! error?
This typically occurs when your dataset is too large, causing the TEXTJOIN function to exceed its maximum character limit (32,767 characters). For extensive datasets, it is recommended to use the REDUCE and TEXTSPLIT method to process each cell individually.
Can I automatically sort the extracted unique list alphabetically?
Yes. You can achieve this by wrapping your entire formula within the SORT function. For example: =SORT(UNIQUE(TEXTSPLIT(TEXTJOIN(";",,A2:A20),,";",TRUE))).
Do these formulas work in older versions of Excel?
Functions such as UNIQUE, TEXTSPLIT, and TOCOL are dynamic array functions introduced in Microsoft 365 and Excel 2021. Older versions like Excel 2016 or 2019 do not support them natively, so you would need to use Power Query, VBA, or manual Text-to-Columns operations.




