簡體   English   中英

Excel - 如何從大列表中查找通配符字符串

[英]Excel - how to find wildcard string from large list

我的數據表包括a)索引號和b)與那些索引號相關聯的字符串。 在我的模板中,用戶將輸入索引號,並顯示與該索引號關聯的字符串。

例如

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

如果用戶輸入數字1000,我怎么能知道諷刺文字是否有ab字而不是實際字? 如何修復我的數組公式以使用通配符?

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

編輯:我能夠調整callum的解決方案,並具有多個通配符字符串的公式帳戶。

=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))


兩者都作為數組公式輸入( 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 ,以證明公式不是簡單地返回找到的前1000個

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM