CONCAT function

CONCAT joins two or more text strings into one continuous string, automatically coercing numbers and dates to text without a delimiter.

=CONCAT(text1, ...)

Generate a CONCAT formula

Describe what you need. The generator will reach for CONCAT where CONCAT is the right tool, and tell you when it is not.

How to get a better answer
  • Name your columns by letter and by header: "column F (Net Value)" beats "the amount column".
  • State every condition, including the negatives — "not cancelled" changes the formula's shape.
  • Say where the data starts if it is not row 1, and whether it will grow.
  • Check the settings above match your spreadsheet: the wrong argument separator is a syntax error on your machine.

Arguments

How CONCAT reads its arguments
text1requiredCONCAT
ArgumentRequiredDescription
text1RequiredThe first required argument; can be a string, number, date, cell reference, or range, and is coerced to text before joining.
...RepeatingOptional additional arguments; each may be a literal, cell, range, or expression, and are concatenated in the order supplied.

Returns

It returns a single text string that is the concatenation of all supplied arguments.

Availability

Excel: 2019+ · Google Sheets: Not available

Worked examples

1. Create a readable plan label for each customer

CustomerPlanMRRSignup DateChurn Date
Acme CorpPro12002022-01-15
Beta LLCBasic5002022-03-012023-02-28
=CONCAT(A2, " (", B2, ")")

Result: Acme Corp (Pro)

The formula takes the value in A2 (Acme Corp) and B2 (Pro), inserts a space, an opening parenthesis, and a closing parenthesis, and concatenates everything. CONCAT automatically turns the numbers and dates into text, but they are not needed here, so the final string is exactly "Acme Corp (Pro)".

2. Generate a simple invoice line from MRR

CustomerPlanMRRSignup DateChurn Date
Acme CorpPro12002022-01-15
Beta LLCBasic5002022-03-012023-02-28
=CONCAT("Invoice for ", A2, ": $", C2)

Result: Invoice for Acme Corp: $1200

Here CONCAT stitches together a literal prefix, the customer name from A2, another literal, and the numeric MRR from C2. Excel coerces the number 1200 to the text "1200", so the result reads like a short invoice description.

3. Show a subscription timeline, handling ongoing accounts

CustomerPlanMRRSignup DateChurn Date
Acme CorpPro12002022-01-15
Beta LLCBasic5002022-03-012023-02-28
=CONCAT(A2, ": ", D2, " to ", IF(E2="","present",E2))

Result: Acme Corp: 2022-01-15 to present

The formula concatenates the customer name, the signup date, and either the churn date or the word "present" if the churn cell is blank. IF evaluates E2; when it is empty, the inner CONCAT is skipped and "present" is used, producing a readable timeline for active subscriptions.

Common errors

Which CONCAT error are you seeing?
CONCAT returned an error#N/A
Wrap the problematic reference with IFERROR or provide a fallback value, e.g., IFERROR(A2, "Unknown").
#REF!
Restore the missing cell, adjust the formula to point to an existing range, or use INDIRECT with a stable address string.
#DIV/0!
Correct the underlying arithmetic, or shield the argument with IFERROR(..., "0") before concatenation.
ErrorWhy it happensHow to fix it
#N/AOne of the CONCAT arguments contains the #N/A error, which propagates because CONCAT cannot ignore lookup failures.Wrap the problematic reference with IFERROR or provide a fallback value, e.g., IFERROR(A2, "Unknown").
#REF!A cell reference used inside CONCAT was deleted, leaving an invalid reference that triggers #REF!.Restore the missing cell, adjust the formula to point to an existing range, or use INDIRECT with a stable address string.
#DIV/0!An argument points to a cell where a division by zero error occurred; CONCAT passes that error through unchanged.Correct the underlying arithmetic, or shield the argument with IFERROR(..., "0") before concatenation.

Tips and when to use something else

  • Use TEXTJOIN when you need a delimiter between items and want to ignore empty cells.
  • CONCATENATE works in older Excel versions that lack CONCAT, but it requires each argument to be listed individually.
  • Numbers and dates are automatically coerced to text, but you can format them first with TEXT for custom display.
  • Combine CONCAT with IFERROR to produce clean strings even when some inputs contain errors.

Frequently asked questions

Can CONCAT join an entire range without listing each cell?
Yes. Supplying a range like A2:A5 as a single argument makes CONCAT stitch every cell in that range together in row-major order. No delimiter is inserted, so you may need TEXTJOIN if you require separators.
Does CONCAT preserve leading or trailing spaces in the source cells?
CONCAT does not trim spaces; any leading or trailing blanks in the source values are retained in the result. Use TRIM on each argument if you need to remove unwanted whitespace before concatenation.
What happens if I concatenate a Boolean value such as TRUE?
Boolean values are coerced to their text equivalents "TRUE" or "FALSE" before being joined. This behavior mirrors how Excel treats numbers and dates during concatenation.
Is CONCAT case-sensitive?
CONCAT simply joins characters; it does not alter case. If you need to force upper-case or lower-case, wrap the result with UPPER or LOWER, or apply those functions to individual arguments.

Need a different formula?

The full generator is not scoped to one function — describe any spreadsheet problem and it will pick.

Open the formula generator

Reviewed 2026-09-17