Excel Practice Test

โ–ถ

CONCAT Function in Excel โ€” Key Numbers

๐Ÿ“…
2019+
Excel Version Needed
๐Ÿ”ข
253
Max Text Arguments
๐Ÿ“
32,767
Result Length Cap
โšก
1 arg
Minimum Arguments
๐Ÿ”
Yes
Accepts Ranges
๐Ÿ”„
Deprecated
CONCATENATE Status

CONCAT Function in Excel โ€” Complete Guide (2026)

The CONCAT function in Excel does one job and does it cleanly. It joins text. You hand it a list of strings, cell references, or whole ranges, and it stitches them together end-to-end into a single string. Three arguments or three hundred โ€” same syntax, same behavior. =CONCAT(A1, " ", B1) turns "John" and "Smith" into "John Smith" in about as many keystrokes as it takes to type the function name.

Here's what makes CONCAT different from the older CONCATENATE function that you've probably seen in tutorials from 2015. CONCAT accepts ranges. You can hand it =CONCAT(A1:A10) and it'll glue every value in that 10-cell range into one long string. CONCATENATE refused โ€” you had to comma-separate every single cell. That's the whole reason Microsoft added CONCAT in Excel 2019 and rolled it into 365. The old function still works for backward compatibility, but new spreadsheets should use the newer one. Less typing, fewer errors, easier to maintain when ranges grow.

This guide walks the function from the syntax up to the edge cases. Real examples for combining names, building order numbers, joining a range, adding spaces and separators, concatenating with formatted dates and numbers. Plus the three competing approaches โ€” CONCAT, TEXTJOIN, and the ampersand operator โ€” and when each one wins.

You'll also see common errors (the dreaded #VALUE! with arrays, missing separator gotchas), Power Query's Merge Columns alternative, TEXTSPLIT for going the other way, and Mac Excel parity notes. Worth knowing the full toolkit because Excel handles text joining in at least four different ways, and picking the wrong one slows you down.

What CONCAT Actually Does

CONCAT is short for concatenate, which is Latin-derived jargon for "chain together." In plain English: it sticks strings together. "Hello" + " " + "World" becomes "Hello World". That's all it does. No formatting tricks, no calculations, no delimiters added automatically โ€” you supply every character that ends up in the result, including any spaces or commas between values.

This means CONCAT is a building block, not a finished tool. You combine it with other functions to do real work. Pair it with TEXT() to format dates and numbers before they get joined. Pair it with IF() to conditionally include some pieces and skip others. Pair it with RIGHT(), LEFT(), and MID() to extract substrings before joining. Worth thinking of CONCAT less as a feature and more as glue between other features.

The CONCAT function in Excel joins text strings or ranges into a single string. Syntax: =CONCAT(text1, [text2], ...). Each argument can be a literal string, a cell reference, or a range. Example: =CONCAT(A1, " ", B1) joins A1 and B1 with a space. =CONCAT(A1:A5) joins all five cells with no separator.

Need a delimiter between every item? Use TEXTJOIN instead: =TEXTJOIN(", ", TRUE, A1:A5) adds a comma-space between each value and skips blank cells.

Available in Excel 2019, 2021, 2024, and Microsoft 365. Replaces the older CONCATENATE function โ€” though CONCATENATE still works for backward compatibility.

CONCAT Syntax โ€” Three Argument Patterns

CONCAT takes between 1 and 253 arguments. Each one can be a string literal, a single cell, or a range. Pick the pattern that matches your data.

๐Ÿ“‹ Single Cells With Separators

The most common pattern. You list each piece, with a literal string in between for the separator. =CONCAT(A1, " ", B1) joins A1 and B1 with a space. =CONCAT(A1, ", ", B1, " - ", C1) joins three cells with mixed separators. Every separator has to be typed in explicitly โ€” CONCAT doesn't guess.

This is the right pattern when each cell needs different formatting around it. First name, space, last name. Order number, dash, customer name. Date, colon, value. The control is total โ€” but the typing scales linearly with the number of cells.

