• ベストアンサー

エクセルで特定の数値を色分けしたい

お世話になります。 エクセルについてどなたか教えて下さい。 Sheet1に、以下のように10種類の数値が記入されているとします。 1/2 1/4 1/6 1/8 1/10 1/12 1/14 1/16 1/18 1/20 Sheet2では計算を行います。で、Sheet2で計算した結果が上記のどれに近いかを色分けしたいのです。例えば、1/2なら茶、1/4なら赤、1/6ならピンクなどなど。 パターンが少なければ条件付書式という方法があるのは先日教えて頂いたのですが、パターンが多くなった場合はどうすればよいのでしょうか。 お手すきの時で良いので、知っている方がいらっしゃいましたら宜しくお願いいたします。

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

  • ベストアンサー
  • rukuku
  • ベストアンサー率42% (401/933)
回答No.4

>セルCには、「9.2」という数値が算出されました。 >この数値をSheet1にある10段階の数値と比較します。 実例のおかげで、問題がずっと簡単になりました。 段階が10、9,8,7,6,5,4,3,2,1で 4.6に一番近い数値を探すなら、「四捨五入」が使えます。 エクセルの関数では ROUND です。これを応用すればOKです。 >Sheet1のセルA1~A10に10段階の数値 というのは必要ありません。 =ROUND(C1/2,0)*2 で「段階」を求めることができます。 20以上はすべて20にしたいならIF関数を使います。 =IF(C1>=20,20,ROUND(C1/2,0)*2) となります。

atsuya192
質問者

補足

rukukuさん、長文駄文の質問にお付き合い頂き感謝です。 ROUND関数というものを利用すればいけそうですね。 なるほど、勉強になります。

その他の回答 (4)

  • rukuku
  • ベストアンサー率42% (401/933)
回答No.5

色分けですが、10色に色分けしようとするとVBAが必要になります。 ちょっと話はそれますが、私は消防団に所属しています。消防団員の階級を示す「階級章」があります。星の数は1,2,3の3通りあります。星の数が多いほど階級は上なのですが、3星からもう一つ階級が上がると星の数が1に戻り金の線の太さが太くなります。 これを応用すれば、条件付き書式の文字色と塗りつぶしで9(3×3)通りの表示ができます。デフォルトと合わせれば10通りとなります。

atsuya192
質問者

補足

VBAを使わずにそういう方法も確かにアリですね。 こちらもとても参考になります。 ありがとうございます。 お陰様でどのようにすればいいのかが見えました。 VBAで色分けする方法というのも勉強してみます。 とりあえずは、rukukuさんにご指導頂いた方法とご提案頂いたアイデアで色分けに挑戦します。 最後までお付き合い頂き本当に有難う御座いました。

  • rukuku
  • ベストアンサー率42% (401/933)
回答No.3

はじめまして まず、質問を2つに分けさせていただきます。 1.計算結果を「1/2 1/4 1/6 1/8 1/10...」のどれに近いか判定する 2.1の結果に応じて色分けする です。 2.は、 私が使っているEXCEL2000では「条件付き書式」が3パターンまでしか対応できません。 フォント・罫線・パターンをうまく使えば27通り(3×3×3)の表示はできますが、見づらくなると思います。 No.1のgyouda1114さんの回答によれば、Excel2007では「条件付き書式」のパターンが無制限とのことなので、「条件付き書式」で対応できると思います。 Excel2007より前のバージョンでは、No.2のmogasiさんがおっしゃっているようにVBAが必要です。 難しいのは1の方です。 No2のimogasiさんの >値1/2 1/4 1/6 1/8・は分数のこと、日付のこと? >実例でも挙げて。 >もう少し丁寧な説明が必要と思う。 と「補足要求」があるように、「実際にやりたいこと」が分かると回答がしやすくなります。 *1:「1/2 1/4 1/6 1/8 1/10...」を分数と理解する *2:計算結果が0.375(1/2と1/4のちょうど中間)の様な場合には右側の値を採用する という条件で試してみました。 ・1 セルB1:=1/2、セルC1:=1/4…セルK1:=1/20を入力      “=”をつけたのは、1/2などをEXCELが勝手に日付と判断するのを防ぐためです ・2 セルB2:=ABS(B$1-$A2) 、以下セルK2までオートフィル      ここで計算結果とそれぞれの数字の“近さ”を計算します ・3 セルL2:=MIN(B2:K2)      “近さ”の最小値を取得します ・4 セルM2:=MATCH(L2,B2:K2)      3で求めた値のある「場所」を取得します。 → M2で得られた値に基づいて、「条件付き書式」や「VBA」で色分けします。

atsuya192
質問者

補足

