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