Scott presents a neat solution for newer versions of Excel. The other three solutions (so far) use simple functions that work in any version of Excel. However, the delimiting commas are actually a little more complicated than those formulas handle. To accomplish this in that style of solution requires some logic for each comma.

Here are the possible combinations of present and missing values:

The first row is no missing values. The next four rows have one missing value in each possible position. The next six rows have two missing values in each possible position. Then the four rows of three missing values, and finally all values missing. To get a comma where it is needed, and only where it is needed, you need some logic for each comma.

The easiest way to do this is to associate the comma with the "next" value. At each comma position, there is no comma if no values came before it (which is a different case for each position). If there is any preceding value, you only want a comma if the next position has a value. So the comma logic looks like this:

```
First comma: =IF(J3="","",IF(K3="","",", ")) or =IF(AND(J3<>"",K3<>""),", ","")
Second comma: =IF(J3&K3="","",IF(L3="","",", ")) or =IF(AND(J3&k3<>"",L3<>""),", ","")
Third comma: =IF(J3&K3&L3="","",IF(M3="","",", ")) or =IF(AND(J3&K3&L3<>"",M3<>""),", ","")
```

I've put each comma in a separate column to illustrate the pattern with the various combinations of values:

The solution concatenates the values (or blank if none), with the commas. For readability, here's the formula with the comma inserted as a reference to its formula cell:

```
=IF(J3="","",J3) &N3 &IF(K3="","",K3) &O3 &IF(L3="","",L3) &P3 &IF(M3="","",M3)
```

Substituting the comma formulas into the result formula gives you:

```
=IF(J3="","",J3) &IF(AND(J3<>"",K3<>""),", ","") &IF(K3="","",K3) &=IF(AND(J3&k3<>"",L3<>""),", ","") &IF(L3="","",L3) &=IF(AND(J3&K3&L3<>"",M3<>""),", ","") &IF(M3="","",M3)
```