Excel2010の「100%積み上げ横棒グラフ」、凡例(ラベル)をグラフの中に表示する

「よくわかる Microsoft Excel2010基礎」(FOM出版)の第7章「グラフの作成」の最後の練習問題に「100%積み上げ横棒グラフ」がある。手順どおり行えば出来る問題であるが、旧バージョン(Excel2003以前)を知っている者にとっては、ここで終わる訳にはいかない...
そこで、類似のデータを作成し、「凡例を横棒グラフの中に表示する」に挑戦した。


 グラフデータ

商品分類輸入輸出
機械類,輸送用機器105315
鉱物性燃料810
雑製品5841
食料品及び動物(食用)390
工業製品3449
化学製品2937
非食品原材料234
特殊取扱品620
その他54
総額380470


 100%積み上げ横棒グラフを作成する
上記グラフデータを Excel2010 にコピペし‥‥

  1. 100%積み上げ横棒グラフを作成する

  2. [デザイン]タブ/データGr.の[行/列の切り替え]を行い、

  3. [レイアウト]タブ/軸Gr.の[軸]⇒[主縦軸]⇒[その他の主縦軸オプション]⇒[軸のオプション]の R軸を反転する
    横軸の目盛りが上に移動したッ!

  4. [レイアウト]タブ/ラベルGr.の[グラフタイトル]⇒[グラフの上]をクリックし、
    グラフタイトルを入力する。

  5. [レイアウト]タブ/ラベルGr.の[凡例]⇒[凡例を下に表示]する。

  6. 横軸の目盛りを下に移す。
     [レイアウト]タブ/軸Gr.の[軸]⇒[主横軸]⇒[その他の主横軸オプション]⇒[軸のオプション]の「軸ラベル」を[上端/右端]に変更する。
    「軸を反転」しているので、「上端」にすると、下になるようだ。

  7. グラフを新しいシートに移動すると「練習問題」の形になる。(たぶん)


 積み上げ横棒グラフをカスタマイズする

  1. 横棒内の区切りを明確にする。
     [デザイン]タブ/グラフのスタイルGr.で、グラフのスタイルを[スタイル10]とした。
  2. 凡例を上に移動(ドラッグ)。
     ∵下には目盛りがあるので、ゴチャゴチャ感があり。凡例を見ないとグラフの解析が難しいため。
    • ついでに、塗りつぶしの色を白にし、影を付けると効果的か。
  3. 区分線を引く。
     [レイアウト]タブ/分析Gr.の[線]⇒[区分線]をクリック。
  4. 区分線のスタイルを変える。
    1. 任意の区分線(区分線1)を右クリック ⇒[区分線の書式設定]をクリックする。
       区分線を「選択 ⇒[メニュー]キー押下 ⇒[区分線の書式設定]をクリックの方が確実。何故ならば
      • 選択することで、何処が選択されたかが判る。
      • 右クリックでマウスが動くことがない。(以下、同じ)
    2. [線の色]で、8線(単色)とし、「色」をグレー系にする。
    3. [線のスタイル]で、「実線/点線」を破線にする。
  5. 5%ごとに補助線を引く。
    1. 「横(値)軸」を右クリック ⇒[軸の書式設定]をクリックする。
    2. 「補助目盛間隔」を 8固定 とし、値を 0.05(5%)にする。
    3. [閉じる]
    4. 再度、「横(値)軸」を右クリック([メニュー]キー押下) ⇒[補助目盛線の書式設定]をクリックし、
    5. [線の色]を 8自動 にする。
  6. 凡例をグラフの中に表示する。(ベストな方法か否かは不明)
    1. [レイアウト]タブ/ラベルGr.の[データラベル]⇒[中央]をクリックする。
       →「値」が表示される。
    2. 任意のデータラベルを右クリック ⇒[データラベルの書式設定]をクリックする。
    3. [ラベルオプション]の Rのチェックを外し、R系列名 にする。
    4. [閉じる]
    5. 以下、これを繰り返す。
      • [繰り返し](Ctrl+Y)は使えません。
      • 「マクロ」の作り方・使い方は省略しますが、試験的に「マクロ」を作ったところ(コードは後述)、「マクロの実行」を繰り返すことで達成した。
    6. ラベルの削除
    7. 削除するラベルをクリックする → 輸入/輸出 対で選択される。
    8. 再度削除するラベルをクリックする → クリックしたラベルのみの選択になる。
    9. [Delete]


 完成図


 おまけ

  • グラフを加工する
    1. 棒グラフ内の任意の位置を右クリックし、
    2. [データ系列の書式設定]をクリックする。
    3. [系列のオプション]の
      • 「系列の重なり」を 100% 以下にすると、グラフが階段状になる。
      • 「要素の間隔」を 100% 以下にすると、結果として棒の高さが大きくなる。



 マクロ

Sub 選択したデータラベルを系列名に変える()
    
    Selection.ShowSeriesName = True
    Selection.ShowValue = False

End Sub