我在Excel中有一个表,该表有10列。对于每一行,例如,填充了不同数量的单元格。
对于HTML电子邮件,我的串联字符串如下
(“ + Machine1 +”,“ + Machine2 +”,“ + Machine3 +”,“ + Machine4 +”,“ + Machine5 +”,“ + Machine6 +”)
但是我希望逗号不显示在行的最后一个单元格之后(无论是第3、4、5、6列)。
这就是我得到的
((TEST1,TEST2,TEST3,TEST4,TEST5,...)
我想最后删除两个逗号。希望这有道理!
答案 0 :(得分:2)
如果您具有Office 365 Excel,则使用TEXTJOIN:
="(" & TEXTJOIN(", ",TRUE,A2:F2) & ")"
否则,您将需要为每个收益和中值使用IF:
=MID("(" & IF(A2 <> "",", " & A2,"") & IF(A2 <> "",", " & B2,"") & IF(C2 <> "",", " & C2,"") & IF(D2 <> "",", " & D2,"") & IF(E2 <> "",", " & E2,"") & IF(F2 <> "",", " & F2,""),3,999)
答案 1 :(得分:1)
不带IF
除了Scott的有效解决方案之外,我还通过REPT
函数演示了一种方法。应用于包含字符串的单元格,它会一次“重复”其内容和逗号(由COUNTA()
等于1表示),而空单元格会导致零重复,它不仅可以省略单元格内容,而且还可以省略逗号:
="(" & SUBSTITUTE(REPT(A1&",",COUNTA(A1))&REPT(B1&",",COUNTA(B1))&REPT(C1&",",COUNTA(C1))&REPT(D1&",",COUNTA(D1))&REPT(E1&",",COUNTA(E1))&REPT(F1&",",COUNTA(F1))&"$",",$",")")
简单的SUBSTITUTE
会删除最后一个逗号,无论该逗号出现在右括号“)”之前。