2/23/2019

Excel。差異を表現する横棒グラフをつくってみたい。【Difference bar chart】

Excel。差異を表現する横棒グラフをつくってみたい。

<差異横棒グラフ>

次のようなプラスとマイナスを表現したグラフ。
差異横棒グラフ

例えば、先月と今月の売上高を比べて、増減率を表現する場合に使いたいグラフなのですが、このグラフ。

ちょっと作成するのに難しいところがあります。

それが、ラベルなんですね。

プラスの場合は、左側にラベルが表示されていて、マイナスの場合は、右側にラベルを表示したいわけですね。

そうすると、通常の縦軸で表示するわけには、いかないわけですね。

なので、このグラフを作るための表を次のように作ります。

B列のデータだけですと、店舗名のラベルを左右に表示することができません。

そこで、左右のラベル用にダミーデータを作ります。

右側ラベルのC2には、
=IF(B2<0,0.4,NA())
という式を作成して、オートフィルで数式をコピーしています。

なぜ、NA()と#N/Aというエラーを表示させているのかというと、後ほど確認しますが、0や空白にしてしまうと、ラベルを上手く表示することができません。

また、0.4はB列の最大値が38.3%なので、40%にしておけば、横軸が綺麗に表示できるので0.4としていますが、MAX関数を使ってもいいかもしれませんね。

左側ラベルのD2には、
=IF(B2<0,NA(),-0.15)
こちらも、-0.15としているのは、最小値が-14.1%なので、-0.15にすることで横軸上問題なくグラフを表示することができるからです。

こちらもMIN関数を使ってもいいですね。

【差異横棒グラフをつくる】

A1:D6を範囲選択して、積み上げ横棒グラフを挿入します。

凡例とグラフタイトルを削除して、グラフを少し大きくしておきます。

また、グラフエリアの背景が白でわかりにくいので、薄いグレー系で今回は塗りつぶしをしておきます。

現状では、店舗名を逆側に表示することができませんので、縦(項目)軸を削除します。

青色の横棒グラフをクリックして、データラベルを表示しますので、グラフツールのデザインタブにある、「グラフ要素を追加」のデータラベルから中央をクリックします。

これで、表示したいデータを横棒グラフの中央に配置することができました。

そして、いよいよ店舗名。

グレーの横棒グラフをクリックして、グラフツールのデザインタブにある「グラフ要素を追加」のデータラベルにある「その他のデータラベルオプション」をクリックします。

データラベルの書式設定作業ウィンドウが右側に表示されますので、ラベルオプションの「ラベルの内容」にある分類名だけにチェックマークをつけます。

そして、「ラベルの位置」は、内側上にチェックマークをつけます。

これで、店舗名が先程削除した縦(項目)軸のように表示することができました。

グレーの横棒グラフを選択して、塗りつぶしと枠線を「なし」にしておきましょう。

次に、オレンジ色の横棒グラフを選択して、先程と同じように、データラベルの書式設定作業ウィンドウを表示しましょう。

こちらも、「ラベルの内容」を分類名にチェックマークをつけます。

「ラベルの位置」は、『内側軸寄り』にチェックマークをつけます。
この内側軸寄りにすることで、縦(項目)軸を軸を中心に左右に表示することができるようになります。

これを行いたいために、ダミーデータが必要だったわけです。

あとは、塗りつぶしと枠線を「なし」にして、フォントサイズを大きくして見栄えをよくしましょう。

これで【差異横棒グラフ】が完成しました。

このように、グラフにするための表を色々アレンジすることで様々なグラフを作ることができますよ。

ところで、表で#N/Aを0にしてみると、どうなるのでしょうか?

ご覧のように、0にしてしまうと、すべてにデータラベルを表示してしまいます。そして、余計なデータラベルを選択して削除する必要があり、作業効率が悪化するので、#N/Aというエラーをワザと発生させているわけですね。

滅多に使うことがない、NA関数ですが、このようなところで効果を発揮しますよ。