- ベストアンサー
EXCELの条件付き書式で「~を含む」条件を設定したい。
表題の通りですが、現在次のような表があり、「検索用セル」に特定の文字列を入力するとその文字列を含むセルの色が変わるようにしたいと思います。 例 データセル A5 AB123-4 A6 AB123-5 A7 AC124-7 A8 AB127-6 A9 AD123-8 A10 BC123-7 … このとき, A:検索用のセル(たとえばA2)に[123]と入力すると、A5,A6,A9,A10のセルの色が変わる。 B:検索用のセルに[AB]と入力すると、A5,A6,A8のセルの色が変わる。 C:検索用のセルに[AB123]と入力するとA5,A6のセルの色が変わる。 D:検索用のセルに[-7]と入力するとA7,A10のセルの色が変わる。 ※書式(色)はすべて同じでよい。 のようにしたいと思います。 Aだけの条件ならば、検索用のセルA2の書式を「文字列」に指定しておいて、A5の条件付き書式の数式設定で, =MID(A5,3,3)=$A$2 として書式設定すれば実現できる。 2つめの条件として、 =LEFT(A5,2)=$A$2 としてやれば、A,Bの2つの条件であれば目的が達成されます。 が、検索セルに入力する値(文字列)に条件がついてしまうので、柔軟性がありません。 できるだけ検索値に条件をつけたくないので、別の方法を考えています。 オートフィルターでは、「~を含む」(含まない)とか、「~で始まる」(終わる)といった抽出ができますが、条件付き書式でこのような条件の設定ができれば目的が達成できるのですが、そのような関数を見つけることができませんでした。どなたかご教授ください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
◆こんな方法もありますよ >A5の条件付き書式の数式設定で, =ISNUMBER(FIND($A$2,A5)) または、 =COUNTIF(A5,"*"&$A$2&"*")
その他の回答 (2)
- maron--5
- ベストアンサー率36% (321/877)
◆こんな方法もありますよ(その2) =LEN(A5)>LEN(SUBSTITUTE(A5,$A$2,))
お礼
質問を2年も放置してしまいました。申し訳ありません。 回答をいただいた方には感謝いたします。 ありがとうございました。
- redowl
- ベストアンサー率43% (2140/4926)
A5の条件付き書式を 数式>下記の式で試してみては? =NOT(ISERROR(FIND(A$2,A5))) 解説 A5に入力したデータ 内に A2と一致する文字列が有れば、数値を返す。 無ければ、#VALUE! を返す。 これを、ISERROR関数で #VALUE!の場合 TRUE, 数値の場合は FALSE さらに、NOT関数で #VALUE!の場合 FALSE, 数値の場合は TRUE に
お礼
なるほど、Find関数の返り値を利用するということですね。 試してみます。ありがとうございます。
補足
ありがとうございます。私的には、あまり複合関数を使うのは好みではないので、(表が膨大なため、処理が遅くなるのを避けたい) 2つめの=COUNTIF(A5,"*"&$A$2&"*")が手軽でいいのかな、と思います。 「*」を外すことで、例えば =COUNTIF(A5,"*"&$A$2)とすると、「~で終わる」と同様になる、と考えて良いでしょうか? 試してみます。