0

我有一个更复杂的电子表格,但会解释我想用更简单的电子表格做什么。
我有 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 是名字,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
4

1 回答 1

0

接缝你需要一个数据透视表。试试看。

要获得firstname lastname,我建议您添加第三列连接(例如C1=A1&" "&B1:)

于 2013-08-08T10:19:53.540 回答