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”.
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.
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
- In one column, use
=TRIM(A1)to clean up extra spaces. - Use Data > Text to Columns (space delimiter) to split the phrase into separate cells, one word per cell.
- 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.
- Press Alt + F11 to open the VBA editor.
- Go to Insert > Module.
- 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
- Save the workbook as a .xlsm file (macro-enabled).
- 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.
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.