Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 7 Professional : Excel 2010)
複数の検索キーを使ってセルの内容を調べたい
投稿日時: 17/02/16 20:34:14
投稿者: めんたん

あるキーワードを1つだけ含んだ文字列が入ったセルがあります。
キーワードは全部で10個ぐらいです。セルの中でキーワードは重複および複数存在しません。
文字列になんのキーワードが含まれるのかを表示したいのです。

文字列         結果
○○赤○○    赤
△青△△△    青
□□□□黄    黄

長いIf文を書くか作業列を使えばいいのですが、できたらキーワードの入ったセルも数式に組み込みたいと思っています。
 
=If(Not(IsError(Find("赤",A1))),"赤",If(Not(IsError(Find("青",A1))),"青"・・・
 
Find([検索文字列格納セル範囲],[検索対象文字列])
みたいな感じで数式を短くできませんか?
 

回答
投稿日時: 17/02/16 20:59:07
投稿者: 半平太

>Find([検索文字列格納セル範囲],[検索対象文字列])
    ~~~~~~~~~↑~~~~~~~~~~~~
    これって、一列か一行なのですか?
 
以下、取りあえず、配列定数で処理
 
キーワードが本当に1文字なら
 =MID(A1,-LOOKUP(0,-FIND({"赤","青","黄"},A1)),1)
 
実際は、文字数が不定なら
 =LOOKUP(0,-FIND({"赤鬼","青大将","水戸黄門"},A1),{"赤鬼","青大将","水戸黄門"})
 

投稿日時: 17/02/17 16:45:00
投稿者: めんたん

半平太さん、ありがとうございます。
ご返事が遅くなってすみません。
 
>実際は、文字数が不定なら
>=LOOKUP(0,-FIND({"赤鬼","青大将","水戸黄門"},A1),{"赤鬼","青大将","水戸黄門"})
 
D1:F1 にキーワードを設定して、B1セルに
=LOOKUP(0,-FIND($D$1:$F$1,A1),$D$1:$F$1)
 
こちらでばっちりでした。
が、やっぱり配列定数やら配列数式やらの内容が理解が難しいです^^;
 
いろいろ問題をこなさないと身に付かないですね。

回答
投稿日時: 17/02/19 22:42:11
投稿者: Mike

=MID(A2,LOOKUP(5,FIND({"赤","青","黄"},A2)),1)

トピックに返信