Written by Allen Wyatt (last updated February 11, 2023)
This tip applies to Excel 2007, 2010, 2013, 2016, 2019, Excel in Microsoft 365, and 2021
John noticed that Excel provides three ways to concatenate values: Using the & operator, the CONCATENATE function, and the new CONCAT function. He wonders about the differences between these various ways of putting together values and which is the best to use.
Actually, there is another new function (TEXTJOIN) which could also be used to concatenate values. This means that Excel now has four different ways to pull values together into a string.
Before explaining the differences, though, it may be best to define what is meant by "new" when, in this case, discussing "new functions." Specifically it means that the new functions are available to those using Excel 2016 if that version of Excel is based on an Office 365 subscription. This means that if you have Excel 2016 that is standalone, you won't have access to either CONCAT or TEXTJOIN. You only get them with the subscription. If you have an Office 365 subscription and you cannot use CONCAT or TEXTJOIN, you'll want to check for updates and make sure you are updated to the latest version—these two functions have been available since February 2016.
Now for the traditional methods of combining values: There is very little difference between using the & operator or the CONCATENATE function. The biggest theoretical difference is that the CONCATENATE function has a limit of 255 parameters that can be used with it, and the & operator does not. (I say "theoretical" because you've got to do a LOT of work to use 255 parameters with CONCATENATE.) Personally, I prefer to use the & operator for no other reason than it takes less time to type and is clearer to me than the function approach.
The CONCAT function does the traditional approaches one better, so to speak: It allows you to use ranges as parameters. This is actually pretty cool; consider the following usage:
=A1 & A2 & A3 & A4
Pretty straightforward, right? Well, with CONCAT you could simplify to this:
=CONCAT(A1:A4)
It becomes even better if you want to use a rectangular area. The old way is this:
=A1 & A2 & A3 & A4 & B1 & B2 & B3 & B4
Here's how to do it with CONCAT:
=CONCAT(A1:A4, B1:B4)
If you modified this a bit, you can easily combine the values by row within the range:
=CONCAT(A1:B4)
This is equivalent to the following:
=A1 & B1 & A2 & B2 & A3 & B3 & A4 & B4
Now, let's throw the TEXTJOIN function into the mix. This function adds two required parameters before the list of cells or ranges of cells you want to concatenate. These parameters allow you to add both a delimiter and indicate if empty cells should be ignored. Here's an example:
=TEXTJOIN(" ", TRUE, A1:B4)
In this usage, the function automatically adds a space character between each cell value that it concatenates. The delimiter isn't limited to a single character; you could use multiple characters. This sure beats the old way of doing it:
=A1 & " " & B1 & " " & A2 & " " & B2 & " " & A3 & " " & B3 & " " & A4 & " " & B4
The second TEXTJOIN parameter, set to TRUE in this example, indicates whether or not you want to skip blank cells in the ranges you are concatenating. This is really impossible to do with any other concatenation approach, and it makes the TEXTJOIN function very powerful. Plus, it gets rid of "double delimiters" as it truly only includes one delimiter between each value it adds to the resultant string.
Which of these four methods should you use to concatenate your values? It's up to you, but if you are developing workbooks that will be used by those with older versions of Excel, I'd suggest sticking to the & operator or the CONCATENATE function. If, however, you are pretty sure that those using the workbook will always have the latest version of Excel, then I'd blow right past CONCAT and use the TEXTJOIN function almost entirely.
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (4629) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, Excel in Microsoft 365, and 2021.
Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!
Looking for a great reference that you can use to help figure out the various worksheet functions available in Excel? ...
Discover MoreIf you need to change the case of letters in a cell, one of the functions you can use is the PROPER function. This tip ...
Discover MoreThe PROPER worksheet function is used to change the case of text so that only the first letter of each word is uppercase. ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
2023-02-11 06:13:01
Mike J
TEXTJOIN() and CONCAT() are among several excellent UDFs of New Excel 2016 functions that can be used in older versions of Excel.
The TEXTJOIN() function can be found at:
https://www.reddit.com/r/excelevator/comments/5movbv/udf_textjoin_delimeter_ignore_blanks_valuerange/
(this page also has links to CONCAT() and many other useful '2016' UDFs).
Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2024 Sharon Parq Associates, Inc.
Comments