【问题标题】:Finding and Outputing multiple entries in an excel array在excel数组中查找和输出多个条目
【发布时间】:2013-08-07 23:36:43
【问题描述】:

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

【问题讨论】:

标签: excel vba indexing match vlookup


【解决方案1】:

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

要获得firstname lastname,建议你添加第三列,并进行连接(例如:C1=A1&amp;" "&amp;B1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-13
    • 1970-01-01
    • 2019-08-14
    • 1970-01-01
    • 1970-01-01
    • 2021-02-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多