V 或 XLOOKUP 12 位数字范围的最后 4 个字符中的 4 位数字

V or XLOOKUP a 4 digit number from the last 4 characters of a range of 12 digit numbers

Sheet 1 列 A 有姓名,列 B 有 12 位身份证号码。

Sheet 2 有一个列是随机员工 ID 的最后 4 个数字。

我需要 X 或 Vlookup Sheet 2 以将最后 4 个号码与完整的 12 位 ID 号码相匹配。如果匹配的多,我想列出来。

这是我所拥有的,但它会产生 #N/A 错误:

=XLOOKUP(Sheet2!$A,Sheet1!$B:$B0,Sheet1!$A:$A0)

我找不到只搜索 Sheet1(12 位 ID 的范围)中每个范围单元格的最后四位数字的方法。请帮忙。

示例数据:

Sheet 1

Name 12 Digit ID
John sample111TypoHere1344
Jake 123456782567
Eliza 558456782567
Tony 558456789911
Jane 564231846155

Sheet 2

Last Digit ID's Guess for Employee's Full ID From Searching Sheet 1
2567
9911
4555
1234

预期输出:

Sheet 2

Last Digit ID's Guess for Employee's Full ID From Searching Sheet 1
2567 Jake or Eliza
9911 Tony
4555 Typed wrong or Does Not Exist
1234 Typed wrong or Does Not Exist

好的,很多关于 FILTER() 的提示,并且查看您的数据,我确实认为以下内容应该有效:

E2中的公式:

=TEXTJOIN(", ",,FILTER(A:A,--RIGHT(B:B,4)=D2,"Nothing"))

因为我希望 12 位 ID 是文本,所以有双一元。

编辑

你也可以试试这个,以后JvdV Sir's advice, Sir, I have made some corrections to my earlier formula. Though JvdV先生提供的公式绝对完美,我将亲自照做。

• 单元格 E2

中使用的公式
=TEXTJOIN(" or ",,FILTER($A:$A,
D2=--REPLACE($B:$B,1,LEN($B:$B)-4,""),
"Typed wrong or Does Not Exist"))

您可以使用基于简单公式 =MOD(A2,10000) 的辅助列的 VLookup() 作为获取数字最后四位数字的方法。

这里是截图中的解释:

VLookup()公式如下:

=VLOOKUP(D2,$B:$C,2)