プロが教えるわが家の防犯対策術!

Zi-oo 様
添付のようなグラフです。

Excel の面グラフで、縦軸を金額・横軸を日付として、0円を境に、上にプラス・下にマイナスのグラフを作成しています。全部の面の色を変えることは出来るのですが、上を青色・下を赤色といった具合に変えること可能でしょうか?
説明不足で、分かり辛い質問ですが、宜しくお願い致します。

「Excel グラフで数値の正と負の色を変」の質問画像

A 回答 (2件)

やってみると、面グラフは棒グラフと違う。

面グラフは、たまたま負のデータがあると、X軸と正のデータと負のデータを結ぶ線で閉じた図形が出来る場合がある。しかしエクセル側では、その閉じた図形部分が独立した扱いは出来ない。(特にエクセル・システム側で、そういうことを出来るプログラムを組んでないと出来ない。現状ではない。)
それで#1のご回答のように、正のデータを扱うデータの面グラフと
負のデータを扱うデータの面グラフとを別系列に分けて、合成しなければ出来ない。そのときちょっとした工夫が必要。
VBAででも使えば自動で変換できそうだが。
データ変換
例データ
10
20
-25
13
-5
20
ーーー
変換法
原則=正データと負データを別列に分ける。*1
最初行は0 0、終わり行も0 0 0  *2
正ー>負、負ー>正に変化する直前行、直後行に0 0の行を入れる。
*3
正や負のデータ行には、正か負に応じて、一方の列にデータを入れ反対側は0 *4
ーー
結果(*1などは前記のルール番号を参考に記した。それ以外は
*4ルール)
00  *1
100
200
00 *3
0-25
00 *3
130
00 *3
0-5
00 *3
200
00 *1
これで面グラフを描く。
データ系列の書式設定によって負のデータの法の系列の色を変える。
ーー
質問をするとき、相手の人を指名して(**様)質問するのは,本質問コーナーの規約違反ではないかと記憶するが。
==
参考
棒グラフのときは、下記VBAで、負のデータのマーカーの色を変えられる。
Sub Macro1()
Dim x, y As Variant
MsgBox ActiveChart.SeriesCollection(1).Points.Count
x = ActiveChart.SeriesCollection(1).XValues
y = ActiveChart.SeriesCollection(1).Values
For i = 1 To UBound(x)
MsgBox x(i) & "-" & y(i)
If y(i) < 0 Then
ActiveChart.SeriesCollection(1).Points(i).Select
Selection.Shadow = False
'Selection.InvertIfNegative = True
With Selection.Interior
.ColorIndex = 4
.PatternColorIndex = 3
.Pattern = xlSolid
End With
End If
Next
End Sub
    • good
    • 0
この回答へのお礼

imogasi 様

大変詳しく教えて頂き、感謝です。
良く分かりました。
又、ご教示願うこと有りましたら、
宜しくお願い致します。
ありがとうございました。

お礼日時:2009/07/14 09:39

データをこのようにするとよいでしょう

「Excel グラフで数値の正と負の色を変」の回答画像1
    • good
    • 0
この回答へのお礼

Zi-co 様

確かにこれだと上手くいきますね。
正負の境に0の入力がポイントですね。
又、ご教示願います。
ありがとうございました。

お礼日時:2009/07/14 08:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!