Excel – 如何从大列表中查找通配符string

我的数据表由a)索引号和b)与索引号相关的string组成。 在我的模板中,用户将input一个索引号,并显示与该索引号相关联的string。

例如

1 Bag 1 Catsgsg 1 Dogs 1 oygg 2 Stackoverflow 2 tacks 2 Binoculars 2 all . . . 1000 Bonobos 1000 Canopy 1000 Ascot 

如果用户input数字1000,如何知道有ab字而不是实际字? 我怎样才能解决我的数组公式为通配符工作?

 =INDEX(Partners!$D$2:$D$2227,MATCH(1,(Partners!$A$2:$A$2227=number)*(Partners!$C$2:$C$2227="b *"),0)) 

编辑:我能够调整callum的解决scheme,并有公式帐户多个通配符string。

 =INDEX(Partners!$D$2:$D$2227,MATCH(1,IFERROR(SEARCH(num&"A*",Partners!$A$2:$A$2227&Partners!$D$2:$D$2227),0)+IFERROR(SEARCH(num&"B*",Partners!$A$2:$A$2227&Partners!$D$2:$D$2227),0)+IFERROR(SEARCH(num&"C*",Partners!$A$2:$A$2227&Partners!$D$2:$D$2227),0),0)) 

只有特定的函数接受通配符,所以如果你想使用*通配符,你将需要使用其中的一个。 SEARCH就是一个例子:

 =INDEX(Partners!$D$2:$D$2227,MATCH(1,IFERROR(SEARCH(number&"b*",Partners!$A$2:$A$2227&Partners!$B$2:$B$2227),0),0)) 

或者,你可以完全避免通配符:

 =INDEX(Partners!$D$2:$D$2227,MATCH(number&"b",Partners!$A$2:$A$2227&LEFT(Partners!$B$2:$B$2227,1),0)) 

都作为数组公式input( Ctrl + Shift + Enter

尝试,

 =INDEX(B:B, AGGREGATE(15, 6, ROW(A$1:INDEX(A:A, MATCH(1E+99, A:A)))/((A$1:INDEX(A:A, MATCH(1E+99, A:A))=E6)*(LEFT(B$1:INDEX(B:B, MATCH(1E+99, A:A)), 1)=F6)), 1)) 

在下面提供的示例图像中,我已经将B更改为C ,以certificate公式不是简单地返回find的前1000个

在这里输入图像说明