Articles

折れ線グラフでデータがない所を0としない

この記事をdel.icio.usに登録する この記事をはてなブックマークに登録する この記事をGoogleブックマークに登録する この記事をYahoo!ブックマークに登録する この記事をdiggに登録する この記事をlivedoor clipに登録する この記事をNewsGattor Onlineに登録する

e13-1.png

ちょっとわかりにくいかもしれませんので、まず下の表と折れ線グラフを見てください。
e13-3.png

このグラフは5行目の限界利益率を折れ線グラフにしたものですが、3月に注目。売上高、変動原価が入っていない為に計算式で算出している5行目の限界利益率は#DIV/0!となっています。(G5の計算式は=G4/G2)
それ故に3月の折れ線グラフは0となって右肩下がりな印象を受けてしまいます。また、類似曲線を表示させた場合には0を含んだ類似曲線になってしまいます。
では折れ線グラフを2月までで切って3月を表示しないようにするにはどうしたら良いでしょうか。



いじったセルの宿命

上の例ではG5は#DIV/0!エラーになってます。0で割ることは出来ませんから。では#DIV/0!じゃなかったら大丈夫なのか?

いいえ、仮にIFで""(データ無)としたり0と表示させてもグラフは0と表示してしまいます。
=IF(G2="","",G4/G2)  でもダメ、同じグラフになります。

というのも、いくら""でデータ無し、空白ですとしても計算後の空白はデータがあるものとしてグラフは0認識してしまうのです。いじったセルの宿命です。何もいじっていないセルとは判定されません。

計算式を消してしまえばグラフで0と認識せずにデータ無しと認識されます。

じゃあいちいちセルを消す?

面倒です。><
ですので、いじったあとのセルでもデータ無しと認識させれば良いのです。
それは NA()関数を使います。
NA()関数は「エラー値#N/A(値が無効)」を返す関数です。これをIF文に絡ませて
=IF(G2="",NA(),G4/G2)
としてしまえば、G2が空白だった場合は#N/Aと表示されます。そうなればグラフの線も消えます。
e13-4.png
NA()の代わりに直接#N/Aと打っても構いません。また、これを使うと類似曲線もその#N/A値は含まない類似曲線になるので実態に合った線が作成可能です。


でもエラー値で見栄えが悪いよ・・・

たしかにエラー値が表にあればそれだけで見栄えが悪くなってしまいます。でも#N/Aとしなければグラフの線は消えない・・・。
じゃあセルの文字色を背景色と同化させて無理やりエラーを見えなくしましょう。

そこで条件付き書式を使います。
e13-5.png
まずルールの種類を「指定の値を含むセルだけを書式設定」を選び、ルールの内容編集で「エラー」のセルのみを「書式設定」で文字色を背景色と同じにします。(この例では白文字にすればOK)
そうすればエラー#N/Aは表示されているものの、背景色と同じ文字色なので見えない。という事が実現できます。


関連記事




この記事をdel.icio.usに登録する この記事をはてなブックマークに登録する この記事をGoogleブックマークに登録する この記事をYahoo!ブックマークに登録する この記事をdiggに登録する この記事をlivedoor clipに登録する この記事をNewsGattor Onlineに登録する

トラックバック一覧

コメント一覧

Re: 折れ線グラフでデータがない所を0としない

月間グラフで15日以降のデータがない所を0としない(表示しない)場合、#N/Aは正しく機能します。
しかし、月間グラフで、平日のみ折れ線を表示し、土・日・祝日等の休日のみ折れ線を非表示にしたい場合、#N/Aはうまく機能しません。
具体的には、NA()関数を使用して土・日曜日を#N/Aにしても、翌月曜日に数値を入れると、金曜日と月曜日を結んだグラフが描かれます。尚、 土・日曜日のマーカーは表示されません。
小生は、休日は営業をしていないので、マーカーも折れ線グラフも表示したくありません。
因みに、小生が作成しているグラフは、販売額を棒グラフで表し、目標に対する達成割合(%)を折れ線で表す2軸グラフです。
土・日曜日について、棒グラフは0円で問題ないのですが、達成割合を表す折れ線グラフが表示されます。
現在は、毎月達成割合の式をコピーした後、休日の式を手作業で削除しています。
この作業を無くしたく、よろしくお願い致します。

  • 2011/02/18
  • エクセル初心者 ◆ -
  • [ URL ]
  • [ 編集 ]
Re: Re: 折れ線グラフでデータがない所を0としない

>エクセル初心者 さん

確かにこの方法では間の抜けた折れ線グラフは作れません。
といいますか、数式を含んだセルでは間の抜けた折れ線グラフは不可能かと思います。
私でしたら以下のどちらかの方法を採ると思います。

1.元々のデータテーブルに土日祝を作らない。
  日付データが自動で入ってしまうのでは難しいかもしれませんが、
  WORKDAY関数なんかも使えるかもしれません。
  WORKDAY関数は土日祝を無視して日付の加算が出来ます。

2.エクセル初心者さんと同じように毎月手作業で消す。
  但し1日分ずつ消すのではなくジャンプ機能を使ってエラー値のみを一気に消す。
  マクロで処理登録すればボタン1つの作業ですし。

  • 2011/02/18
  • Isakat ◆ -
  • [ URL ]
  • [ 編集 ]
コメント投稿フォーム
Name
Subject
Mail
URL
Comment

Password
Secret
管理者にだけ表示を許可する

Navigations, etc.

Navigations

ブログ記事を検索

SPONSORS

人気記事ランキング

ブログパーツ

メールフォーム

名前:
メール:
件名:
本文:

Tweet

最新記事