Use1 the following as an array formula.
=TEXTJOIN("-->", TRUE, IF(LEN(C3:I3), C$2:I$2, ""))
Pre-Excel 2016 versions
While you could just string together a series of IF statements, a cleaner alternate might be to write a user defined function (aka UDF).
In a standard VBA module code sheet:
Function udf_Stitch_Together(r As Range, _
h As Range, _
Optional d As String = "-->", _
Optional blnks As Boolean = False) As String
Dim s As String, c As Long
For c = 1 To r.Cells.Count
If CBool(Len(r.Cells(c).Text)) Then _
s = s & IIf(Len(s), d, vbNullString) & h.Cells(c).Text
Next c
udf_Stitch_Together = s
End Function
1 The TEXTJOIN was introduced with Excel 2016 in the following versions:Excel for Android phones, Excel Mobile, Excel 2016 with Office 365, Excel 2016 for Mac, Excel Online, Excel for iPad, Excel for iPhone and Excel for Android tablet.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…