Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Excel/VBA中,从具有重复项的名称列表生成查找表_Excel_Vba - Fatal编程技术网

在Excel/VBA中,从具有重复项的名称列表生成查找表

在Excel/VBA中,从具有重复项的名称列表生成查找表,excel,vba,Excel,Vba,我在一张表中有一个Excel中的名称和实例列表,在另一张表中有一个名称和用户ID列表。我想在实例表中创建一列引用名称和用户ID,但是有些用户的名称相同。对于1:1匹配,我使用vlookup来获取相应的ID,但这不适用于多个实例。在多:1关系的情况下,如何创建一个列来显示与该名称关联的所有可能ID?例如: User Name: User ID: Rusty McShackleford 1234560 Rusty McShackleford 1234570

我在一张表中有一个Excel中的名称和实例列表,在另一张表中有一个名称和用户ID列表。我想在实例表中创建一列引用名称和用户ID,但是有些用户的名称相同。对于1:1匹配,我使用vlookup来获取相应的ID,但这不适用于多个实例。在多:1关系的情况下,如何创建一个列来显示与该名称关联的所有可能ID?例如:

User Name:              User ID:
Rusty McShackleford     1234560
Rusty McShackleford     1234570
Rusty McShackleford     1234580
Rusty McShackleford     1230110
Zap Brannigan           0000001
在上面的示例中,我可以将Zap与用户ID匹配,因为只有一个实例,如何将Rusty(或所有Rusty)与一个实例匹配。感谢您的帮助

vlookup()需要一组唯一的值。在您的特定情况下,我将考虑在UrSurID上运行vLoopUp(),因为看起来A是唯一标识每个用户的值。

在这方面:

  • 创建新选项卡(图纸)
  • 在A列中,复制并粘贴所有“用户id”。确保删除重复项
  • 列B->“实例”使用vlookup()
  • 列C->“名称”使用vlookup()
  • 现在,要获得所有“生锈”列的列表,只需从a-Z中对列c(名称)进行排序。如果需要,重新排列列
  • 使用vlookup()的提醒很少。将范围查找指定为FALSE。确保使用绝对参考或更好的方法-使用表格作为参考。

    电子表格布局:

    A2:A15
    名称
    B2:B15
    IDs
    D2
    {=INDEX($A$2:$A$15;MATCH(0;COUNTIF($D$1:D1;$A$2:$A$15);0))}
    数组公式,在公式窗口中按Ctrl-Shift-Enter键可输入,卷曲括号由Excel插入,而不是由用户插入。
    A2:A15
    中列出了唯一的名称,应向下复制。该列可以隐藏

    E2
    :带有下拉列表的单元格,从列
    D

    F3
    =F2+匹配($E$2;偏移($A$1;F2+1;0):$A$15;0)
    ,向下复制<代码>F2是一个空单元格。
    在A列中查找匹配名称的行。F列可以隐藏。
    E3
    =抵销($1;F3;1)
    为特定名称选择ID。公式将被复制下来


    电子表格示例:

    我成功地使用了Vlookup,但我正在查看的表没有唯一的ID,它只有名称+日期/时间。ID是我试图将每个实例与之匹配的。请查看。让我知道要改变什么。你的很好用,谢谢。但愿我能投你一票。