Excel Formula to Extract the First Letter of Each Word

📅 Jun 16, 2026 📝 Sarah Miller

Manually extracting the first letter of each word to create acronyms or initials in Excel is a tedious, error-prone task that drains valuable administrative time. While organizations often look to standard funding sources or departmental budgets to procure expensive data-cleansing software, utilizing built-in Excel formulas offers a powerful, cost-effective alternative.

Mastering this technique grants users immediate data-formatting autonomy without relying on IT support. As a stipulation, note that while modern Excel (Office 365) leverages dynamic arrays like TEXTJOIN and MID, legacy versions require alternative array formulas.

For example, corporate teams regularly use this method to instantly convert "Project Alpha Initiative" into "PAI" for clean client tracking. Below, we outline the exact formulas and steps to streamline your workflow.

Excel Formula to Extract the First Letter of Each Word

Whether you are creating acronyms, generating user IDs, or cleaning up a customer database, extracting the first letter of each word in a cell is a common text-manipulation task in Microsoft Excel. While Excel does not have a built-in =INITIALS() function, you can achieve this result using several methods, ranging from elegant modern formulas to classic workarounds, Power Query, and VBA.

In this comprehensive guide, we will explore the best ways to extract the first letter of each word in Excel, tailored to your specific version of Excel and your level of comfort with the software.

Method 1: The Modern Excel Formula (Excel 365 & Excel 2021+)

If you are using the subscription-based version of Excel 365 or Excel 2021, text manipulation is incredibly simple thanks to dynamic arrays and new text functions like TEXTSPLIT and CONCAT.

The Formula

=CONCAT(LEFT(TEXTSPLIT(TRIM(A2), " "), 1))

How It Works Step-by-Step

  1. TRIM(A2): This removes any accidental double spaces or leading/trailing spaces in cell A2. This ensures that empty spaces don't result in blank characters being extracted.
  2. TEXTSPLIT(..., " "): This splits the text string in A2 into an array of separate words, using the space character (" ") as the delimiter. For example, "John Fitzgerald Kennedy" becomes an array: {"John", "Fitzgerald", "Kennedy"}.
  3. LEFT(..., 1): The LEFT function runs on each item in the array, extracting only the first letter of each split word. This transforms our array into: {"J", "F", "K"}.
  4. CONCAT(...): Finally, the CONCAT function joins all the individual letters back together without any spaces, yielding the output: JFK.

Note: If you want the initials to always be in uppercase, wrap the entire formula in the UPPER function:

=UPPER(CONCAT(LEFT(TEXTSPLIT(TRIM(A2), " "), 1)))

Method 2: The Classic Nested Formula (For Older Excel Versions)

If you are using Excel 2019, 2016, or older, you do not have access to TEXTSPLIT or CONCAT. Instead, you have to use a combination of LEFT, MID, FIND, and IFERROR.

Because legacy formulas cannot dynamically loop through an unknown number of words, you must build a formula based on the maximum number of words you expect in your cell. Here is a robust formula designed to handle up to three words (e.g., First Name, Middle Name, Last Name):

The Formula

=LEFT(A2, 1) & IFERROR(MID(A2, FIND(" ", A2) + 1, 1), "") & IFERROR(MID(A2, FIND(" ", A2, FIND(" ", A2) + 1) + 1, 1), "")

How It Works

  • First Letter: LEFT(A2, 1) simply extracts the very first letter of the string.
  • Second Letter: FIND(" ", A2) + 1 locates the position of the first space and moves one character to the right. MID then extracts one character from that point. If there is no second word, IFERROR ensures it returns an empty text string ("") instead of a #VALUE! error.
  • Third Letter: FIND(" ", A2, FIND(" ", A2) + 1) finds the position of the second space by starting its search immediately after the first space. MID grabs the first character after this second space, and IFERROR handles instances where there is no third word.

Method 3: Flash Fill (The No-Formula, Instant Way)

If you do not need dynamic formulas that update automatically when the source text changes, Excel's built-in AI tool, Flash Fill, is the fastest way to get the job done.

