第1列中的数据包含由'#'分隔的数据类型符号:
Year#Storey#Area#Condition#Name
第二列中的数据包含与第一列中的数据类型相对应的信息,也由'#'分隔。符号:
2015#3#170#Renovated#John
我希望合并第1列和第2列的信息,并按以下格式获取数据:
Year - 2015
Storey - 3
Area - 170
Condition - Renovated
Name - John
何在Excel中实现它?我需要指定什么样的公式?
答案 0 :(得分:2)
通过在VBA中创建UDF,您可以避免从数据行中提取列数据。
为此,请在工作簿中创建VBA模块并放置此代码:
Function GETCOLUMNDATA(Cell As Range, ColumnNumber As Long, Delimeter As String) As String
GETCOLUMNDATA = Split(Cell, Delimeter)(ColumnNumber - 1)
End Function
然后您可以轻松提取数据,如下所示:
公式显示在公式栏中。
然后,根据您想要的格式,只需相应地加入它们。
注意:要将换行符放入单元格,请按Alt + Enter
答案 1 :(得分:1)
您可以使用相对简单的用户定义函数来执行此操作。
Option Explicit
Function CombineCells(R1 As Range, R2 As Range, Optional Sep As String = "#")
Dim V1 As Variant, V2 As Variant
Dim I As Long
V1 = Split(R1, Sep)
V2 = Split(R2, Sep)
'Check that same number of items in each
If UBound(V1) <> UBound(V2) Then
MsgBox Prompt:="Data Error" & vbLf & "Item Count different in the Two Cells", Title:="Input Error"
End If
For I = 0 To UBound(V1)
V1(I) = V1(I) & " - " & V2(I)
Next I
CombineCells = Join(V1, vbLf)
End Function
要输入此用户定义函数(UDF),alt-F11
将打开Visual Basic编辑器。
确保在Project Explorer窗口中突出显示您的项目。
然后,从顶部菜单中选择Insert/Module
和
将下面的代码粘贴到打开的窗口中。
要使用此用户定义函数(UDF),请输入类似
的公式=CombineCells(A2,B2)
在某个单元格中。