通过 Excel 中的文本和数字数组过滤

Filter through Array of Text and Numbers in Excel

我正在使用下面的公式过滤两张表之间的一组数字,以找出不同员工的 ID 号,但是当一个字母不小心包含在搜索范围内时,它会崩溃。

如何强制 FILTER 考虑文本和数字?

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

示例数据:

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

实际输出:

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

我使用解释“文本”和“值”的 IFERROR 命令尝试了这条长线,但它也失败了:

=IFERROR(TEXTJOIN(", ",,FILTER(H8:H0,--RIGHT(I8:I0,4)=TEXT(D2,0),"Error 0")), TEXTJOIN(", ",,FILTER(H8:H0,--RIGHT(I8:I0,4)=VALUE(K124),"Error 1")))

实际输出:

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

如果最后四个字符有字母--RIGHT(B:B,4)会报错。而是通过连接 &""

将搜索条件更改为字符串
=TEXTJOIN(" or ",,FILTER(A:A,RIGHT(B:B,4)=D2&"","Typed wrong or Does Not Exist"))