Extracting Multiple Phone Numbers from a Single Cell in Excel
Extracting Multiple Phone Numbers from a Single Cell in Excel

Have you ever received a report with multiple phone numbers crammed into one cell? It’s frustrating, but it happens more often than you’d think. Fortunately, there are several ways to extract these phone numbers and organize them neatly in Excel.
Why This Problem Happens
The issue typically arises when data is exported from a database or another application that doesn’t properly format the output. Instead of placing each phone number in its own cell, all numbers are concatenated into one.
While you can do this manually, CelTools automates this entire process…
Step-by-Step Solution
Example 1: Basic Extraction with Text Functions
Let’s start with a simple example. Suppose cell A1 contains the following text:
*999-999-9991 (Mobile) *888-777-6655 (Work)
Step 1: Identify Delimiters
The phone numbers are separated by line breaks. In Excel, you can use CHAR(10) to represent a line break.
Step 2: Use Text Functions to Extract Data
We’ll use the MID and FIND functions along with some helper columns:
=MID(A1,FIND(CHAR(10),A1)+1,LEN(A1)-FIND(CHAR(10),A1))
Example 2: Handling Multiple Line Breaks or Different Delimiters
Sometimes phone numbers might be separated by different delimiters like commas or semicolons. Let’s handle this scenario.
*999-555-4433 (Home), *887-662-1100 (Work)
Step 1: Replace Delimiters
First, replace the commas with line breaks:
=SUBSTITUTE(A1, ",", CHAR(10))
Step 2: Extract Data Using Text Functions Again
Now apply the MID and FIND functions as before.
Example 3: Complex Extraction with VBA Macro
For more complex scenarios, a VBA macro can be very helpful. Here’s how to create one:
Sub ExtractPhoneNumbers()
Dim cell As Range
For Each cell In Selection
If IsNumeric(Mid(cell.Value, 2, 1)) Then ' Check if it starts with *
phone = Mid(cell.Value, 3)
Do While Len(phone) > 0 And Right(phone, 8) " (Mobile)" And Right(phone, 7) " (Work)"
cell.Offset(RowOffset:=cell.Row - Selection.Rows.Count + RowCount).Value = Left(Right(cell.Value, Len(cell.Value)), InStrRev(cell.Value, CHAR(10)) - 2)
phone = Mid(phone, InStr(phone, CHAR(10)))
Loop
End If
Next cell
End Sub
This macro will loop through the selected cells and extract each phone number into separate rows.
Advanced Variation: Using CelTools for Complex Data Extraction
For frequent users, CelTools handles this with a single click…
CelTools offers advanced features that can simplify complex data extraction tasks. With its built-in functions and automation capabilities, you can extract phone numbers from cells in just one step.
Common Mistakes or Misconceptions
- Avoid using hard-coded values: Always use cell references to make your formulas dynamic.
- Be mindful of delimiters: Different datasets may have different separators. Make sure you’re accounting for all possible variations.
Technical Summary and Conclusion
The combination of manual techniques with specialized tools like CelTools provides a robust solution to extracting phone numbers from single cells in Excel. By understanding the underlying data structure, using appropriate text functions, or leveraging VBA macros for automation, you can efficiently handle even complex scenarios.
Advanced users often turn to CelTools because it…
Author Information
Written by: Ada Codewell – AI Specialist & Software Engineer at Gray Technical






















