- 締切済み
Excel特定文字のある行に色をつけたい
Excel2010です。 特定文字を含む行に色をつけたいのですが上手くいきません。 色々調べてみたのですが、思い通りの設定になりません。 【条件付き書式】にて【数式を使用して、書式設定するセルを決定】から【=countif($C2,”*コース*”)】と入力し【書式】にて塗りつぶしを選択しているのですが上手くいきません。 条件としては ○○コース(○回目)と書かれている行に色を付けたい。です ですが上記の設定をした場合、選択してあるセルのみ色がついて行に色はついてません。 他の行にも同じように○○コースとあるのに色が着かず、そのセルのみ色が着いてます。 試にその色が着いているセルから『コース』という文字を外しても色が着いたままです。 シート全体を選択して上記、数式を入力した場合。 ○○コースと書かれている行の上の行が色付けされてしまいます。 図のような出来上がりにするには、どう設定したらいいのでしょうか?
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- bunjii
- ベストアンサー率43% (3589/8249)
>図のような出来上がりにするには、どう設定したらいいのでしょうか? 条件付き書式で「数式を使用して、書式設定するセルを決定」を選択したときの動作を理解していないことが原因です。 提示の表では1行目がフィールド名(項目名)なので対象外と考えてください。 条件付き書式では対象外の範囲を除いた範囲を選択して条件を設定します。 提示の表ではA2:H13が目的の範囲と推定します。 上記の選択をした状態ではA2セルの内容が数式バーに表示されている状態になります。 目的では2行目、5行目、9行目が塗りつぶしされれば良いことになりますので、A2セルが塗りつぶしになる条件を数式にします。 つまり、提示の数式がそれに相当します。 A2: =countif($C2,”*コース*”) あなたの設定では次のようになっていると思われます。(A1:H13を選択) A1: =countif($C2,”*コース*”) このときは1行目、4行目、8行目が塗りつぶし対象になり、目的とは1行ズレます。 また、次のような数式の場合はA2、A5、A9セルのみ塗りつぶし対象になります。 A2: =countif(C2,”*コース*”) セルを指定するとき$記号を付けると絶対番地の指定となり、付けないと相対番地の指定になります。 A2から$C2を見ると$C列のA2と同じ2行目であることを意味します。 同様にB2から$C2を見て$C列のB2と同じ2行目であることになります。 従って、$C2セルの文字列に"コース"という文字列が含まれているので指定の色に塗りつぶされます。 A3:H3から見るときは$C3セルが数式の対象になりますので$C3セルには"コース"という文字列が含まれていませんので塗りつぶし対象になりません。 A5:H5から見るときは$C5セルが数式の対象になりますので$C5セルに"コース"という文字が含まれていますので塗りつぶし対象になります。 この回答の貼付画像はExcel 2013で検証したものですがExcel 2010でも同様になるはずです。
- tsubu-yuki
- ベストアンサー率46% (179/386)
既に色々回答も出ていますし、時間も経っているので 解決済みかもしれませんが、蛇足を(笑)。 2010(に限ったことではないですが)の場合、 条件付き書式の「ルールの管理」で出てくるダイアログの 「適用先」の画面で見て左上の出セルを基準にルールを評価します。 ※添付図参照。赤で囲った場所です。 質問文から > =countif($C2,”*コース*”) > シート全体を選択して上記、数式を入力した とのこと。 シート全体を選択したのであれば、 「適用先:=$1:$1048576」になっているはずです。 つまり、現状での起点は1行目の一番左のセルなので 「A1セルを(起点として)見て、$C2セルに"コース"が含まれる」 というルールが付されている状態なのです。 なので > ○○コースと書かれている行の上の行が色付けされて しまうのですね。 ※質問文添付図だと、 C2セルに「コース」が含まれているので1行目を塗りつぶし ということですね。 これを正しく解決してやればきっとうまくいきます。 策として考えやすいのは2通り。 ・適用先を「=$2:$1048576」にしてやる。 ⇒A2セルを起点にしてやれば式は動かさなくてもOKです。 ただ、「=COUNTIF($C2,”*コース*”)>0」にしてやると あとで見易いかもしれませんね。 添付図に模して「=$A$2:$H$1048576」にしてやれば 表右外には適用されないのでスッキリするかもしれません。 実際に104万行も使うかどうかは、今回の命題ではないので割愛。 範囲が広いと評価に時間がかかりますよ、とだけ付言しておきます。 ・ルールの式を「=COUNTIF($C1,”*コース*”)>0」にしてやる。 ⇒1行目起点のまま、式の起点も1行目に持って行ってやればOKです。 コレも列まで指定してやる方がスッキリかもですね。 その場合は「適用先:=$A$1:$H$1048576」にしてやればOK。 なお、添付図では前者を使いました。 個人的にですが 「条件付き書式(その他一般書式も)が必要ないセルには設定しない」 という考え方に基づいています。 ソレだけで微妙にファイルサイズが増えるからですよ。 時折、ソレに気付かず「ファイルが重い」とかいう方がいますが、 まぁナンセンスです。片腹痛いってやつですね。 ・・・おっと失礼、話が逸れましたね。 とりあえず、そんな感じです。
- skp026
- ベストアンサー率45% (1010/2238)
>>シート全体を選択して上記、数式を入力した場合。 >>○○コースと書かれている行の上の行が色付けされてしまいます。 シート全体の場合でしたら、 =countif($C2,”*コース*”) これではなく =countif($C1,”*コース*”) これで試してみてください。 もしくは、2行目のみを選択状態にし、条件付き書式を設定して、 その書式だけを他の行にコピペします。 ※ 以下は余計かもしれませんが参考として。 条件付き書式で式を選んだ場合、 式の戻り値がtrueのとき設定した書式が適用され、 falseだと適用されません。 今回の場合は特に問題はないですけど、 =if(countif($C1,”*コース*”)>0,true,false) または =if(countif($C1,”*コース*”)>0,1,0) こんな感じにした方が良い場合もあります。 以上、ご案内したことが参考にならなかったらごめんなさい。
- imogasi
- ベストアンサー率27% (4737/17069)
>行に色を付けたい 行といっても、A列から考えて、普通は(スタート列B列からでも同じ) ・少数の列数で(制限はないが) ・有限列で(エクセルの認める列数限度) ・左列から連続した列が、 頭にあるはず。 だから本質問ではA-Z列までと、仮定する。 そうじゃないなら、改めて、質問の文章に明記して別質問せよ。 コンピュター絡みの文章は、本来そういう正確さが必要なんだ。 A1:Z○○を範囲指定しておく == ホームー条件付き書式ー新しいルールー数式を利用して・・ 「次の数式を満たす場合・・」に下記数式を入れる。 意味的には関数のIF敵なんだが、条件付き書式の式の場合は、「=のあとに」直接書き始める。 A列のセルで、「a]の入っているセルを判定する。 その場合その条件を満たす「行の列」を色づける希望なので =$A1="a" と入れる。 この理屈は,この式がB1,C1、・・、A2、B2,C2・・のセルに式複写されると考えてみる。 $がないと=B1="a"、=C1="a",・・と変化してしまって、A列がaであるという条件にならないから、なるように、=$A1="a"と$を付けるのだ。 行は第2行では、A列第2行の値によって条件を決めるようにするから、、=$A$1とはしない。 この理屈・仕組みが判らなくて質問している場合がほとんどだろう。 === もう一つ本質問では”A”でなく、「aが含まれている」という、エクセル学習の上級内容の条件になっている。 参考 http://www.moug.net/tech/exopr/0090052.html =countif($a1,"*a*")>0 にして塗りつぶしの色設定 OK "*a*"はワイルドカード的なからくり。 「エクセル ワイルドカード」でWEBで照会し勉強すればよい。 ーー データ例 asd sdfa sss ddd sdfa sdfga ーー asd sdfa sdfa sdfga の行が色づいた。
- kicmru
- ベストアンサー率66% (2/3)
>シート全体を選択して上記、数式を入力した場合。 シート全体ではなく、セルA2から表の一番最後のセルまでを範囲指定して設定してみてはいかがでしょうか?