You didn't add the code for the UDF to your workbook, as chemistb suggested in the first line of post #9, if you followed his / her other suggestion and installed morefunc then you don't need the code, but you will need to use the MCONCAT formula, not the ACONCAT formula.
Function aconcat(a As Variant, Optional sep As String = "") As String
' Harlan Grove, Mar 2002
Dim y As Variant
If TypeOf a Is Range Then
For Each y In a.Cells
aconcat = aconcat & y.Value & sep
Next y
ElseIf IsArray(a) Then
For Each y In a
aconcat = aconcat & y & sep
Next y
Else
aconcat = aconcat & a & sep
End If
aconcat = Left(aconcat, Len(aconcat) - Len(sep))
End Function
Also there were some minor errors in the formula that both chemistb and myself suggested, this one based on chemistb's formula works properly.
With the code above use
=SUBSTITUTE(ACONCAT(IF(ISNUMBER(I12:AV12),I$9:AV$9,),", ")&", ","0, ","")
Array confirmed with Shift Ctrl Enter
Or with the morefunc addin installed use
=SUBSTITUTE(MCONCAT(IF(ISNUMBER(I12:AV12),I$9:AV$9,),", ")&", ","0, ","")
Array confirmed with Shift Ctrl Enter
Bookmarks