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个 。