• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで複数のワードで検索をして、処理を分岐させたい。)

エクセルで複数のワードで検索して処理を分岐する方法

このQ&Aのポイント
  • エクセルで複数のワードを検索し、条件に応じて処理を分岐させる方法について解説します。
  • 例えば、ワードが含まれているかどうかを別の列に表示するために、VLOOKUP関数を使用することができます。
  • 別のシートに検索ワードと対応する処理結果を記載し、VLOOKUP関数で参照することで、効率的かつ柔軟な処理を行うことができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

変換前のデータがD2セル以下に、変換後のデータがE2セル以下に入力されている場合、以下の式をB2セルに入力して下方向にオートフィルしてください(添付画像参照)。 =INDEX(E:E,MIN(INDEX(ISERROR(FIND($D$2:$D$10,A2))*1000+ROW($E$2:$E$10),)))&"" 他シートに抽出する場合は、適宜セル参照を変更してください。

pochitarou
質問者

お礼

ありがとうございます。 試してみたところ出来ました! 式もシンプルなので、良回答とさせていただきます。

その他の回答 (1)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.1

 今仮に、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)))))) として下さい。  それと、上記の数式は リンゴとぶどうのミックスジュース のように、抽出文字列が複数の場合には対応しておりません。  もし、抽出文字列が複数の場合にも対応しなければならない場合には、補足等でお知らせ願います。

pochitarou
質問者

お礼

ありがとうございます。 試してみたところ出来ました!