2012-12-26 133 views
1

我在Excel中有一张表中的名称和实例列表,另一张表中列出了名称和用户标识。我想创建一个引用实例表中名称和用户标识的列,但是某些用户的名称相同。对于1:1匹配,我使用vlookup来获取相应的ID,但这不适用于多个实例。在多关系的情况下,我可以做些什么来创建一个显示与该名称关联的每个可能的ID的列?例如:在Excel/VBA中从重复名称列表中查找表格

User Name:    User ID: 
Rusty McShackleford  1234560 
Rusty McShackleford  1234570 
Rusty McShackleford  1234580 
Rusty McShackleford  1230110 
Zap Brannigan   0000001 

在上面的例子,我可以匹配扎普到用户ID,因为仅存在一个实例,我将如何匹配生锈的(或全部的生锈的)到一个实例。感谢您的帮助

回答

0

电子表格布局:

A2:A15名称
B2:B15标识
D2{=INDEX($A$2:$A$15;MATCH(0;COUNTIF($D$1:D1;$A$2:$A$15);0))} 阵列式,在式窗口Ctrl移回车进入的,卷曲的支架被Excel插入,而不是由一个用户。
列出A2:A15中的唯一名称,应复制下来。该列可以隐藏。

E2:细胞与下拉列表,条目从名称列表中选择在D
F3=F2+MATCH($E$2;OFFSET($A$1;F2+1;0):$A$15;0),复制下来。 F2是一个空单元格。
在列A中查找匹配名称的行。可以隐藏列F。
E3=OFFSET($A$1;F3;1) 为特定名称选择ID。该公式将被复制下来。

示例表格:http://www.bumpclub.ee/~jyri_r/Excel/All_IDs_for_a_name.xls

0

一个vlookup()需要一组唯一的值。在您的具体情况下,我会考虑在user_id上运行vlookup(),因为它似乎是一个标识每个用户的唯一值。

在这方面:

  1. 创建新的选项卡(片材)
  2. 在A列,复制并粘贴所有 “USER_ID” 的。确保删除重复项。
  3. B栏 - > “实例” 使用VLOOKUP()
  4. C栏 - > “名称” 使用VLOOKUP()
  5. 我们得到的列清单所有 “生锈” 只是排序列c(名字)来自AZ。如有必要重新排列列。

很少有提醒与vlookup()。指定范围查找为FALSE。确保使用绝对引用或更好 - 使用表格作为参考。

+0

我用Vloookup成功地,但我期待通过该表不具有唯一的ID,它只有名字+日期/时间。 ID是我试图匹配每个实例。 –

+0

看看http://www.bumpclub.ee/~jyri_r/Excel/All_IDs_for_a_name.xls。让我知道要改变什么。 –

+0

您的作品非常完美,谢谢。只希望我能对你加油。 –