## Summary

To join multiple cell values with a comma, you can use a formula based on the SUBSTITUTE and TRIM functions. You can use this same approach to concatenate values in cells with any delimiter you like. In the example shown, the formula in G5 is:

``````=SUBSTITUTE(TRIM(B5&" "&C5&" "&D5&" "&E5&" "&F5)," ",", ")
``````

Note: the new TEXTJOIN function is a better way to solve this problem. See below for more information.

## Generic formula

``=SUBSTITUTE(TRIM(A1&" "&B1&" "&C1&" "&D1&" "&E1)," ",", ")``

## Explanation

Working from the inside out, the formula first joins the values the 5 cells to the left using the concatenation operator (&) and a single space between each value:

``````B5&" "&C5&" "&D5&" "&E5&" "&F5
``````

This part of the formula is annoyingly manual. To speed things up, copy &" "& to the clipboard before you start. Then follow this pattern:

[click] [paste] [click] [paste] [click] [paste]

until you get to the last cell reference. It actually goes pretty fast.

The result of this concatenation (before TRIM and SUBSTITUTE run) is a string like this:

``````"figs  apples  "
``````

Next, the TRIM function is used to "normalize" all spacing. TRIM automatically strips space at the start and end of a given string, and leaves just one space between all words inside the string. This takes care of extra spaces causes by empty cells.

``````"figs apples"
``````

Finally, the SUBSTITUTE function is used to replace each space (" ") with a comma and space (", "), returning text like this:

``````"figs, apples"
``````

### Joining cells with other delimiters

To join cells with another delimiter (separator), just adapt the "new_text" argument inside SUBSTITUTE. For example, to join cells with a forward slash, use:

``````=SUBSTITUTE(TRIM(B7&" "&C7&" "&D7&" "&E7&" "&F7)," ","/")
``````

The output will look like this:

``````limes/apricots/apricots/limes/figs
``````

### TEXTJOIN Function

The TEXTJOIN function is a new function available in Excel 365 and Excel 2019. TEXTJOIN allows you to concatenate a range of cells with a delimiter, and will can also be set to ignore empty cells. To use TEXTJOIN with the example above, the formula is:

``````=TEXTJOIN(", ",TRUE,B5:F5)
``````

Author

### Dave Bruns

Hi - I'm Dave Bruns, and I run Exceljet with my wife, Lisa. Our goal is to help you work faster in Excel. We create short videos, and clear examples of formulas, functions, pivot tables, conditional formatting, and charts.