26

特定の範囲で部分的なテキストを見つけて、見つかったテキストのセル インデックスの下にある X 行の値を取得する必要があります。INDEX 関数と MATCH 関数を試しましたが、成功しませんでした。

例え

例のように: テキストの部分を検索しASDFGHJK、3 行下の値 ( I NEED THIS VALUE) を返す必要があります。見つかったセルの行インデックスと +3 を取得して必要な値 (「I NEED THIS VALUE」) を取得しようとしましたが、成功しませんでした。

これを行う方法はありますか?

4

3 に答える 3

36

「ワイルドカード」を使用できるためMATCH、ピーターの返信に従ってH1で「ASDFGHJK」を想定すると、この正規式を使用できます

=INDEX(G:G,MATCH("*"&H1&"*",G:G,0)+3)

MATCH は 1 つの列または行しか参照できないため、6 つの列を検索する場合は、6 つの MATCH 関数を使用して数式を設定するか、別のアプローチに変更する必要があります。A2:G100 の検索データを想定して、この「配列数式」を試してください。

=INDIRECT("R"&REPLACE(TEXT(MIN(IF(ISNUMBER(SEARCH(H1,A2:G100)),(ROW(A2:G100)+3)*1000+COLUMN(A2:G100))),"000000"),4,0,"C"),FALSE)

確認済みCtrl- Shift-Enter

于 2013-03-22T13:12:57.977 に答える
12

この式は仕事をします:

=INDEX(G:G,MATCH(FALSE,ISERROR(検索(H1,G:G)),0)+3)

配列数式として入力する必要があります。つまり、Ctrl- Shift-を押しEnterます。検索している部分文字列が cell にあると想定していますH1

于 2013-03-22T10:16:27.150 に答える
2

同じ問題を解決するためにグーグルで検索したときにこれを見つけました。検索する「Sun」と「Sunstruck」という 2 つの類似した部分文字列があったため、私の状況で機能させるには、ソリューションに小さな変更を加える必要がありました。提供された解決策は、「Sun」を検索するときに間違ったエントリを見つけることでした。B列のデータ

別の列 C、式 C1=" "&B1&" " を追加し、検索を =COUNTIF(B1:B10,"* "&A1&" *")>0 に変更しました。連結された文字列。

于 2015-09-25T23:57:47.780 に答える