How to Concat Function in Excel

Learn multiple Excel methods to concat data with step-by-step examples, real-world applications, and pro-level tips.

excelformulaspreadsheettutorial
11 min read • Last updated: 7/2/2025

How to Concat Function in Excel

Why This Task Matters in Excel

Modern work is awash with fragmented data—customer first names in one column, last names in another, product codes broken into segments, addresses split into street, city, state, and postal code, or dates separated into day, month, and year. Analysts, finance teams, marketers, and operations managers all confront the same core challenge: turn those fragments into usable, human-readable strings. The ability to concatenate—to join pieces of text or numbers into a single continuous cell—sits at the heart of reporting, automation, mail-merging, dashboard construction, and countless ad-hoc tasks.

Imagine a customer-relationship manager preparing 5,000 personalized email greetings. Without quick concatenation skills, they would manually copy first and last names or export to another tool, dramatically slowing delivery and increasing error risk. A logistics professional combines warehouse prefixes with item codes to produce bar-scan labels—if concatenation is mishandled, a single missing hyphen results in a failed scan and potential shipping delays. Data scientists regularly pull API-fed JSON into worksheets, then stitch attributes together to match lookup keys in external databases.

Excel excels—the pun is unavoidable—at this task because of its low barrier to entry, robust text functions, and flexibility across versions. The CONCAT function (introduced in Office 2016), its older sibling CONCATENATE, the ubiquitous ampersand (&) operator, and super-charged TEXTJOIN empower users to join anything from two cells to thousands, optionally inserting delimiters, ignoring blanks, and handling arrays at lightning speed. Knowing these tools unlocks mail-merge ready fields, dynamically generated URLs, human-friendly summaries, and cross-sheet lookup keys.

Failure to understand concatenation carries real consequences. Reports might display “John” and “Smith” in separate columns, making pivot tables sloppy. ERP imports could reject SKU keys that were not merged exactly as required. Analysts may resort to manual edits, causing version drift and introducing typos. Finally, merging text seamlessly is foundational for other advanced workflows—dynamic chart titles, conditional formatting messages, and formula-generated JSON or XML fragments all rely on strong concatenation skills. Mastery here multiplies productivity across nearly every Excel discipline.

Best Excel Approach

Among several options, CONCAT (not to be confused with the old CONCATENATE) is the most powerful yet straightforward method for everyday concatenation. It handles a variable number of arguments, embraces full column references (e.g., [A:A]) without performance penalties, and is fully compatible with dynamic arrays introduced in Microsoft 365. For scenarios requiring consistent delimiters or exclusion of blanks, pair or replace it with TEXTJOIN. If you work on older versions (Excel 2013 or earlier), fall back to CONCATENATE or the & operator.

Why is CONCAT the first choice?

  1. Simplicity: Type `=CONCAT(` and pick cells—no ampersands, no messy parentheses.
  2. Version support: Available in Excel 2016+, including Microsoft 365 for web and Mac.
  3. Dynamic arrays: Spill results across rows or columns when given a range input.
  4. Readability: A single keyword conveys intent; auditing becomes easier than tracing long chains of & symbols.

Prerequisites are minimal: text or numeric values in cells, with optional delimiters stored in helper cells or typed in the formula. If your workflow demands a delimiter between every element or you must skip blanks, TEXTJOIN is usually superior; otherwise, CONCAT provides the leanest syntax.

=CONCAT(A2, " ", B2)

Alternative delimiter-friendly approach:

=TEXTJOIN(", ", TRUE, B3:F3)

Parameters and Inputs

Although CONCAT appears deceptively short, understanding its inputs prevents frustrating mistakes.

Required Inputs

  • text1 – The first item to join. Accepts a single cell reference, a literal text string wrapped in double quotes, or an entire range such as [A2:A20].
  • text2, … – Up to 253 additional items. Each can be a cell, range, literal string, or nested function returning text.

Data Types

  • Text, numbers, dates, logical TRUE/FALSE—all become text once joined.
  • Formatted numbers (currency, percentage) convert to raw text of their underlying values. Use TEXT(value, format_text) to control appearance.

Optional Considerations

  • Delimiters – Since CONCAT has no built-in delimiter argument, you insert them manually: \" \", \"-\", CHAR(10) for line breaks, or references like $F$1 if you store the delimiter in a cell.
  • Arrays – Passing a single-column range spills results vertically in modern Excel. To concatenate each row of a two-D range, use TEXTJOIN or wrap BYROW.