If you're combining first and last names from two columns into one, that's the textbook CONCAT use case. The opposite operation โ€” splitting a full name into separate first and last name columns โ€” uses different functions entirely, covered in separate first and last name in Excel.

๐Ÿ“‹ Range Reference (CONCAT's Big Feature)

CONCAT's killer feature compared to CONCATENATE โ€” you can hand it a range. =CONCAT(A1:A10) joins every cell in A1 through A10 into one long string. No commas, no spaces between values. They just smash together.

This is brilliant for combining a column of letters into a word, joining product codes, or building file names from row data. The catch: no separator gets added. "Apple", "Banana", "Cherry" in three cells becomes "AppleBananaCherry" โ€” not "Apple, Banana, Cherry". If you want a delimiter between each, use TEXTJOIN instead.

Ranges can be vertical (A1:A10), horizontal (A1:E1), or rectangular (A1:C5 โ€” CONCAT reads left-to-right, top-to-bottom). Whole-column references work too: =CONCAT(A:A) joins every populated cell in column A, but be careful โ€” that scans up to 1,048,576 cells and is slow on big sheets.

๐Ÿ“‹ Mixed Literals, Cells, and Ranges

You can blend all three argument types in one call. =CONCAT("Order #", B1, " - ", CONCAT(C1:C5)) mixes a literal prefix, a single cell, another literal, and a nested CONCAT of a range. Excel processes left-to-right and outputs the joined result.

Nesting works because CONCAT returns a string, and strings are valid as CONCAT arguments. So you can wrap a range-CONCAT inside an outer CONCAT to add bookends. Useful for building structured output like "[" & CONCAT(A1:A5) & "]" or =CONCAT("Items: ", TEXTJOIN(", ", TRUE, A1:A5), " (total: ", COUNTA(A1:A5), ")").

The mental model: every argument becomes part of the final string. Order matters. Spaces and punctuation only appear if you explicitly type them as literal arguments. There's no "smart" formatting layer in CONCAT โ€” it's a pure string concatenator.

๐Ÿ“‹ Whole-Column Reference

=CONCAT(A:A) joins every cell in column A into one massive string. Empty cells get skipped silently โ€” they don't insert blank space, they just don't contribute. Useful for building a single-string export of an entire column.

Performance warning. Whole-column references scan up to 1,048,576 cells. On sheets with 10,000+ rows, CONCAT(A:A) recalculates noticeably slowly. Better to use explicit ranges like CONCAT(A2:A10000) once you know the data extent. Whole-column references are a convenience for small sheets and dashboards that grow over time.

The 32,767-character output cap matters here. If your column has hundreds of long strings, CONCAT may truncate at the limit and you'll get an error. Test on a sample before running on huge data.

Five Practical CONCAT Examples

Copy these into your sheet, adjust the references, and they work. Each example covers a different real-world join scenario.
๐Ÿ‘ค Full Name From First + Last โ€“ Most Used

=CONCAT(A1, " ", B1) joins A1 ("John") and B1 ("Smith") into "John Smith". Add a middle initial: =CONCAT(A1, " ", LEFT(B1,1), ". ", C1) gives "John A. Smith". The space inside the quotes is critical โ€” leave it out and you get "JohnSmith".

๐Ÿ“ฆ Order Number Builder โ€“ Common

=CONCAT("Order #", B1, " - ", C1) builds "Order #4521 - Acme Corp" from an order number in B1 and a company name in C1. Add a date: =CONCAT("Order #", B1, " ", TEXT(D1, "yyyy-mm-dd")) โ†’ "Order #4521 2026-05-21".

๐Ÿ”ก Letters Into a Word โ€“ Range Demo

=CONCAT(A1:A5) where A1-A5 hold "H", "E", "L", "L", "O" returns "HELLO". Range concatenation with no separator. This is the example most beginners try first to confirm CONCAT accepts ranges โ€” CONCATENATE wouldn't.

๐Ÿ”— URL Builder With Slug โ€“ Web

=CONCAT("https://practicetestgeeks.com/", A1, "/", B1) builds a full URL from a category in A1 and a slug in B1. Result: "https://practicetestgeeks.com/excel/concat-function-excel". Add error handling with IFERROR if the slug column has blanks.

๐Ÿท๏ธ Conditional Join With IF โ€“ Smart

=CONCAT(A1, IF(B1="", "", " - " & B1)) joins A1 and B1 only when B1 has a value. Skips the separator and B1 entirely when B1 is empty. Cleaner than always-on concatenation that leaves trailing dashes for missing data.

How to Use CONCAT Step by Step

Click an empty cell where you want the joined result to appear
Type =CONCAT( โ€” Excel's formula tooltip pops up showing the syntax
Click your first cell or type a literal string in double quotes
Type a comma to separate the next argument
Repeat โ€” cells, ranges, and literal strings can be mixed freely
Add separator strings like " " or ", " between arguments as needed
Close the parenthesis and press Enter
Copy the formula down a column to repeat the join for every row
If you see #VALUE!, check for non-text values that need TEXT() wrapping first
If the result exceeds 32,767 characters, split into multiple cells โ€” that's the cell content limit

CONCAT vs CONCATENATE โ€” Why CONCAT Won

CONCATENATE shipped in every version of Excel from 95 onward. It did the job for two decades. Then in Excel 2019, Microsoft added CONCAT and quietly marked CONCATENATE as deprecated. Old formulas still work โ€” they don't break โ€” but new spreadsheets should use CONCAT.

The reason is one feature: ranges. CONCATENATE took a comma-separated list of values. =CONCATENATE(A1, B1, C1, D1, E1) joined five cells. To add five more you typed five more arguments. Joining A1:A50 meant typing 50 arguments by hand. Brutal. CONCAT cut that to =CONCAT(A1:A50) โ€” one range reference, done.

The second reason was internal cleanup. CONCATENATE's argument handling didn't play well with newer dynamic-array functions like FILTER and UNIQUE. CONCAT was rewritten to integrate cleanly with those โ€” it spills naturally when arguments are dynamic arrays, and it composes cleanly with the new function family.

For backward compatibility, CONCATENATE still works in every modern Excel. If you inherit a workbook written in 2018 with CONCATENATE everywhere, leave it alone โ€” there's no benefit to refactoring working formulas. But for anything new, default to CONCAT. The syntax is identical for single-cell arguments. The range support is a free upgrade.

The Ampersand Operator โ€” Still Going Strong

Long before CONCATENATE existed, Excel had the ampersand (&) operator. =A1 & " " & B1 does exactly the same thing as =CONCAT(A1, " ", B1). Three characters shorter, easier to read for short joins, and works in every version of Excel ever shipped. Many veteran users prefer it for two-or-three-cell joins because the prose-like syntax ("this and that and the other") matches how you'd describe the operation out loud.

Where ampersand falls down is ranges. =A1:A10 & "" doesn't join the range โ€” it spills into a vertical array of the original values. To join a range you have to fall back to CONCAT or TEXTJOIN. So the rule of thumb most experienced users settle on: ampersand for 2-3 cells, CONCAT for ranges, TEXTJOIN for delimited ranges.

TEXTJOIN โ€” When You Need a Delimiter on Every Item

TEXTJOIN solves the one thing CONCAT can't. CONCAT joins a range with no separator. TEXTJOIN joins a range and inserts a separator between every item automatically. =TEXTJOIN(", ", TRUE, A1:A5) joins five cells with a comma-space between each, and the TRUE argument tells Excel to skip blank cells (otherwise you get "Apple, , Cherry" with an empty gap).

TEXTJOIN Syntax

Three arguments. The first is the delimiter โ€” any string. The second is ignore_empty โ€” TRUE or FALSE. The third (and beyond) is the values to join. =TEXTJOIN(" | ", TRUE, A1:A10) joins ten cells with pipe separators. =TEXTJOIN(CHAR(10), TRUE, A1:A10) joins them with line breaks (useful for building multi-line cell content). CHAR(10) is the line-feed character โ€” combine with cell wrap text formatting to see the breaks.

TEXTJOIN's ignore_empty flag is the killer feature. Real spreadsheets have gaps. Some rows have all five values, some have only three. TEXTJOIN with TRUE handles this gracefully โ€” empty cells just get skipped, no double-separator artifacts. CONCAT can't do this without an IF wrapper around every argument.

Like CONCAT, TEXTJOIN is Excel 2019+ and 365. It does not exist in 2016 or earlier. If you're stuck on an old version, you're back to ampersand operators and a lot of typing. Worth knowing that Excel cheat sheets often list TEXTJOIN as one of the top three modern functions to memorize, alongside FILTER and XLOOKUP.

Take the Free Excel Formulas Quiz

The Ampersand (&) Operator โ€” Still the Fastest for Short Joins

The ampersand has been Excel's default string-join operator forever. =A1 & B1 joins A1 and B1. =A1 & " " & B1 adds a space between them. Same result as CONCAT, less typing, more readable for short cases.

It's also more forgiving of mixed types. =A1 & B1 where A1 is a number and B1 is text just works โ€” Excel coerces the number to its display string and joins. CONCAT does the same, but the ampersand syntax is so compact that most spreadsheet veterans use it as the default for two-cell joins and reach for CONCAT only when ranges are involved.

One thing to watch: when joining numbers, the ampersand uses the underlying value, not the displayed format. If A1 shows "$1,234.56" but is actually stored as 1234.56, =A1 & " total" gives "1234.56 total" โ€” no dollar sign, no commas. Wrap with TEXT to preserve formatting: =TEXT(A1, "$#,##0.00") & " total".

When to Use CONCAT vs TEXTJOIN vs Ampersand

Use Ampersand (&) When:

You're joining 2 or 3 specific cells. The formula stays short and readable. Most beginners learn ampersand first and stick with it forever for simple cases. There's nothing wrong with that โ€” for two-cell joins, =A1 & " " & B1 is clearer than =CONCAT(A1, " ", B1). Less syntactic noise, same result.

Use CONCAT When:

You have a range of cells to join with no separator (or you'll add the separator manually between each piece). =CONCAT(A1:A10) is dramatically cleaner than 10 ampersand operators. Also use CONCAT when you're building structured output by mixing literals, single cells, and ranges in one formula.

Use TEXTJOIN When:

You have a range and want the same delimiter between every item. Comma-separated lists, pipe-separated values, line-break-joined text. Plus you want to skip blanks automatically. TEXTJOIN is the only one of the three that handles this without extra IF logic.

Concatenating With Number and Date Formatting

CONCAT joins raw values. If a cell holds a date stored as the serial number 45798 but displays as "2025-05-21", CONCAT spits out "45798" โ€” not the formatted date. To preserve formatting you wrap the cell in TEXT() inside the CONCAT call. =CONCAT(A1, " ", TEXT(B1, "yyyy-mm-dd")) joins A1 and B1 where B1 is a date, formatted as "2025-05-21". The TEXT function converts the underlying value to a formatted string before CONCAT sees it.

Same trick for numbers with formatting. =CONCAT("Price: ", TEXT(B1, "$#,##0.00")) turns the raw number 1234.56 into "Price: $1,234.56". Without TEXT, you'd get "Price: 1234.56" โ€” accurate but ugly.

Common TEXT format codes worth knowing: "yyyy-mm-dd" for ISO dates, "mmm dd, yyyy" for "May 21, 2026", "$#,##0.00" for currency with two decimals, "0.0%" for percentages with one decimal, "00000" for zero-padded IDs like "00425". The format string follows the same rules as Excel's Format Cells dialog, just in formula form.

CONCAT vs TEXTJOIN โ€” When to Pick Each

Pros

  • Joining 2-5 cells where each separator is different โ€” Order #, dash, name
  • Joining a range with no separator between values โ€” building a word from letters
  • Mixing literals, single cells, and ranges in one formula expression
  • Building URLs or file paths with custom punctuation between every part
  • Backwards-friendly upgrade from old CONCATENATE formulas

Cons

  • Joining a range with the SAME delimiter between every value โ€” commas, pipes, line breaks
  • Skipping blank cells automatically without writing IF wrappers around each argument
  • Building comma-separated lists from filtered ranges with gaps
  • Joining 10+ cells where typing separators between each would be painful
  • Multi-line cell content using CHAR(10) as the delimiter for line breaks

Common CONCAT Errors and Fixes

#VALUE! When Passing an Array

If CONCAT gets a value it can't coerce to text โ€” typically the result of a function that errored โ€” it returns #VALUE!. Wrap suspect arguments in IFERROR. =CONCAT(IFERROR(A1, ""), " ", B1) swaps any error in A1 for an empty string before joining.

Another #VALUE! cause: passing a 2D array literal directly. =CONCAT({1,2;3,4}) works in 365 but can fail in some 2019 builds. Workaround: put the array in a cell range and reference it instead.

Missing Space Between Values

Beginner classic. =CONCAT(A1, B1) with A1="John" and B1="Smith" returns "JohnSmith". CONCAT doesn't add separators โ€” you have to. Fix: =CONCAT(A1, " ", B1). The space inside the quote marks is the entire fix.

Numbers Showing Raw Instead of Formatted

Already covered above. CONCAT uses the underlying value. Wrap with TEXT to preserve formatting. =CONCAT("Total: ", TEXT(A1, "$#,##0.00")).

Result Truncated at 32,767 Characters

That's Excel's per-cell content limit. CONCAT will silently truncate if your joined string exceeds it. For long joins of huge ranges, split the result across multiple cells or use Power Query instead.

#NAME? Means You're On Excel 2016 or Earlier

If CONCAT returns #NAME? immediately, Excel doesn't recognize the function. You're on a pre-2019 build. Use CONCATENATE or the ampersand operator instead. Or upgrade to Excel 2019, 2021, 2024, or Microsoft 365 โ€” CONCAT is unavailable everywhere else.

Power Query Merge Columns โ€” The Bulk Alternative

For large data sets imported from CSVs or databases, Power Query offers a Merge Columns transform that does the same job as CONCAT โ€” without writing formulas in the sheet. Load your data into Power Query (Data tab โ†’ Get Data). Select two or more columns. On the Transform tab pick Merge Columns. Choose a separator (space, comma, custom). Name the new merged column. Close and Load.

The advantage: Power Query handles billions of rows efficiently because it processes data outside the cell grid. CONCAT in 100,000 cells slows the workbook. Power Query merge on the same data finishes in seconds and only displays the result.

The disadvantage: Power Query has a learning curve. For one-off joins of 50 rows, CONCAT in the sheet wins on simplicity. For repeating monthly imports of 10,000 rows, Power Query wins because the transform is reusable โ€” refresh and the merge happens again automatically.

TEXTSPLIT โ€” The Reverse Operation

The opposite of CONCAT is TEXTSPLIT, added in Excel 365 in 2022. Where CONCAT joins values into one cell, TEXTSPLIT takes one cell and splits it into many. =TEXTSPLIT("apple,banana,cherry", ",") spills three cells horizontally: apple, banana, cherry. Same syntax as Text-to-Columns but as a live formula.

TEXTSPLIT pairs naturally with CONCAT. You can build complex transformations like "join three columns into a delimited string, then split that string on a different delimiter into more columns" with two formulas. Or use TEXTSPLIT to unpack data that arrived in concatenated form from a legacy system.

The function takes up to four arguments: text, column_delimiter, row_delimiter, ignore_empty. =TEXTSPLIT(A1, ",", ";") splits A1 on commas horizontally and on semicolons vertically โ€” turning "a,b,c;d,e,f" into a 2ร—3 grid.

Mac Excel Parity

CONCAT works identically on Mac Excel 2019, 2021, 2024, and 365. No syntax differences. The only quirk is keyboard shortcut differences for formula entry โ€” F4 to toggle absolute references becomes Cmd+T on Mac. The function itself, its arguments, and its behavior are identical across platforms.

TEXTJOIN, TEXTSPLIT, and the ampersand operator are also fully cross-platform. Workbooks built with these functions on Windows open and recalculate correctly on Mac, and vice versa. The only place you'll hit incompatibility is opening a Mac-365-built workbook in Excel 2016 โ€” the newer functions won't exist and you'll see #NAME? errors.

Building a Customer Address With CONCAT โ€” 5 Steps

1๏ธโƒฃ

Street in A2, City in B2, State in C2, Zip in D2. One row per customer. Make sure all four cells have data โ€” empty cells will leave gaps in the final string.

2๏ธโƒฃ

Type =CONCAT(A2, ", ", B2, ", ", C2, " ", D2). The commas-space sequences are explicit literals. The space between state and zip is intentional. Press Enter to see the joined address.

3๏ธโƒฃ

Should look like "123 Main St, Springfield, IL 62701". If you see double commas or missing spaces, audit the literal separators between each argument.

4๏ธโƒฃ

For real-world data with gaps, wrap blanks with IF: =CONCAT(A2, IF(B2="", "", ", " & B2), ...). Or switch to TEXTJOIN with ignore_empty=TRUE for cleaner handling.

5๏ธโƒฃ

Double-click the bottom-right corner of E2. Excel auto-fills the formula to every row with adjacent data. One formula, hundreds of joined addresses.

CONCAT vs TEXTJOIN vs Ampersand โ€” Speed and Use

&
Ampersand (&)
Shortest syntax for 2-3 cell joins. =A1 & " " & B1. Works in every Excel version since 95. No range support.
๐Ÿงฉ
CONCAT
Joins ranges and single cells in one call. =CONCAT(A1:A10, " - ", B1). Excel 2019+ and 365 only. No auto-delimiter.
๐Ÿชข
TEXTJOIN
Auto-inserts a delimiter between every value, skips blanks with ignore_empty=TRUE. =TEXTJOIN(", ", TRUE, A1:A10). Excel 2019+.
๐Ÿ”Œ
Power Query Merge
Drag-and-drop merge in the query editor. Handles billions of rows. Reusable transforms โ€” refresh once a month, done.
๐Ÿ“œ
CONCATENATE (Old)
The pre-2019 function. Single cells only, no ranges. Still works for old workbooks but should not be used in new sheets.
โœ‚๏ธ
TEXTSPLIT
Splits a single string back into multiple cells. The opposite of CONCAT. Excel 365 only (2022+). Useful for unpacking concatenated data.

CONCAT Inside Excel Tables โ€” The Structured Reference Win

If your data is formatted as an Excel Table (select range, press Ctrl+T), CONCAT plays especially well with structured references. =CONCAT([@FirstName], " ", [@LastName]) reads cleaner than =CONCAT(A2, " ", B2) and self-documents what columns are being joined.

The bigger win is auto-fill. Write the CONCAT formula in any cell of a new table column, press Enter, and Excel auto-fills it down every existing row of the table. Add a new row of data tomorrow, and the formula populates that row automatically. No dragging, no reference updates, no broken formulas when columns get inserted somewhere else. Tables make CONCAT effectively self-maintaining.

Worth pairing this with Excel pivot tables โ€” pivots love structured tables as their source data. Build a CONCAT calculated column in the table (full name, customer address, order summary), then pivot on that joined field for cleaner group-by reports. The joined string becomes a meaningful dimension instead of two raw columns mashed together at pivot time.

CONCAT in Conditional Formatting

You can use CONCAT inside conditional formatting formulas too. "Highlight any row where the full name matches a value in another column" becomes =CONCAT($A2, " ", $B2)=$D$1. The CONCAT builds the joined value on the fly, comparison runs against the lookup cell, and matching rows get the conditional fill. No helper column needed.

Same trick works in data validation. Build dropdown lists where each entry is a CONCAT of two source columns. Combine with INDIRECT for cascading dropdowns where the second list depends on the first. CONCAT is the glue that makes structured data play nicely with Excel's higher-level features.

Performance Notes for Large Sheets

CONCAT itself is fast. Joining 10 cells takes microseconds. Where it slows down is when you wrap it around large ranges and apply it in 50,000+ cells. =CONCAT(A:A) in 50,000 cells means Excel scans a million cells fifty thousand times during a recalc. Switch to explicit ranges like =CONCAT(A2:A10000) to skip the empty parts of the column.

For repeated CONCAT operations across huge data sets, prefer Power Query Merge Columns. Power Query processes data outside the cell grid and is orders of magnitude faster on bulk transformations. CONCAT in the sheet is the right tool for ad-hoc joins. Power Query is the right tool for monthly imports with thousands of rows. Same end result, very different performance profile.

Take the Free Excel Questions Quiz

Excel Questions and Answers

What Is the CONCAT Function in Excel?

CONCAT joins text strings or ranges into a single string. Syntax: =CONCAT(text1, [text2], ...). Each argument can be a literal string, a single cell, or a range. Example: =CONCAT(A1, " ", B1) joins A1 and B1 with a space. =CONCAT(A1:A10) joins a whole range with no separator. Available in Excel 2019, 2021, 2024, and Microsoft 365.

What's the Difference Between CONCAT and CONCATENATE?

CONCAT accepts ranges. =CONCAT(A1:A10) joins ten cells in one argument. CONCATENATE required every cell to be listed separately โ€” =CONCATENATE(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10). CONCATENATE is deprecated as of Excel 2019 but still works for backward compatibility. For new spreadsheets, always use CONCAT.

How Do I Concatenate in Excel Without Spaces?

Just don't include space separators in your formula. =CONCAT(A1, B1) with A1="Hello" and B1="World" returns "HelloWorld" โ€” no space. Same with ampersand: =A1 & B1. Spaces only appear if you explicitly type them as literal strings inside quotes: =CONCAT(A1, " ", B1).

How Do I Join a Whole Column Into One Cell?

Use =CONCAT(A:A) for an entire column or =CONCAT(A2:A1000) for a specific range. If you want a delimiter between each value, switch to TEXTJOIN: =TEXTJOIN(", ", TRUE, A:A) joins every cell in column A with a comma-space and skips blanks. Watch the 32,767-character cell content limit on large data.

Why Is CONCAT Returning #NAME?

Your Excel version is older than 2019. CONCAT only exists in Excel 2019, 2021, 2024, and Microsoft 365. On Excel 2016 and earlier, use CONCATENATE or the ampersand operator instead. =A1 & " " & B1 does the same thing as =CONCAT(A1, " ", B1) and works in every Excel version.

How Do I Concatenate With a Comma Separator?

Two options. With CONCAT, type the comma between each argument: =CONCAT(A1, ", ", B1, ", ", C1). Tedious for many cells. With TEXTJOIN, specify the delimiter once: =TEXTJOIN(", ", TRUE, A1:A10) joins ten cells with comma-space between each, automatically. TEXTJOIN is dramatically cleaner for delimited joins of ranges.

Can CONCAT Handle Dates Without Showing the Raw Serial Number?

Wrap the date cell in TEXT() inside the CONCAT call. =CONCAT("Date: ", TEXT(A1, "yyyy-mm-dd")) outputs "Date: 2026-05-21" instead of "Date: 45798" (the raw serial number). TEXT converts the underlying value to a formatted string before CONCAT sees it. Same trick works for currency and percentages.

What's the Maximum Number of Arguments CONCAT Accepts?

253 separate arguments. Each can be a literal string, a single cell, or a range. So you can join up to 253 ranges of cells in one CONCAT call โ€” way more than you'd ever need. The output is capped at 32,767 characters (Excel's per-cell content limit). If your join exceeds that length, Excel truncates silently and may return #VALUE!.
โ–ถ Start Quiz