Excel Vlookup用于搜索非唯一值

Excel Vlookup用于搜索非唯一值,excel,excel-formula,vba,Excel,Excel Formula,Vba,我有2张excel表格,其值如下 表1 EmpID AppName AppID [Only AppID is Unique] 表2 EmpID AppName RequestNum [Only RequestNum is unique] EmpID重复,因为有多个应用程序与一个用户关联 AppName重复,因为有多个单个应用的实例与一个用户关联 现在,我想将RequestNum从Sheet2获取到Sheet1,但如果重复,它显然会返回第一个值。ConcatnatingEmpID&AppNam

我有2张excel表格,其值如下

表1

EmpID AppName AppID [Only AppID is Unique]
表2

EmpID AppName RequestNum [Only RequestNum is unique]
EmpID
重复,因为有多个应用程序与一个用户关联 AppName重复,因为有多个单个应用的实例与一个用户关联

现在,我想将RequestNum从
Sheet2获取到Sheet1
,但如果重复,它显然会返回第一个值。Concatnating
EmpID&AppName
不起作用,因为它没有唯一的组合。我如何做到这一点?是否可以使用公式组合,或者我需要宏

将“我的工作表”的示例粘贴到下面:

第1页:

EmpID   AppName AppID
A123    App1    UniqueID001
A123    App2    UniqueID002
B444    App66   UniqueID003
B898    App1    UniqueID004
H123    App33   UniqueID005
A123    App1    UniqueID006
B444    App33   UniqueID007
L001    App2    UniqueID008
H123    App1    UniqueID009
第2张

EmpID   AppName RequestNum
A123    App1    UniqueReq001
A123    App2    UniqueReq002
B444    App66   UniqueReq003
B898    App1    UniqueReq004
H123    App33   UniqueReq005
A123    App1    UniqueReq006
B444    App33   UniqueReq007
L001    App2    UniqueReq008
H123    App1    UniqueReq009
A123    App1    UniqueReq010
A123    App2    UniqueReq011
B444    App66   UniqueReq012
B898    App1    UniqueReq013
H123    App33   UniqueReq014
A123    App1    UniqueReq015
B444    App33   UniqueReq016
L001    App2    UniqueReq017
H123    App1    UniqueReq018
如果Sheet1的AppID是唯一的,Sheet2的RequestNum是唯一的,我不确定您将如何确定将Sheet2的RequestNum发送到哪个EmpID和AppName,但这里有一个可能的解决方案


D2中的公式是
=IFERROR(索引($H$2:$H$9,SMALL(索引(行($1:$8)+($F$2:$F$9$A2)+($G$2:$G$9$B2))*1E+99,,),COUNTIFS($A$2:$A2,$A2,$B$2:$B2,$B2)),“”)
。根据需要填写。

如果我在表1中正确理解您的意思,您希望在表1中显示表2中与“EmpID”和“AppName”匹配的所有“RequestNum”。将有多个“RequestNum”,因此我将ID连接成一个字符串。还要注意,Sheet1上的多行将显示相同的“RequestNum”,其中“AppID”不同,但“EmpID”和“AppName”相同

活页1上D2的公式:
=连接(;”,过滤器(Sheet2!$C$1:$C$19,Sheet2!$A$1:$A$19=A2,Sheet2!$B$1:$B$19=B2))


向下复制。

好的,我已经解决了这个问题,没有任何宏或复杂的公式

  • 首先,我必须在Emp ID中对这两张表进行排序&然后在App Name中进行排序
  • 在开始处插入新列并连接Emp ID+应用程序名称
  • 在app name之后插入2个新列:say Count&Unique
  • 在count下,我使用countif简单地计算了第一个连接列中的重复次数
  • 在“唯一”下,使用if(=if(A2=A1,C1+1,1))-->增加唯一重复的值-->这将在工作表和vlookup上提供唯一(几乎唯一)的值

谢谢您的帮助:)

您可以说Concatnating EmpID&AppName。。。不构成唯一的组合。那么,表之间的唯一连接是什么呢?恐怕没有,sheet1(AppID)中的唯一值与sheet2(RequestNum)中的唯一值不同,因此对于给定的EmpID和AppName,我们如何知道返回哪个RequestNum?好的,sheet1包含abt 3000条记录(比如特定月份的记录)请将您期望的结果添加到示例数据中。在OP澄清他想要什么之前,发布此内容的意义是什么?事实上,你只是猜测我不是投票人,但你在这里把VBA和本机工作表函数混在一起了吗?方向和单元格范围引用似乎仅针对工作表功能,但
Join
Filter
是VBA.Doh!!我把这和谷歌表单上的另一个问题搞混了!!筛选器和联接公式是特定于google工作表的,并且在Excell中不存在(无论如何不是本机的)