How to Create an Acronym Generator in Excel

Turning a phrase like “Excel Formula Tips” into “EFT” sounds simple, but Excel doesn’t have a built-in ACRONYM() function. The good news is you can build your own acronym generator with a formula, and depending on your Excel version, it can be a one-liner or a slightly longer setup.

Method 1: TEXTSPLIT + TEXTJOIN (Excel 365, Easiest)

If you’re on Microsoft 365, this is by far the cleanest way to do it. It grabs the first letter of every word and joins them together.

=TEXTJOIN("",TRUE,LEFT(TEXTSPLIT(A1," "),1))

So if A1 contains “Application Programming Interface”, this formula splits it into three words, grabs the first letter of each (“A”, “P”, “I”), and glues them together into “API”.

This will pick up the first letter of every word, even lowercase ones like “of” or “the.” If you only want capitalized words counted, see Method 2 below.

Method 2: Only Capitalize on Capital Letters (Skips Small Words)

Sometimes you don’t want “of,” “and,” or “the” showing up in your acronym. This version filters out lowercase-starting words and only uses words that already begin with a capital letter:

=LET(
text,A1,
chars,LEFT(TEXTSPLIT(text," "),1),
codes,CODE(chars),
capitals,FILTER(chars,(codes>=65)*(codes<=90)),
TEXTJOIN("",1,capitals)
)

Feed it “Bank of America” and it returns “BA,” skipping “of” entirely because it doesn’t start with a capital letter. This is handy for company names, project titles, or anything where filler words shouldn’t count.

See also  How to Group Data Using Power Query in Excel

If your source text isn’t already properly capitalized, wrap it in PROPER() first, like this: =LET(text,PROPER(A1), ...)

Method 3: Older Excel Without TEXTSPLIT

If you’re stuck on an older version without TEXTSPLIT or LET, you’ll need to lean on a helper column or a slightly clunkier array-style formula.

Using a helper column approach

  1. In one column, use =TRIM(A1) to clean up extra spaces.
  2. Use Data > Text to Columns (space delimiter) to split the phrase into separate cells, one word per cell.
  3. In a new cell, combine the first letters manually: =LEFT(B1,1)&LEFT(C1,1)&LEFT(D1,1)

It’s not elegant, but it works reliably and doesn’t require any modern functions.

Using SUBSTITUTE tricks (no helper columns)

For short phrases, this formula avoids splitting into separate cells entirely:

=UPPER(LEFT(A1,1)&MID(A1,FIND(" ",A1)+1,1)&MID(A1,FIND(" ",A1,FIND(" ",A1)+1)+1,1))

This one is built to handle exactly three words. If your phrase has more or fewer words, you’ll need to add or remove a MID() segment, which is part of why the TEXTSPLIT approach in Method 1 is worth upgrading to if you can.

Method 4: VBA Function (For Reusable, Variable-Length Acronyms)

If you’re generating acronyms often and want something that works no matter how many words are in the phrase, a small VBA function is the most flexible option.

  1. Press Alt + F11 to open the VBA editor.
  2. Go to Insert > Module.
  3. Paste in this code:
Function ACRONYM(txt As String) As String
    Dim words() As String
    Dim i As Integer
    Dim result As String
    words = Split(Trim(txt), " ")
    For i = LBound(words) To UBound(words)
        If Len(words(i)) > 0 Then
            result = result & UCase(Left(words(i), 1))
        End If
    Next i
    ACRONYM = result
End Function
  1. Save the workbook as a .xlsm file (macro-enabled).
  2. In any cell, type =ACRONYM(A1)

This handles phrases with any number of words automatically, no need to rewrite the formula every time your text has more or fewer words than expected.

See also  How to Build a Simple Dynamic Dashboard with FILTER, SORT and XLOOKUP

Which Method Should You Pick?

Situation Best Method
Excel 365, want it fast TEXTSPLIT + TEXTJOIN
Want to skip filler words LET + FILTER on capital letters
Older Excel, no dynamic arrays Helper column with Text to Columns
Need it to work on any phrase length automatically VBA function

If you’re only doing this occasionally, the TEXTSPLIT formula in Method 1 is honestly hard to beat. But if you’re building something like a SKU generator or ID system where this runs constantly on new data, the VBA function saves you from rewriting formulas every time the word count changes.