我有一个excel函数可以完成我想要的工作,但可以整理一下:
=CELL("contents",E2) & (", ") & CELL("contents",F2) & (", ") & CELL("contents",G2 )& (", ") & CELL("contents",H2)
它从一行中的四个单元格中获取信息,并在每一个单元格之间添加逗号和空格。
我该如何整理?另外如何在不更改“E3,F3,G3,H3”的单元格引用然后“E4,F4,G4,H4”等单元格的情况下将该公式放入所有126中。
答案 0 :(得分:2)
简单:
=E2 & ", " & F2 & ", " & G2 & ", " & H2
您还可以编写一个VBA函数来模仿.NET string.Join()函数,然后公式将是
=JOIN(E2:H2)
或许,取决于你如何编写函数:
=JOIN(E2:H2, ", ")
正如评论者所指出的,如果您复制并粘贴上述公式,Excel将调整单元格引用以保持与新位置的相对关系。
这是JOIN()的可能实现:
Public Function JOIN(rngValues As Range, strSeparator As String) As String
Dim rngCell As Range
For Each rngCell In rngValues
If Not IsEmpty(rngCell) Then
If Len(JOIN) Then
JOIN = JOIN & strSeparator
End If
JOIN = JOIN & rngCell
End If
Next
End Function