How to Extract the First Letter of Each Word in Excel Using TEXTJOIN and LEFT

📅 May 13, 2026 📝 Sarah Miller

Manually extracting initials for acronyms in Excel is a tedious, error-prone struggle for busy data analysts. While traditional nested formulas or complex VBA macros serve as standard workarounds, they lack adaptability. Combining TEXTJOIN and LEFT grants users dynamic, code-free acronym generation. Note this stipulation: this approach requires modern Excel engines (Excel 2019 or 365) to support array operations. It effortlessly transforms phrases like "Supply Chain Management" into "SCM". Below, we will break down the exact formula syntax and execution steps to elevate your spreadsheet efficiency.

How to Extract the First Letter of Each Word in Excel Using TEXTJOIN and LEFT

In data management and report building, extracting the initial letters from a string of text is a common requirement. Whether you need to generate employee initials, create acronyms for project names, or build unique database identifiers, manually typing these characters is tedious and highly prone to errors. Fortunately, modern versions of Microsoft Excel provide a powerful suite of functions that make this process seamless.

By combining the TEXTJOIN and LEFT functions-often alongside helper functions like TEXTSPLIT or older array-processing techniques-you can build a dynamic formula that automatically extracts the first letter of every word in a text string. In this comprehensive guide, we will explore how to construct, customize, and troubleshoot these formulas across different versions of Excel.

Understanding the Core Functions

Before assembling the complete formula, let us examine the individual building blocks that make this extraction possible.

1. The LEFT Function

The LEFT function returns the specified number of characters starting from the beginning of a text string.

Syntax: =LEFT(text, [num_chars])

For our purposes, we will use LEFT(text, 1) to isolate the very first character of each word. If we pass an array of words to the LEFT function, it will return an array containing the first letter of each of those words.

2. The TEXTJOIN Function

Introduced in Excel 2019 and Office 365, TEXTJOIN is a revolutionary function that concatenates a list or range of text strings using a specified delimiter. Crucially, it includes an option to ignore empty cells.

Syntax: =TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)

  • Delimiter: The character you want to place between each text item. To merge initials directly without spaces (e.g., "JFK"), we use an empty string ("").
  • Ignore_empty: A logical value. Setting this to TRUE ensures that any blank values in our array are ignored, preventing unnecessary spaces or errors in our final output.
  • Text1, text2...: The text strings or arrays of strings that we want to join together.

Method 1: The Modern Excel 365 Approach (Highly Recommended)

If you are using Microsoft 365 or Excel 2021, you have access to dynamic arrays and the highly versatile TEXTSPLIT function. This makes extracting initials incredibly straightforward.

The Formula

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

How It Works Step-by-Step

Let's assume cell A2 contains the text: "Federal Bureau of Investigation".

  1. TEXTSPLIT(A2, " "): This splits the text in A2 into an array of separate words, using the space character (" ") as the delimiter. This returns the array: {"Federal", "Bureau", "of", "Investigation"}.
  2. LEFT(..., 1): The LEFT function processes this array, extracting the first character from each element. This outputs a new array: {"F", "B", "o", "I"}.
  3. TEXTJOIN("", TRUE, ...): Finally, TEXTJOIN takes that array of first letters and merges them together with no separator (""). The result is: "FBoI".

Formatting to Uppercase

Acronyms and initials are typically formatted in uppercase. To ensure your output is capitalized regardless of how the source text was typed, wrap the entire formula in the UPPER function:

=UPPER(TEXTJOIN("", TRUE, LEFT(TEXTSPLIT(A2, " "), 1)))

Using our previous example, this would convert "FBoI" to "FBOI".


Method 2: The Excel 2019 & 2021 Alternative (Without TEXTSPLIT)

If you are using Excel 2019 or Excel 2021, you have the TEXTJOIN function, but you do not have TEXTSPLIT. To split the text into an array of words, we must use an XML-parsing trick utilizing FILTERXML and SUBSTITUTE.

The Formula

=TEXTJOIN("", TRUE, LEFT(FILTERXML("<t><s>" & SUBSTITUTE(A2, " ", "</s><s>") & "</s></t>", "//s"), 1))

