如图片所示:
B2输入=INDIRECT("E"&SUM(IF(ISNUMBER(FIND($E$2:$E$5,A2)),ROW($E$2:$E$5),"")))
SHIFT+CTRL+ENTER 三键结束,下拉填充。
C2输入=VLOOKUP(B2,$E$2:$F$5,2,0) 下拉填充。
完成!
对 VLookUp 加工一下,自己弄一个函数
Function myFunction(dataMember As Range, dataHead As Range)
Dim str As String
strTemp = Split(dataMember, ",")
For Each mystr In strTemp
On Error Resume Next
myFunction = WorksheetFunction.VLookup(CDbl(mystr), dataHead, 2, False)
If WorksheetFunction.IsText(myFunction) Then
Exit For
End If
Next mystr
End Function
把代码拷贝到VBA(Alt+F11) 里
在B2 输入公式 =myFunction(A2,data!$A$2:$B$32)
然后往下拉就 OK 了
注:data 是你的第二张图的 sheet名,你可以自己改
假设上表为sheet1表,下表为sheet2表
在sheet1表的b2输入:
=lookup(1,0/find(sheet2!a$2:a$32,a2),sheet2!b$2:b$32)
下拉填充
提取工号好办,用=left(a1,6)这样的公式就行,但和工号对应的姓名得有列表才行。