• ベストアンサー

EXCEL|文字を検索する・・・

EXCEL賢者のかたへ A   B 赤色 注意 青赤 注意 緑   - 黄色 注意 黄緑 注意 紫   - 上記は、A列に赤または、緑という文字があったら、B列で注意と表示するという内容です。 B列に入れる式を教えてください。

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

  • ベストアンサー
  • cj_mover
  • ベストアンサー率76% (292/381)
回答No.5

こんにちは。お邪魔します。 処理能で言ったら#4さんのが抜群のようですね。 編集能を重視しつつ処理能で中庸をいく数式という意図で書いてみました。   =IF(OR(COUNTIFS(A2,"*"&{"赤","緑"}&"*")),"注意","") Excel2003以前のバージョンなら   =IF(OR(COUNTIF(A2,"*"&{"赤","緑"}&"*")),"注意","") という普通の数式です。 セル参照は1カ所だけです。A2 の部分は適宜参照を書き換えてください。 例えば後から"黄"を追加する必要が生じたら、 {"赤","緑"} の部分を {"赤","緑","黄"} という風に書き換えるだけで簡単に済ませられる、 という特長があります。   Excel2003以前のバージョンをお使いで(COUNTIF関数を使わなくてはならないケースで)   この数式を数千箇所で使うという場合ならば、   COUNTIF関数はちょっと計算が重いので、お奨めしません。   その場合は#4さんのように条件をひとつひとつ書きだした方が軽いとは思います。   数百、程度であれば、使用感にあまり変わりはないと思います。 条件さえ合えば、無駄なく扱い易く書けているとは思いますけれど、如何でしょう。

その他の回答 (4)

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

 今仮に、御質問文の例でA列に「赤色」と入力されているセルがA2セルであるものとしますと、B2セルに次の数式を入力してから、B2セルをコピーして、B3以下に貼り付けると良いと思います。 =IF($A2="","",IF(OR(ISNUMBER(FIND("赤",$A2)),ISNUMBER(FIND("緑",$A2))),"注意","-"))

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんにちは! A1セル以降にデータがありB列に表示するとします。 すでのNo.1さんが的確な回答をされていらっしゃいますが・・・ 似たような感じで B1セルに =IF(OR(ISNUMBER(FIND({"赤","黄"},A1))),"注意","") これは配列数式になってしまいますので、 Shift+Ctrl+Enterで確定! この画面からコピー&ペーストする場合は 上記数式をドラッグ&コピー → B1セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま) Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 これをオートフィルで下へコピーしてみてください。m(_ _)m

  • itu1989
  • ベストアンサー率44% (37/83)
回答No.2

【完全一致】 =IF(OR(A1="赤",A1="緑"),"注意","-") 【一部一致】 =IF(COUNTIF(A1,"*赤*")+COUNTIF(A1,"*緑*")>=1,"注意", "-")

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

B1セルに以下の式を入力して下方向にオートフィルしてください。 =IF(SUMPRODUCT(COUNTIF(A1,{"*赤*","*緑*"})),"注意","")

関連するQ&A