How It Works

  1. SUBSTITUTE(A2, " ", "</s><s>"): This replaces every space in cell A2 with an XML closing and opening tag (</s><s>). For "John Fitzgerald Kennedy", it becomes "John</s><s>Fitzgerald</s><s>Kennedy".
  2. XML Packaging: By prepending "<t><s>" and appending "</s></t>", Excel constructs a valid XML string: "<t><s>John</s><s>Fitzgerald</s><s>Kennedy</s></t>".
  3. FILTERXML(..., "//s"): This function extracts the content within the <s> tags, returning an array of words: {"John", "Fitzgerald", "Kennedy"}.
  4. LEFT(..., 1) & TEXTJOIN: Just like Method 1, LEFT extracts the first character of each word, and TEXTJOIN concatenates them into "JFK".

Note: The FILTERXML function is only available on Excel for Windows. It does not work on Excel for Mac or Excel for the Web.


Handling Common Edge Cases and Clean-Up

Real-world data is rarely perfect. Extra spaces, double spaces, and punctuation can quickly disrupt your formulas. Here is how to make your formula bulletproof.

1. Handling Extra and Double Spaces

If a user accidentally types two spaces between words (e.g., "John  Smith"), TEXTSPLIT or SUBSTITUTE will interpret the empty space between those spaces as a word, which can lead to empty elements or errors. To prevent this, wrap your reference cell in the TRIM function to strip out unnecessary spacing:

=UPPER(TEXTJOIN("", TRUE, LEFT(TEXTSPLIT(TRIM(A2), " "), 1)))

2. Splitting by Multiple Delimiters (Spaces and Hyphens)

If you have hyphenated names or titles (such as "Jean-Luc Picard" or "Vice-President"), you might want initials from both parts of the hyphenated word. TEXTSPLIT allows you to specify multiple delimiters using array notation {" ", "-"}:

=UPPER(TEXTJOIN("", TRUE, LEFT(TEXTSPLIT(TRIM(A2), {" ","-"}), 1)))

Applying this formula to "Jean-Luc Picard" will output "JLP" instead of "JLP" omitting the "L".


Creating a Reusable Custom Function with LAMBDA

If you find yourself using this formula frequently across multiple worksheets, you can package it into a custom, easy-to-use function using Excel's LAMBDA feature (available in Microsoft 365).

How to Create the "INITIALS" Function:

  1. Open Excel and navigate to the Formulas tab on the Ribbon.
  2. Click Name Manager, then click New.
  3. In the Name field, enter: INITIALS
  4. In the Refers to box, paste the following formula:
    =LAMBDA(text_to_convert, UPPER(TEXTJOIN("", TRUE, LEFT(TEXTSPLIT(TRIM(text_to_convert), " "), 1))))
  5. Click OK and close the Name Manager.

Now, you can use your custom function anywhere in your workbook just like a native Excel function:

=INITIALS(A2)

Practical Example and Use Cases

Let's look at how this formula behaves with a variety of data structures in a typical project directory:

Source Text (A) Formula Applied Expected Result Use Case
william jefferson clinton =UPPER(TEXTJOIN("", TRUE, LEFT(TEXTSPLIT(TRIM(A2), " "), 1))) WJC Standard Name Initials
Sarah-Jane Smith =UPPER(TEXTJOIN("", TRUE, LEFT(TEXTSPLIT(TRIM(A3), {" ","-"}), 1))) SJS Hyphenated Names
Search Engine Optimization =UPPER(TEXTJOIN("", TRUE, LEFT(TEXTSPLIT(TRIM(A4), " "), 1))) SEO Business Acronyms
spaced out text =UPPER(TEXTJOIN("", TRUE, LEFT(TEXTSPLIT(TRIM(A5), " "), 1))) SOT Dirty Data Clean-Up

Conclusion

Extracting initials in Excel no longer requires complex VBA macros or cumbersome helper columns. By pairing the text-combining power of TEXTJOIN with the character isolation of LEFT, you can build dynamic, clean formulas that scale with your data. Whether you use the modern TEXTSPLIT approach or the backward-compatible FILTERXML technique, your spreadsheets will become more automated, robust, and professional.

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.