我有一个更复杂的spreasheet但会解释我想用更简单的电子表格做什么 我有2列,第一列有名字,第二列有姓氏。
例如:
Column1
Michael;
Michael;
Michael;
George;
Michael;
Henry;
Column 2
Keaton;
Douglas;
Jackson;
Washington;
Jordan;
Ford;
我想创建一个excel公式或vba函数来搜索第1列中与“Michael”匹配的所有行,并返回与这些“Michael”名字相关联的所有姓氏。优选地,将姓氏与其间的空格连接在一起。 excel中的Vlookup,Index,Match和Array函数不起作用,因为它们只返回第一个“Michael”姓氏。我已经测试了下面的VBA功能,它似乎有效,但希望对这个功能有所反馈,或者对有效的公式提出建议。
因此上述列的函数输出为:
“(基顿)(道格拉斯)(杰克逊)(约旦)”欢迎任何帮助或建议。
VBA代码。
SourceArray将是First Names,ID是“Michael”,TargetArray是姓氏。
Public Function DrawID(arrInput As Variant, ID As String, arrOutput As Variant)
Dim ArraySize As Integer
Dim i As Integer
ArraySize = Application.WorksheetFunction.CountA(arrInput)
i = 1
Do While i <= ArraySize
If arrInput(i) = ID Then
DrawID = DrawID & " (" & arrOutput(i) & ")"
End If
i = i + 1
Loop
End Function
答案 0 :(得分:0)
接缝你需要一个数据透视表。试一试。
要获得firstname lastname
,我建议您添加第三列连接(例如: C1 =A1&" "&B1
)