How to extract all partial matches in Excel?
If you want to extract all matches which contain a specific key word from a column and list them in a column or in a cell separated by a delimiter as below screenshot shown, how could you solve this task in Excel?
Extract all partial matches vertically with formula
Extract all partial matches into a single cell with User Defined Function
Extract all partial matches vertically with formula
To extract all matches vertically in a column based on a partial text, the following array formula can do you a favor:
Step1: Please copy and paste the below formula into a blank cell where you want to put the result:
Note: In the above formula, A2:A14 is the cells may contain the key word that you want to return matches from, C2 contains the key word, E1 is the cell above the formula.
Step2: Then press Ctrl + Shift + Enter keys simultaneously to get the first result, and then drag the fill handle down to get all matches until error value appears. At last, delete the error values, see screenshot:
Extract all partial matches into a single cell with User Defined Function
If you need to extract all the matches into a single cell and separated by a specific delimiter, maybe there is no formula can solve it. Here, you need to apply the below User Defined Function:
Step1: Press Alt + F11 keys to open the Microsoft Visual Basic for Applications window.
Step2: In the Microsoft Visual Basic for Applications window, click Insert > Module, then copy the following code into the Module.
VBA code: Extract all partial matches into a single cell
Function ExtractPartMatch(rngInput As Range, rngSource As Range, Optional sDelimiter As String)
'Updateby ExtendOffice
Dim rng As Range
If sDelimiter = "" Then sDelimiter = ", "
For Each rng In rngSource
If InStr(1, rng.Value, rngInput.Value, vbTextCompare) > 0 Then ExtractPartMatch = ExtractPartMatch & sDelimiter & rng.Value
Next
If Len(ExtractPartMatch) > 0 Then ExtractPartMatch = Mid(ExtractPartMatch, 2, Len(ExtractPartMatch))
End Function
Step3: After pasting the code, please go back to the worksheet where you want to locate the result, then enter this formula: =ExtractPartMatch(C2,$A$2:$A$14), and then, press Enter key to get the result as below screenshot shown:
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!