0

データの説明から始めます

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

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

LookupList からの一致が含まれている場合 (したがって * ワイルド カードが存在する場合)、List1 内の各会社を検索する数式を見つけようとしています。そうであれば、結果に示すように、対応するインデックス値を返します。桁。

これまでのところ、一致する場合は 1 を返し、そうでない場合は 0 を返す数式を取得しましたが、そこからインデックス値を取得する方法がわかりません。

{=MAX(ISNUMBER(SEARCH('LookupList'!$A$1:$A$2,List1[[#この行],[会社]]))+0)}

4

1 に答える 1

0

ワイルドカードは必要ありません (SEARCH はとにかく他のテキスト内を自動的に検索します) ので、ワイルドカードを削除し、結果列でこの式を使用して INDEX 値を取得できます。

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

一致がない場合は空白になります。必要に応じて、末尾の「」を「一致なし」などのテキストに変更します

于 2013-02-26T15:40:07.987 に答える