使用重复的名称列表在Excel / VBA中查找表
我在Excel中有一张名单和实例列表,另一张是列表名称和用户标识。 我想创build一个引用实例表中的名称和用户标识的列,但是某些用户名称相同。 对于1:1的匹配,我使用vlookup来获得相应的ID,但这不适用于多个实例。 在多关系的情况下,我能做些什么来创build一个显示与该名称关联的每个可能的ID的列? 例:
User Name: User ID: Rusty McShackleford 1234560 Rusty McShackleford 1234570 Rusty McShackleford 1234580 Rusty McShackleford 1230110 Zap Brannigan 0000001
在上面的例子中,我可以将Zap匹配到一个用户ID,因为只有一个实例,我将如何匹配Rusty(或所有的Rusty)到一个实例。 谢谢你的帮助
电子表格布局:
A2:A15
名称
B2:B15
ID
D2
{=INDEX($A$2:$A$15;MATCH(0;COUNTIF($D$1:D1;$A$2:$A$15);0))}
数组公式窗口中的Ctrl-Shift-input,曲线括号由Excel插入,而不是由用户插入。
列出A2:A15
唯一名称应该被复制下来。 该列可以隐藏。
E2
:具有下拉列表的单元格,从列D
中的名称列表中select条目
F3
: =F2+MATCH($E$2;OFFSET($A$1;F2+1;0):$A$15;0)
,复制下来。 F2
是一个空单元格。
在列A中查找匹配名称的行。列F可以隐藏。
E3
: =OFFSET($A$1;F3;1)
为特定名称selectID。 公式将被复制下来。
电子表格示例: http : //www.bumpclub.ee/~jyri_r/Excel/All_IDs_for_a_name.xls
一个vlookup()需要一组唯一的值。 在你的具体情况下,我会考虑在user_id上运行vlookup(),因为它似乎是一个唯一的值来标识每个用户。
在这方面:
- 创build一个新的选项卡(工作表)
- 在A列中,复制并粘贴所有“user_id”。 确保删除重复项。
- 列B – >“实例”使用一个vlookup()
- 列C – >“名称”使用一个vlookup()
- 现在要获得所有“Rusty”列的列表,只需对AZ列c(Name)进行sorting即可。 如有必要重新排列列。
很less提醒与vlookup()。 指定范围查找为FALSE。 确保使用绝对引用或更好 – 使用表作为参考。