How to Use Flash Fill

  1. Create a new column next to your data (e.g., Column B).
  2. In cell B2, manually type the initials of the text in A2. For example, if A2 is "Acme Corporation", type AC in B2.
  3. Move to cell B3, and type the initials for A3. For example, if A3 is "Global Logistics Group", type GLG.
  4. As you begin typing, Excel may show a grey preview list of suggested initials for the rest of the column. Press Enter to accept.
  5. If the preview does not appear, select cell B2 down to the end of your data range and press Ctrl + E (or go to the Data tab and click Flash Fill).

Flash Fill parses the pattern of your manual input and applies it to the entire dataset instantly.

Method 4: Creating a Custom Formula Using VBA (User-Defined Function)

If you frequently need to extract initials and want a simple, clean formula like =GetInitials(A2) without typing complex nested strings, you can create a custom VBA function. This works on all versions of Excel for Windows and Mac.

The VBA Code

Function GetInitials(txt As String) As String
    Dim words() As String
    Dim i As Long
    Dim result As String
    
    ' Trim and split the text by spaces
    words = Split(Application.WorksheetFunction.Trim(txt), " ")
    
    ' Loop through each word and grab the first letter
    For i = LBound(words) To UBound(words)
        If Len(words(i)) > 0 Then
            result = result & Left(words(i), 1)
        End If
    Next i
    
    ' Return the uppercase result
    GetInitials = UCase(result)
End Function

How to Install the VBA Code

  1. Press Alt + F11 (Windows) or Opt + F11 (Mac) to open the VBA Editor.
  2. In the menu, click Insert > Module.
  3. Copy and paste the code above into the blank module window.
  4. Close the VBA Editor.
  5. Back in your worksheet, use your new formula: =GetInitials(A2).

Important Note: Save your Excel workbook as an Excel Macro-Enabled Workbook (.xlsm) to ensure your custom VBA function is saved and works the next time you open the file.

Method 5: Power Query (Best for Large Datasets & ETL Pipelines)

For data analysts dealing with millions of rows, Power Query is the preferred tool. It is robust, repeatable, and easily handles variations in text spacing.

How to Extract Initials in Power Query

  1. Select your data table, navigate to the Data tab, and click From Table/Range. This opens the Power Query Editor.
  2. Select the column containing your words.
  3. Go to Add Column > Custom Column.
  4. Name your column (e.g., "Initials") and use the following Power Query M formula:
    Text.Combine(List.Transform(Text.Split([ColumnName], " "), each Text.Start(_, 1)))
    Replace [ColumnName] with the actual name of your column.
  5. Click OK.
  6. Go to Home > Close & Load to return the extracted initials to a new worksheet in Excel.

Comparison: Which Method Should You Choose?

Method Pros Cons Best For
Modern Formula (Excel 365) Dynamic; automatic updates; short and elegant. Does not work on older Excel versions. Users with Office 365 or Excel 2021+.
Classic Formula Works on all Excel versions; no macros needed. Extremely long; limited to a preset number of words. Users on legacy Excel versions (2019 and older).
Flash Fill Instant; no formulas required; zero learning curve. Static; does not update if source text changes. Quick, one-off cleanup tasks.
VBA Custom Function Creates a clean, simple formula; handles unlimited words. Requires saving as .xlsm; security prompts for macros. Repetitive tasks in corporate macro-enabled workbooks.
Power Query Highly scalable; part of automated data pipelines. Slightly higher learning curve; requires manual refresh. Large enterprise datasets and databases.

Conclusion

Extracting the first letters of words in Excel doesn't have to be a headache. If you are on the latest version of Excel 365, the combination of TEXTSPLIT and CONCAT is the most efficient and robust solution. For legacy machines or quick cleanups, Flash Fill or the classic MID/FIND nesting will ensure you get your results with minimal fuss.

Disclaimer:
The documents and templates provided on this page are for informational and illustrative purposes only. They do not constitute professional, legal, or financial advice, and should not be relied upon as such. Because individual circumstances and regulatory requirements vary, these materials may not be suitable for your specific needs. We recommend consulting with a qualified professional before adapting or using any of these examples for official or commercial purposes.