In this tutorial, you will learn various ways to concatenate text strings, cells, ranges, columns and rows in Excel using the CONCATENATE function and "&" operator.
In your Excel workbooks, the data is not always structured according to your needs. Often you may want to split the content of one cell into individual cells, or do the opposite - combine data from two or more columns into a single column. Common examples that require concatenation in Excel are joining names and address parts, combining text with a formula-driven value, displaying dates and times in the desired format, to name a few.
In this tutorial, we are going to explore various techniques of Excel string concatenation so that you can choose the method best suited for your worksheets.
In essence, there are two ways to combine data in Excel spreadsheets:
- Merge cells
- Concatenate cells' values
When you merge cells, you "physically" merge two or more cells into a single cell. As a result, you have one larger cell that is displayed across multiple rows and/or columns in your worksheet.
When you concatenate cells in Excel, you combine only the contents of those cells. In other words, concatenation in Excel is the process of joining two or more values together. This method is often used to combine a few pieces of text that reside in different cells (technically, these are called text strings or simply strings) or insert a formula-calculated value in the middle of some text.
The following screenshot demonstrates the difference between these two methods:
Merging cells in Excel is the subject of our next article, and in this tutorial we will tackle two essential ways to concatenate strings in Excel - by using the CONCATENATE function and the Excel & operator.
The CONCATENATE function in Excel is designed to join different pieces of text together or combine values from several cells into one cell.
The syntax of Excel CONCATENATE is as follows:
Where text is a text string, cell reference or formula-driven value.
Below you will find a few examples of using the CONCATENATE function in Excel.
Concatenating the values of several cells
The simplest CONCATENATE formula to combine the values of cells A1 and B1 is as follows:
Please note that the values will be knit together without any delimiter, as in row 2 in the screenshot below.
To separate the values with a space, enter " " in the second argument, as in row 3 in the screenshot below.
=CONCATENATE(A1, " ", B1)
To separate the concatenated values with other delimiters such as a comma, space or slash, please see Excel CONCATENATE formulas with special characters.
Concatenating a text string and cell value
There is no reason for the Excel CONCATENATE function to be limited to only joining cells' values. You can also use it to concatenate various text strings to make the result more meaningful. For example:
=CONCATENATE(A1, " ", B1, " completed")
The above formula informs the user that a certain project is completed, as in row 2 in the screenshot below. Please notice that we add a space before the word " completed" to separate the concatenated text strings.
Naturally, you can add a text string in the beginning or in the middle of your Concatenate formula as well:
=CONCATENATE("See ", A1, " ", B1)
A space (" ") is added in between the combined values, so that the result displays as "Project 1" rather than "Project1".
To make the result returned by some formula more understandable for your users, you can concatenate it with a text string that explains what the value actually is.
For example, you can use the following formula to return the current date:
=CONCATENATE("Today is ",TEXT(TODAY(), "dd-mmm-yy"))
Using CONCATENATE in Excel - things to remember
To ensure that your CONCATENATE formulas always deliver the correct results, remember the following simple rules:
- Excel CONCATENATE function requires at least one "text" argument to work.
- In a single CONCATENATE formula, you can concatenate up to 255 strings, a total of 8,192 characters.
- The result of the CONCATENATE function is always a text string, even when all of the source values are numbers.
- Excel CONCATENATE does not recognize arrays. Each cell reference must be listed separately. For example, you should write
=CONCATENATE(A1, A2, A3)instead of
- If at least one of the CONCATENATE function's arguments is invalid, the formula returns a #VALUE! error.
In Microsoft Excel, & operator is another way to concatenate cells. This method come in very handy in many scenarios because typing the ampersand sign (&) is much quicker than typing the word "concatenate" :)
Similarly to the CONCATENATE function, you can use "&" in Excel to combine different text strings, cell values and results returned by other functions.
Excel "&" formula examples
To see the concatenation operator in action, let's re-write the CONCATENATE formulas discussed above:
Concatenate the values in A1 and B1:
Concatenate the values in A1 and B1 separated with a space:
Concatenate the values in A1, B1 and a text string:
=A1 & B1 & " completed"
Concatenate a string and the result of the TEXT / TODAY function:
="Today is " & TEXT(TODAY(), "dd-mmm-yy")
As demonstrated in the screenshot below, the CONCATENATE function and "&" operator return identical results:
Excel "&" operator vs. CONCATENATE function
Many users wonder which is a more efficient way to concatenate strings in Excel - CONCATENATE function or "&" operator.
The only essential difference between CONCATENATE and "&" operator is the 255 strings limit of the Excel CONCATENATE function and no such limitations when using the ampersand. Other than that, there is no difference between these two concatenation methods, nor is there any speed difference between the CONCATENATE and "&" formulas.
And since 255 is a really big number and in real-life tasks someone will hardly ever need to combine that many strings, the difference boils down to the comfort and ease of use. Some users find CONCATENATE formulas easier to read, I personally prefer using the "&" method. So, simply stick to the concatenation technique that you feel more comfortable with.
In your worksheets, you may often need to join values in a way that includes commas, spaces, various punctuation marks or other characters such as a hyphen or slash. To do this, simply include the character you want in your concatenation formula. Remember to enclose that character in quotation marks, as demonstrated in the following examples.
Concatenating two cells with a space:
=CONCATENATE(A1, " ", B1) or
=A1 & " " & B1
Concatenating two cells with a comma:
=CONCATENATE(A1, ", ", B1) or
=A1 & ", " & B1
Concatenating two cells with a hyphen:
=CONCATENATE(A1, "-", B1) or
=A1 & "-" & B1
The following screenshot demonstrates how the results may look like:
Most often, you would separate the concatenated text strings with punctuation marks and spaces, as shown in the previous example. In some cases, however, may need to separate the values with a line break, or carriage return. A common example is merging mailing addresses from data in separate columns.
A problem is that you cannot simply type a line break in the formula like a usual character, and therefore a special CHAR function is needed to supply the corresponding ASCII code to the concatenation formula:
- On Windows, use CHAR(10) where 10 is the ASCII code for Line feed.
- On the Mac system, use CHAR(13) where 13 is the ASCII code for Carriage return.
In this example, we have the address pieces in columns A through F, and we are putting them together in column G by using the concatenation operator "&". The merged values are separated with a comma (", "), space (" ") and a line break CHAR(10):
=A2 & " " & B2 & CHAR(10) & C2 & CHAR(10) & D2 & ", " & E2 & " " & F2
In the same manner, you can separate concatenated strings with other characters such as:
- Double quotes (") - CHAR(34)
- Forward slash (/) - CHAR(47)
- Asterisk (*) - CHAR (42)
- The full list of ASCII codes is available
Though, an easier way to include printable characters in the concatenation formula is to simply type them in double quotes as we did in the previous example.
Either way, all four of the below formulas yield identical results:
=A1 & CHAR(47) & B1
=A1 & "/" & B1
=CONCATENATE(A1, CHAR(47), B1)
=CONCATENATE(A1, "/", B1)
In order to concatenate two or more columns in Excel, you just enter a usual concatenation formula in the first cell, and then copy it down to other cells by dragging the fill handle (the small square that appears in the lower right hand corner of the selected cell).
For example, to concatenate two columns (column A and B) separating the values with a space, you enter the following formula in cell C2, and then copy it down to other cells. When you are dragging the fill handle to copy the formula, the mouse pointer changes to a cross, as shown in the screenshot below:
Please note that Microsoft Excel determines how far to copy cells after the fill handle double click based on the cells referred to by your formula. If there happen to be empty cells in your table, say cell A6 and B6 were blank in this example, the formula would be copied up to row 5 only. In this case, you would need to drag the fill handle down manually to concatenate the entire columns.
An alternative way to concatenate columns in Excel is to use the corresponding option of the Merge Cells add-in.
Combining values from multiple cells might take some effort because the Excel CONCATENATE function does not accept arrays and requires a single cell reference in each argument.
To concatenate several cells, say A1 to A4, you need either of the following formulas:
=CONCATENATE(A1, A2, A3, A4)
=A1 & A2 & A3 & A4
When joining a fairly small range, it's no big deal to enter all the references in the formula bar. A large range would be tedious to add, typing each cell reference manually. Below you will find 3 methods of quick range concatenation in Excel.
Method 1. Press CTRL to select multiple cells to be concatenated
To quickly select several cells, you can press the CTRL key and click on each cell you want to include in the CONCATENATE formula. Here are the detailed steps:
- Select a cell where you want to enter the formula.
- Type =CONCATENATE( in that cell or in the formula bar.
- Press and hold CTRL and click on each cell you want to concatenate.
- Release the CTRL button, type the closing parenthesis in the formula bar and press Enter.
Method 2. Use the TRANSPOSE function to get the range
When you need to concatenate a huge range consisting of tens or hundreds of cells, the previous method is not fast enough because it requires clicking on each cell. In this case, a better way is to use the TRANSPOSE function to return an array, and then replace it with individual cell references in one fell swoop.
- Select the cell where you want to output the concatenated range.
- Enter the TRANSPOSE formula in that cell,
=TRANSPOSE(A1:A10)in this example.
- In the formula bar, press F9 to replace the formula with calculated values.
- Delete the curly braces that turn a usual Excel formula into an array formula. As a result, you will have all the cells references to be included in your concatenation formula.
- Type =CONCATENATE( in front of the cell references in the formula bar, type the closing parenthesis and press Enter.
Method 3. Use the Merge Cells add-in
A quick and formula-free way to concatenate any range in Excel is to use the Merge Cells add-in for Excel with the "Merge all areas in selection" option turned off, as demonstrated in Combine the values of several cells into one cell.
When you concatenate a text string with a number or date, you may want to format the result differently depending on your dataset. To do this, embed the TEXT function in your Excel concatenate formula.
The TEXT(value, format_text) function has two arguments:
- In the first argument (value), you supply a number or date to be converted to text, or a reference to the cell containing a numeric value.
- In the second argument (format_text), you enter the desired format using the codes that the TEXT function can understand.
We have already discussed one such formula in the beginning of this tutorial that concatenates text and date.
I will remind you that when combining a text string and date, you have to use the TEXT function to display the date in the desired format. For example:
=CONCATENATE("Today is ", TEXT(TODAY(), "mm/dd/yy"))
="Today is " & TEXT(TODAY(), "mm/dd/yy")
A few more formula examples that concatenate a text value and number follow below:
=A2 & " " & TEXT(B2, "$#,#0.00") - display the number with 2 decimal places and the $ sign.
=A2 & " " & TEXT(B2, "0.#") - does not display extra zeros and the $ sign.
=A2 & " " & TEXT(B2, "# ?/???") - display the number as a fraction.
If you are looking for the opposite of CONCATENATE in Excel, i.e. you want to split one cell into several cells, a few options are available to you:
- Text to Columns feature
- Flash Fill option in Excel 2013 and 2016
- Formulas (MID, RIGHT, LEFT functions)
You can find the detailed steps illustrated with formula examples and screenshots in the How to split cells in Excel tutorial.
With the Merge Cells add-in for Excel, you can efficiently do both:
- Merge several cells into one without losing data.
- Concatenate the values of several cells into a single cell and separate them with any delimiter of your choosing.
The Merge Cells tool works with all Excel versions from 2003 to 2016 and can combine all data types including text strings, numbers, dates and special symbols. Its two key advantages are simplicity and speed - any concatenation is done in a couple of clicks. And now, let me show it to you in action.
To combine the contents of several cells, you select the range to concatenate and configure the following settings:
- Cells into one under "What to merge";
- Select the delimiter you want under "Separate values with", it's a comma and a space in this example;
- Choose where you want to place the result, and most importantly
- Uncheck the "Merge all areas in the selection" option. It is this option that determines whether the cells are merged or the cells' values are concatenated.
To concatenate two or more columns, you configure the Merge Cells' settings in a similar way, but choose Columns under "What to merge":
Join rows column-by-column
To combine data in each individual row, column-by-column, you choose to merge Rows, select the delimiter you want (line break in this example), configure other settings the way you want and hit the Merge button. The result may look similar to this:
To check how the Merge Cells add-in will cope with your data sets, you are welcome to download a fully functional trial version. And if you are happy with the result, you may want to buy helpful tool as a separate product or as part of our Ultimate Suite for Excel, which includes 40+ other time-saving tools for most common Excel tasks. Either way, we will happily offer you the 15% off coupon code that we've created especially for our blog readers: AB14-BlogSpo.
If someone wants to examine the formulas discussed in this tutorial more closely, the Sample workbook with concatenation formulas is available for download. Thank you for reading!