rukukuさん、はじめまして。 ご丁寧な回答ありがとうございます。また、私の質問の仕方に問題があったようでお手間を取らせてしまい申し訳ありませんでした。 現在、私はエクセル2003を利用していますが「条件付き書式」は同様に3パターンまでしか利用出来ません。なので、条件付き書式以外でやる方法がもしかしてあるかも、ということで質問させて頂きました。実際にやりたいことを書いてみます。 -------------- 例えば、営業マンが会社にお客様からの問い合わせの電話を受けて契約が取れるまでの数値をShhet2に記載します。 電話が会社に掛かってきた数:セルA そこから契約に結びついた数:セルB そして各行は営業マン別に↓ 1行目のセルA1~セルB1は営業マンAの数値 2行目のセルA2~セルB2は営業マンBの数値 3行目のセルA3~セルB3は営業マンCの数値 と使います。 そしてセルCには、掛かってきた電話の総数に対する契約数の割合「=A/B」を算出します。 例えば営業マンAが1日に以下のような仕事をしたとします。 電話が職場に掛かってきた数:46件 そこから契約に結びついた数: 5件 この数値を営業マンAのセル、A1~B1に記入します。 A1=46、B1=5。 セルCには、「9.2」という数値が算出されました。 この数値をSheet1にある10段階の数値と比較します。 Sheet1のセルA1~A10に10段階の数値↓ 20 18 16 14 12 10 8 6 4 2 このSheet1の数値群の中から、営業マンAの実績値がどれに一番近いかを色でわかるようにしたいのです(色分けしたいのは、Sheet2で算出したC1の数値の背景)。 ---------------------- 駄文長文で申し訳ありません。 宜しくお願い致します。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

>パターンが少なければ 色別のパターンのことか または 値1/2 1/4 1/6 1/8・・の左図のことか? 色別のパターンなら、2007を使わないと3+1(黒色文字または白色背景)しか出来ない。 VBAでやれば少しは場合の数は増やせる。 >値1/2 1/4 1/6 1/8・は分数のこと、日付のこと? あいまいではないですか。 >上記のどれに近いか・・ これも難物?VBAででもプログラムを組めないと難しいのではないかな。 実例でも挙げて。もう少し丁寧な説明が必要と思う。

atsuya192
質問者

補足

imogasiさん、はじめまして。 atsuya192と申します。 失礼ですが、回答文を拝見しまして少しクセのある方だと思ったので過去の履歴を見させて頂きました。回答など拝見致しましたが、とにかく回答者として質問者への要求が多すぎます。 ◇「例を挙げろ、勉強しろ」 多くの質問で、あなた以外の回答者は質問内容を理解してしっかりと回答を記載して下さっている。多くの質問で、あなただけが「質問内容が理解出来ない」と言っている。全体の流れをよく把握して頂きたい。質問者に問題があるのか、あなたに問題があるのか。 理解出来ない質問にわざわざ回答スペースを使って注意を書くのはいかがなものか。後発の同じ境遇の方がこのサービスを利用した時に、あなたの書き込みが回答としては不必要なものとなるので煩わしい。 ◇「個人で調べろ」 正直、調べ方が分からない"苦手分野"だから質問するのでは? ましてや、検索したほうが早いけどどう検索しても出てこないからサービスを利用する、という流れが主流。あなただってこのサービスを利用して質問している。↓ http://oshiete1.goo.ne.jp/qa218609.html あなたは以前、こんな質問をしている。題名がID名。こんなことをしても他の回答者は別にいちいち注意していない。ましてや、回答頂いた方にお礼ポイントだけ贈与して、お礼の言葉は一切ない。あなたはこのサービスを利用する方に「規約上歓迎されない」などと発言しているし、規約には「お礼の言葉を書いて下さい」とはない。ただ、相手にありがとうの一言があるべきだと思う。ポイントだけ贈与して用済みですか? ルールは見えてもモラルが見えてない。というか、幅広い意味でモノ(人・モノ・サービス…etc)の解釈の仕方がおかしい。 ◇「規約上歓迎されない」発言 http://oshiete1.goo.ne.jp/qa4374488.html 上記であなたは、「丸投げの質問はコーナーの規約上歓迎されない」と回答しているが、規約のどこにもそんなことは記載されていない。解釈を誤っている。確かに、何も勉強や検索をせずに安易な質問をする姿勢は正しいとは思わない。このサービスを利用する時には当然、質問前に同じような質問がなかったかを検索すべき。ただ、このサービスは掲示板形式のQAシステムの性質上、のちのち同じ境遇の人が検索エンジンで見つけたときに参考にすることも出来る。 ましてや、このサービスはgooのボランティアじゃない。PV(ページビュー数)数を稼ぐことが目的。 あなたの注意することの一部は見当違いである。 あなたのサービスの捉え方は間違っている。 あなたがこのサービスを正そうという気持ちがあるのなら、もう少し人を理解してリードしてあげるくらいの器量が欲しい。 以上、私も書くべき場所でない箇所にこのような私事の書き込みをしてしまいました、申し訳ありません。 ただ、あなたがこれからも回答されるなら相手にもう少し優しく接することは必要だと思います。質問者はあなたを頼っているわけではないが、あなたの教え方が上手であれば、あなたに感謝の気持ちを持つでしょう。

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.1

>パターンが多くなった場合はどうすればよいのでしょうか Excel2003までは、条件3までです。 Excel2007では無制限のようです。 http://okwave.jp/qa3281865.html