【发布时间】:2017-03-29 21:50:16
【问题描述】:
【问题讨论】:
-
到目前为止你尝试过什么?至少,嵌套的
IF()语句看起来可以工作。 -
我尝试了一个 IF 函数,但出现了参数过多的错误
标签: excel vba excel-formula formula textjoin
【问题讨论】:
IF() 语句看起来可以工作。
标签: excel vba excel-formula formula textjoin
使用¹以下作为数组公式。
=TEXTJOIN("-->", TRUE, IF(LEN(C3:I3), C$2:I$2, ""))
Excel 2016 之前的版本
虽然您可以将一系列 IF 语句串在一起,但更简洁的替代方法可能是编写用户定义的函数(又名 UDF)。
在标准 VBA 模块代码表中:
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
¹ TEXTJOIN 在以下版本中随 Excel 2016 一起推出:适用于 Android 手机的 Excel、Excel Mobile、带有 Office 365 的 Excel 2016、Excel 2016 for Mac、Excel Online、Excel for iPad、 Excel for iPhone 和 Excel for Android 平板电脑。
【讨论】:
TextJoin(),但找不到一种只用值填充单元格的好方法。