- ベストアンサー
エクセルで複数のワードで検索して処理を分岐する方法
- エクセルで複数のワードを検索し、条件に応じて処理を分岐させる方法について解説します。
- 例えば、ワードが含まれているかどうかを別の列に表示するために、VLOOKUP関数を使用することができます。
- 別のシートに検索ワードと対応する処理結果を記載し、VLOOKUP関数で参照することで、効率的かつ柔軟な処理を行うことができます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- kagakusuki
- ベストアンサー率51% (2610/5101)
今仮に、Sheet2に A列 B列 1行目 リンゴ アップル 2行目 みかん オレンジ 3行目 ぶどう グレープ と入力されていて、 Sheet1のA1セルに おいしいみかんのゼリー 等の文字列が入力された時に、Sheet1のB1セルに、 オレンジ 等と表示させるものとします。 その場合、Sheet1のB1セルに次の数式を入力すると良いと思います。 =IF(SUMPRODUCT((ISERROR(FIND(Sheet2!$A$1:$A$99,$A1))=FALSE)*(Sheet2!$A$1:$A$99<>""))=0,"",INDEX(Sheet2!$B:$B,SUMPRODUCT((ISERROR(FIND(Sheet2!$A$1:$A$99,$A1))=FALSE)*(Sheet2!$A$1:$A$99<>"")*ROW(Sheet2!$A$1:$A$99)))) 尚、Sheet2のリストが99行以上ある場合には、上記の数式中の 99 の部分を、Sheet2のリストの行数を上回るのに充分な数に変更して下さい。 又、Sheet2のリストの行数が変化して、将来的には何行まで増えるのか、予測する事が困難な場合には、上記の数式中の Sheet2!$A$1:$A$99 の部分を、 OFFSET(Sheet2!$A$1,,,MATCH("゜",Sheet2!$A:$A,-1)) に変更して、 =IF(SUMPRODUCT((ISERROR(FIND(OFFSET(Sheet2!$A$1,,,MATCH("゜",Sheet2!$A:$A,-1)),$A1))=FALSE)*(OFFSET(Sheet2!$A$1,,,MATCH("゜",Sheet2!$A:$A,-1))<>""))=0,"",INDEX(Sheet2!$B:$B,SUMPRODUCT((ISERROR(FIND(OFFSET(Sheet2!$A$1,,,MATCH("゜",Sheet2!$A:$A,-1)),$A1))=FALSE)*(OFFSET(Sheet2!$A$1,,,MATCH("゜",Sheet2!$A:$A,-1))<>"")*ROW(OFFSET(Sheet2!$A$1,,,MATCH("゜",Sheet2!$A:$A,-1)))))) として下さい。 それと、上記の数式は リンゴとぶどうのミックスジュース のように、抽出文字列が複数の場合には対応しておりません。 もし、抽出文字列が複数の場合にも対応しなければならない場合には、補足等でお知らせ願います。
お礼
ありがとうございます。 試してみたところ出来ました!
お礼
ありがとうございます。 試してみたところ出来ました! 式もシンプルなので、良回答とさせていただきます。