2013-02-26 66 views
0

我將描述我的數據開始查找列表

List1: 
Company   Result 
--------- 
Company1 (1234) 1 
Company1 (1445) 1 
Company3blabla 2 
Company4   0 

LookupList: 
Company  Index 
------------------ 
*Company1* 1 
*Company3* 2 

我試圖找到一個公式,將List1中每個企業搜索如果包含從LookupList匹配(因此*通配符的存在),如果是這樣,它將返回相應的索引值,如Result列所示。

到目前爲止,我得到了一個公式,可以返回1,如果有一個匹配,如果不爲0,但我不知道怎麼去從那裏的索引值:

{= MAX(ISNUMBER(SEARCH ('LookupList'!$ A $ 1:$ A $ 2,List1 [[This Row],[Company]]))+ 0)}

回答

0

您不需要通配符(SEARCH會自動在其他文本中進行搜索),這樣你可以刪除那些和使用該公式結果列得到的索引值

=IFERROR(LOOKUP(2^15,SEARCH('LookupList'!$A$1:$A$2,List1[[#This Row],[Company]]),'LookupList'!$B$1:$B$2),"")

如果沒有匹配,這會給你一個空白 - 如果需要,將「」結尾改爲文本,如「不匹配」

+0

這很好用!唯一的是它返回了公司價值而不是索引。爲了得到索引,我必須在查詢的las參數中引用列B:= IFERROR(LOOKUP(2^15,SEARCH('LookupList'!$ A $ 1:$ A $ 2,List1 [[This Row],[公司]]),'LookupList'!$ B $ 1:$ B $ 2),「」) – Lukasz 2013-02-26 15:52:29

+0

非常感謝,巴里。 – Lukasz 2013-02-26 15:53:54

+0

是的,我發佈的原稿有錯誤的參考文獻 - 我很快就改變了.... – 2013-02-26 15:55:09