CONCATENATE Function

CONCATENATE Function

CONCATENATE Function

Join two or more text strings into one. A fundamental tool for merging names, building codes, and combining labels — and the starting point for learning CONCAT and TEXTJOIN.

ExcelClash Team
PUBLISHED

Summary

The Excel CONCATENATE function joins two or more text strings into one. It is one of the oldest text functions in Excel, and most users learn it as their first tool for combining text from separate cells. You can use it to join names, build product codes, add a label to a number, or write a sentence that pulls values from your spreadsheet automatically.

CONCATENATE is technically a legacy function — Microsoft replaced it with CONCAT in Excel 2016, which works the same way but also accepts whole cell ranges as input. However, CONCATENATE still works in all versions of Excel, so you will still see it used in older spreadsheets and by users who work across older systems. If you learn CONCATENATE, switching to CONCAT or the & operator later is easy because the logic is identical.

Purpose

Join multiple text strings into one

Combines up to 255 separate items — cells, numbers, and typed text — into a single string. No separator is added automatically.

Return Value

A single combined string

Returns a text string. Numbers are converted to text automatically but lose any formatting like currency symbols or date shapes.

Syntax

=CONCATENATE(text1, [text2], ...)

CONCATENATE takes one or more text arguments. The first, text1, is required. All others are optional. You can include cells, numbers, and typed text in quotes in any order. A very common mistake is forgetting to add spaces — if you write =CONCATENATE(A1, B1) with "John" in A1 and "Doe" in B1, the result will be "JohnDoe" with no space. You must include the space as a separate argument: =CONCATENATE(A1, " ", B1).

Arguments

  • text1 — [Required] The first item to join. Can be a cell reference, a number, or a text string in quotes.
  • text2, ... — [Optional] More items to join, up to 255 in total. Each must be listed individually — CONCATENATE does not accept ranges like A1:A5.

CONCATENATE vs Other Functions

CONCATENATE is the original way to join text in Excel. Newer functions do the same job with less typing, and in some cases can do things CONCATENATE cannot — like joining a whole range at once or automatically adding a separator.

Function Accepts Ranges? Auto Separator? Use When
CONCATENATE No — cells only No Working in older Excel versions or learning the basics
CONCAT Yes No Joining a range of cells without needing a separator
TEXTJOIN Yes Yes — set once Joining a list where every item needs the same separator
& operator No — cells only No Quick joins of two or three cells where a short formula is preferred

For new spreadsheets, it is better to use CONCAT instead of CONCATENATE since they behave identically for cell-by-cell joins, but CONCAT can also handle ranges. The & operator is an even shorter alternative — =A1&" "&B1 does exactly the same thing as =CONCATENATE(A1," ",B1) in fewer characters.

Using CONCATENATE

The most common uses for CONCATENATE are joining a first and last name into a full name, building a product or document code from parts stored in different columns, and writing report summary sentences like "The total for Q1 is $5,000." These tasks come up all the time when you are preparing data for reports or importing records into another system.

One important thing to know is that CONCATENATE treats numbers and dates as plain text when joining them. If cell A1 contains a date formatted as "01/01/2025," joining it with CONCATENATE will often give you the raw serial number instead of the formatted date. To keep the date format, wrap the date value in a TEXT function first: =CONCATENATE("Report for: ", TEXT(A1,"dd/mm/yyyy")).

  • Always include spaces or punctuation as separate text arguments — CONCATENATE will not add them automatically.
  • Use TEXT() inside CONCATENATE to control how dates and numbers appear in the output.
  • For the exact same result in fewer characters, write =A1&" "&B1 instead of using CONCATENATE.

Example 1 — Joining a First and Last Name

This is the most classic use. You have a name split across two cells and need it combined in a third. The space is added as a text string between the two cell references — without it, the names would touch with no gap.

=CONCATENATE(A1, " ", B1)   // "John Doe"
=CONCATENATE(B1, ", ", A1)  // "Doe, John" (flipped format)
Check Answer
Challenge #1
Target: Sheet1!F1
Join a First and Last Name

In cell F1, use CONCATENATE to join A1 ("John") and B1 ("Doe") with a space between them.

Example 2 — Adding a Text Prefix to a Number

When you need to add a label before a number — like a product code prefix or a reference tag — CONCATENATE combines the typed text and the cell value automatically. The number gets converted to text as part of the join.

=CONCATENATE("SKU-", B2)    // "SKU-99"
=CONCATENATE("INV-", A1, "-", B1) // "INV-2026-001"
Check Answer
Challenge #2
Target: Sheet1!F2
Add a Prefix to a Number

In cell F2, combine the text "SKU-" with the number in B2 (99) to create a product code.

Example 3 — Writing a Sentence with a Cell Value Inside It

CONCATENATE is great for building dynamic dashboard messages. Instead of updating text manually whenever a value changes, you build the sentence once and let the formula update it automatically when the underlying data changes.

=CONCATENATE("Current yield is ", B3)
// If B3 = "98%", result is "Current yield is 98%"
Check Answer
Challenge #3
Target: Sheet1!F3
Build a Sentence from Cells

In cell F3, write a sentence using text and the value in B3 (98%). Formula: =CONCATENATE("Current yield is ",B3).

Example 4 — Building a Report Name with a Dynamic Date

A common task in reporting is generating a consistent file name or tab title that includes the current date. By storing the date as text in a cell and joining it with a prefix, each report gets a unique, automatically generated name.

=CONCATENATE("Report_", C1)
// If C1 = "2026-04-07", result is "Report_2026-04-07"

=CONCATENATE("Q1_", TEXT(A1,"yyyy"), "_Results")
// Builds a name with a formatted year from a date value
Check Answer
Challenge #4
Target: Sheet1!F4
Create a Labelled Report Name

In cell F4, combine "Report_" with the date text in C1 to build a file name label.

Keep in mind that CONCATENATE cannot handle ranges. If you write =CONCATENATE(A1:A5), Excel might accept it but will only return the value of A1. To join a range of cells, use CONCAT or TEXTJOIN instead.

  • CONCATENATE does not accept ranges — list every cell separately or switch to CONCAT.
  • The & operator is a shorter way to write the same join for simple cases.
  • Use TEXT() inside the formula when joining dates or numbers that need to stay formatted.

A simple rule: use CONCATENATE or & when joining a few specific cells, and switch to TEXTJOIN or CONCAT when working with longer ranges or lists.

Conclusion Recap

  • Summary: CONCATENATE joins two or more text items into a single string.
  • Syntax: =CONCATENATE(text1, [text2], ...) — list each item separately.
  • Arguments: The first is required. Add up to 255 total — but no ranges.
  • Key difference: Unlike CONCAT, CONCATENATE cannot accept cell ranges like A1:A10 as a single argument.
  • Practical usage: Joining names, building product codes, writing dashboard summary sentences.
  • Best pattern: For new workbooks, use CONCAT instead — same behaviour but with added range support.
Tactical Arena
Select Scenario:
Share CONCATENATE Function!

Tell your friends about this post

Discussion

ExcelClash is an interactive platform designed to level up your Excel skills through real-world exercises and challenges. Sharpen your logic, solve real spreadsheet problems, and learn faster.

© 2026 ExcelClash, Inc. All rights reserved.