Data Prep

  • Trim leading/trailing spaces with TRIM; convert numbers explicitly when regional decimal separators differ.
  • Ensure no mixed data types that confuse downstream systems (e.g., join text with a percentage formatted as 0.2 instead of 20%).

Validation Rules

  • Maximum output length is 32,767 characters; exceeding this returns [#VALUE!].
  • Merged cells within argument ranges throw errors. Unmerge first.

Edge Cases

  • Blank cells create double-delimiter situations. Use TEXTJOIN with ignore_empty = TRUE or add IF(cell=\"\",\"\",cell) wrappers around blanks.

Step-by-Step Examples

Example 1: Basic Scenario – Creating Full Names

Sample Data

  • [A2:A6] First Name: John, Aisha, Roberto, Mei-Ling, Omar
  • [B2:B6] Last Name: Doe, Khan, Martinez, Zhang, El-Ashry

Steps

  1. Place cursor in C2, type the formula:
=CONCAT(A2, " ", B2)
  1. Press Enter. In Microsoft 365, the fill handle appears; drag down to C6 or let Excel AutoFill when you double-click.
  2. Resulting column C shows: \"John Doe\", \"Aisha Khan\", etc.

Why It Works
CONCAT reads argument1 (A2), appends a literal space \" \", appends argument3 (B2). The space ensures readability.

Variations

  • Middle initial in [C] column? Use five arguments:

    =CONCAT(A2, " ", B2, " ", C2)
    
  • Upper-case last names:

    =CONCAT(A2, " ", UPPER(B2))
    

Troubleshooting

  • If blanks appear in first name, the result starts with a space. Wrap A2 in IF:

    =CONCAT(IF(A2="","",A2&" "), B2)
    
  • Non-breaking spaces cause unexpected width—use CLEAN and TRIM on imported data.

Example 2: Real-World Application – Generating Custom URLs

Business Context
A digital marketing analyst wants to create campaign-tracking links for 300 product pages. Each row contains the base URL, campaign source, medium, and unique code.

Dataset

Goal
Combine these into a single hyperlink:
https://shop.example.com/product-4321?utm_source=newsletter&utm_medium=email&utm_campaign=Q1-launch

Walkthrough

  1. Insert E1 header: Full URL.
  2. In E2, enter:
=CONCAT(
    A2,
    "?utm_source=", B2,
    "&utm_medium=", C2,
    "&utm_campaign=", D2
)

Using line breaks (Alt+Enter) inside the formula improves readability but is optional.
3. Copy or spill downward for all campaigns.

Why This Solves the Problem
Marketing platforms need properly encoded parameters; CONCAT ensures that if any input value changes, the URL updates instantly. Manual typing would risk typos or forgetting ampersands.

Integration

  • Turn column E into clickable hyperlinks with:

    =HYPERLINK(E2)
    
  • Use Data > Remove Duplicates to confirm each link is unique.

Performance
300. rows is trivial. Even 100,000 URLs calculate instantly because CONCAT uses efficient native code, unlike volatile UDFs.

Example 3: Advanced Technique – Concatenating Variable Columns with Delimiter and Ignoring Blanks

Scenario
A data warehouse export lists up to ten optional product attributes in columns B through K. Empty cells occur frequently, yet you need a pipe-delimited string that skips blanks—e.g., “Red|XL|Cotton|Imported”.

Steps

  1. Put the delimiter in cell M1: \"|\" (for easier maintenance).
  2. In L2, enter a TEXTJOIN formula rather than CONCAT, to leverage the ignore_empty parameter:
=TEXTJOIN($M$1, TRUE, B2:K2)
  • $M$1 references the delimiter so you can change “|” to “, ” once and the list auto-updates.
  • TRUE tells Excel to ignore blanks, preventing “Red||XL||Cotton”.
  1. Because TEXTJOIN is non-spilling, copy L2 downward manually.

Edge Cases

  • Some attributes include the delimiter itself. Replace it prior to the join:

    =TEXTJOIN($M$1, TRUE, SUBSTITUTE(B2:K2, "|", "/"))
    
  • Large datasets (200,000 rows) may cause minor latency. Turn off automatic calculation or switch formula cells to values after finalization.

Professional Tips

  • Wrap the result in IFERROR to capture rows where all attributes are blank.

    =IFERROR(TEXTJOIN($M$1, TRUE, B2:K2), "")
    
  • To support pre-Microsoft 365 users, build a helper column that concatenates in stages or use Power Query’s Merge Columns feature.

Tips and Best Practices

  1. Store delimiters in a single cell and reference it—easier to change from comma to semicolon globally.
  2. Use TEXT for numeric formatting inside CONCAT or TEXTJOIN when you need thousands separators or currency symbols: =CONCAT("$", TEXT(A2, "#,##0.00")).
  3. Limit volatile functions (NOW, RAND) inside concatenations, or recalculation will slow workbooks dramatically.
  4. Named ranges improve readability. Instead of $A$2, use FirstName. Your formula becomes =CONCAT(FirstName, " ", LastName).
  5. Lock absolute references ($) for delimiters but keep cell references relative for data rows—this balances flexibility and robustness.
  6. Convert formulas to values before exporting CSVs to prevent accidental re-calculation in other systems.

Common Mistakes to Avoid

  1. Forgetting to convert numbers to text. Joining 0.4 with “%” might display 0.4% instead of 40 %. Wrap numbers in TEXT.
  2. Double spaces or delimiters occur when blank cells aren’t considered. Use TEXTJOIN with ignore_empty TRUE or IF wrappers.
  3. Using CONCATENATE in new workbooks. It is kept for backward compatibility but has been officially replaced—future-proof by adopting CONCAT or TEXTJOIN.
  4. Exceeding the 32,767-character limit. Massive joins for XML payloads may break; chunk content into multiple cells or switch to Power Query.
  5. Overusing volatile INDIRECT to build addresses inside CONCAT. INDIRECT recalculates constantly, slowing performance. Prefer INDEX or structured references.

Alternative Methods

MethodBest ForProsConsVersion Support
Ampersand (&) operatorQuick ad-hoc joinsMinimal typing; universalHard to audit; longer formulasAll versions
CONCAT functionTypical multi-cell joinsClean syntax; dynamic arraysNo delimiter control2016+
TEXTJOIN functionJoins with delimiter & skip blanksSingle argument handles delimiter and blanks; range inputsNot in 2013-2016+
CONCATENATE (legacy)Legacy workbooksCompatible with older macrosLimited to 255 args; deprecated2007–2016
Power Query “Merge Columns”Large datasets, ETL workflowsGUI; avoids formula overloadRequires refresh; adds query layer2010+ with add-in, 2016+ native
Flash FillPattern-based joinsNo formula; instantaneousStatic results, reapply on changes2013+

Choosing Between Them

  • Use CONCAT for 90 % of modern needs.
  • Switch to TEXTJOIN when you need delimiters or to ignore blanks.
  • Lean on & for tiny one-off formulas.
  • Deploy Power Query for heavy transformations, thousands of columns, or repeated imports from external sources.

FAQ

When should I use this approach?

Use CONCAT (or TEXTJOIN) whenever you need live, formula-driven strings that update with source data—customer greetings, dynamic file paths, or composite keys for VLOOKUP/XLOOKUP.

Can this work across multiple sheets?

Yes. Reference cells directly: =CONCAT(Sheet2!A2, " ", Sheet3!B2). For entire column joins across sheets, wrap ranges in TEXTJOIN. Remember to include the sheet name followed by an exclamation mark.

What are the limitations?

The largest hurdle is the 32,767-character output cap. Also, CONCAT cannot ignore blanks or auto-insert delimiters—use TEXTJOIN or helper IF statements. Older Excel versions prior to 2016 lack CONCAT entirely.

How do I handle errors?

Wrap your formula in IFERROR:

=IFERROR(CONCAT(A2, " ", B2), "Problem")

Check for #VALUE! which often indicates merged cells or overly long output. Unmerge or split the output across cells.

Does this work in older Excel versions?

Excel 2013 and earlier do not support CONCAT or TEXTJOIN. Use CONCATENATE or &, or install the free Power Query add-in (2010/2013) to merge columns. When sharing files, save as .xlsx rather than .xlsb if the recipient has modern Excel.

What about performance with large datasets?

CONCAT and TEXTJOIN are optimized in the Excel engine. Ten thousand rows recalculate in milliseconds. For 500,000-row tables, disable automatic calculation, concatenate in batches, or use Power Query to offload processing.

Conclusion

Mastering concatenation empowers you to transform scattered data into structured, actionable information. From simple full names to complex query strings, the skills you learned—CONCAT, TEXTJOIN, & operator, error handling, and performance tuning—feed directly into more advanced Excel capabilities like dynamic dashboards and automated reporting. Keep experimenting: convert formulas to values, test Power Query merges, and explore dynamic array behavior. With these techniques, you will streamline workflows, reduce errors, and build flexible workbooks ready for any data-combining challenge.

We use tracking cookies to understand how you use the product and help us improve it. Please accept cookies to help us improve.