How to extract unique values from multiple columns in Excel?
Supposing you have several columns with multiple values, some values are repeated in same column or different column. And now you want to find the values which are present in either column only once. Are there any quick tricks for you to extract unique values from multiple columns in Excel?
Extract unique values from multiple columns with formulas
This section will cover two formulas: one using an array formula suitable for all Excel versions, and another using a dynamic array formula specifically for Excel 365.
Extract unique values from multiple columns with Array formula for all Excel versions
For users with any version of Excel, array formulas can be a powerful tool for extracting unique values across multiple columns. Here’s how you can do it:
1. Assuming your values in range A2: C9, please enter the following formula into cell E2:
=INDIRECT(TEXT(MIN(IF(($A$2:$C$9<>"")*(COUNTIF($E$1:E1,$A$2:$C$9)=0),ROW($2:$9)*100+COLUMN($A:$C),7^8)),"R0C00"),)&""
2. Then press Shift + Ctrl + Enter keys together, and then drag the fill handle to extract the unique values until blank cells appear. See screenshot:
- $A$2:$C$9: This specifies the data range to be checked, which is the cells from A2 to C9.
- IF(($A$2:$C$9<>"")*(COUNTIF($E$1:E1,$A$2:$C$9)=0), ROW($2:$9)*100+COLUMN($A:$C), 7^8):
- $A$2:$C$9<>"" checks whether the cells in the range are not empty.
- COUNTIF($E$1:E1,$A$2:$C$9)=0 determines if the values of these cells have not yet been listed in the range of cells from E1 to E1.
- If both conditions are met (i.e., the value is not empty and not yet listed in column E), the IF function calculates a unique number based on its row and column (ROW($2:$9)*100+COLUMN($A:$C)).
- If the conditions are not met, the function returns a large number (7^8), which serves as a placeholder.
- MIN(...): Finds the smallest number returned by the IF function above, corresponding to the location of the next unique value.
- TEXT(...,"R0C00"): Converts this minimum number into an R1C1 style address. The format code R0C00 indicates the conversion of the number into Excel cell reference format.
- INDIRECT(...): Uses the INDIRECT function to convert the R1C1 style address generated in the previous step back to a normal A1 style cell reference. The INDIRECT function allows cell referencing based on the content of a text string.
- &"": Appending &"" at the end of the formula ensures the final output is treated as text, so even numbers will be displayed as text.
Extract unique values from multiple columns with formula for Excel 365
Excel 365 supports dynamic arrays, making it much easier to extract unique values from multiple columns:
Please enter or copy the following formula into a blank cell where you want to put the result, and then click Enter key to get all the unique values at once. See screenshot:
=UNIQUE(TOCOL(A2:C9,1))
Extract unique values from multiple columns with Kutools AI Aide
Unleash the power of Kutools AI Aide to seamlessly extract unique values from multiple columns in Excel. With just a few clicks, this intelligent tool sifts through your data, identifying and listing unique entries across any selected range. Forget the hassle of complex formulas or vba code;Embrace the efficiency of Kutools AI Aide and transform your Excel workflow into a more productive and error-free experience.
After installing Kutools for Excel, please click Kutools AI > AI Aide to open the Kutools AI Aide pane:
- Type your requirement into the chat box, and click Send button or press Enter key to send the question;
"Extract unique values from the range A2:C9, ignoring blank cells, and place the results starting at E2:" - After analyzing, click Execute button to run. Kutools AI Aide will process your request using AI and return the results in the specified cell directly in Excel.
Extract unique values from multiple columns with Pivot Table
If you are familiar with the pivot table, you can easily extract the unique values form multiple columns with following steps:
1. At first, please insert one new blank column at the left of your data, in this example, I will insert column A beside the original data.
2. Click one cell in your data, and press Alt+D keys, then press P key immediately to open the PivotTable and PivotChart Wizard, choose Multiple consolidation ranges in the wizard step1, see screenshot:
3. Then click Next button, check Create a single page field for me option in wizard step2, see screenshot:
4. Go on clicking Next button, click to select the data range which including the left new column of cells, then click Add button to add the data range to the All ranges list box, see screenshot:
5. After selecting the data range, continue click Next, in the wizard step 3, choose where you want to put the PivotTable report as you like.
6. At last, click Finish to complete the wizard, and a pivot table has been created in current worksheet, then uncheck all the fields from the Choose fields to add to report section, see screenshot:
7. Then check the field Value or drag the Value to the Rows label, now you will get the unique values from the multiple columns as follows:
Extract unique values from multiple columns with VBA code
With the following VBA code, you can also extract the unique values from multiple columns.
1. Hold down the ALT + F11 keys, and it opens the Microsoft Visual Basic for Applications window.
2. Click Insert > Module, and paste the following code in the Module Window.
VBA: Extract unique values from multiple columns
Sub Uniquedata()
'Updateby Extendoffice
Dim rng As Range
Dim InputRng As Range, OutRng As Range
Set dt = CreateObject("Scripting.Dictionary")
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
For Each rng In InputRng
If rng.Value <> "" Then
dt(rng.Value) = ""
End If
Next
OutRng.Range("A1").Resize(dt.Count) = Application.WorksheetFunction.Transpose(dt.Keys)
End Sub
3. Then press F5 to run this code, and a prompt box will pop out to remind you select the data range that you want to use. See screenshot:
4. And then click OK, another prompt box will appear to let you choose a place to put the result, see screenshot:
5. Click OK to close this dialog, and all the unique values have been extracted at once.
More relative articles:
- Count The Number Of Unique And Distinct Values From A List
- Supposing, you have a long list of values with some duplicate items, now, you want to count the number of unique values (the values that appear in the list only once ) or distinct values (all different values in the list, it means unique values +1st duplicate values) in a column as left screenshot shown. This article, I will talk about how to deal with this job in Excel.
- Extract Unique Values Based On Criteria In Excel
- Supposing, you have the following data range that you want to list only the unique names of column B based on a specific criterion of column A to get the result as below screenshot shown. How could you deal with this task in Excel quickly and easily?
- Only Allow Unique Values In Excel
- If you want to keep only unique values entering in a column of worksheet and prevent the duplicates, this article will introduce some quick tricks for you to deal with this task.
- Sum Unique Values Based On Criteria In Excel
- For example, I have a range of data which contains Name and Order columns, now, to sum only unique values in Order column based on the Name column as following screenshot shown. How to solve this task quickly and easily In Excel?
Best Office Productivity Tools
Supercharge Your Excel Skills with Kutools for Excel, and Experience Efficiency Like Never Before. Kutools for Excel Offers Over 300 Advanced Features to Boost Productivity and Save Time. Click Here to Get The Feature You Need The Most...
Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier
- Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
- Open and create multiple documents in new tabs of the same window, rather than in new windows.
- Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!