通过 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"))
我正在使用下面的公式过滤两张表之间的一组数字,以找出不同员工的 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"))