次の例のように、8つのセクターを持つExcelで円形チャートを作成したいと思います。
円グラフのようにパーセンテージを表すのではなく、レーダーチャートのように実際の値が必要です。
マクロを使わなくても可能ですか?
このウォークスルーは Andy Popeの元のチュートリアル に基づいています。これが最初のデータだとしましょう。チャートを作成する前に行うデータ操作が少しあります。
あなたの例では、すべてのセクターを同じサイズにする必要がありますが、物事を柔軟にし、セクターの重み列に追加しましょう。たとえば、「WORK」を2倍、3倍、4倍のサイズのスライスとして表示したい場合は、セクターの重みを2/3/4などに変更します。
次に、各セクターがカバーする必要があるスライス比率を計算する必要があります。 「セクターの重み」をすべてのセクターの重みの合計で割って、「360%」という列を追加します。
_=C2/SUM($C$2:$C$9)
_
次に、各セクターがカバーする開始角度と終了角度を計算する必要があります。 「開始角度」列を追加します。上の行に0を入力し、下の行ごとに上のセルを参照します。
「Finish Angle」列で、「360 of%」の累積値に360を掛けます。
レーダーチャートを円グラフであると見なすコツは、円の360度ごとにデータポイントを作成することです。
テーブルを拡張して、各角度の列(この例では灰色で網掛け)を追加します。セルごとに、その列の角度が開始/最終角度でカバーされているかどうかをチェックするロジックを追加します。カバーされている場合は、その行の値を返します。これを、0〜360度のすべての行と列にコピーしてください。
_=IF(AND(G$1>=$E2,G$1<=$F2),$B2,0)
_
(注-Excel 2003以前を使用している場合、このメソッドで使用される列の数は古いバージョンのExcelで許可されている数よりも多いため、このテーブルを上下反転してテーブルが縦(転置)になるようにする必要があります。)
これでチャートについて考えることができます。柔軟性を高めるために、最終的な角度と0〜360度の間に「グラフラベル」列を追加しましょう。列Aのタイトルを参照しますが、ここでそれらをカスタマイズすることもできます。
「Chart Labels」の下のすべてのセルと0〜360列(この例ではG2:ND9)を選択します。チャートを挿入します-レーダーチャートオプションの下で、最後のチャートを選択します-"塗りつぶしレーダー"。あなたはこれを手に入れます。
凡例と円形のデータラベル(黄色で強調表示)を削除します。残りの軸を右クリックして、「軸のフォーマット」を選択します。主単位を10(最大値)に固定し、副単位を1に固定します。ダイアログボックスを閉じてから、グラフの軸番号を削除します。
主および副水平グリッド線をオンにします。
これで、グラフは次のようになります。
主グリッド線の線の太さを2ptに設定し、外側の円の境界線を黒にします。セグメントにマイナーグリッドラインを表示する場合は、各セグメントの塗りつぶしの色を変更し、透明度を設定する必要があります(透明度を約20〜40%にする必要があります)。
放射状セグメントの境界を取得するには、新しいシリーズを追加する必要があります。タイトルをセルC1(「セクターの重み」)に設定し、値を列C(C2:C9)の行に設定します。水平カテゴリ軸ラベルをグラフラベル(G2:G9)に設定します。
この新しいシリーズのグラフの種類を円グラフに変更します。パイセグメントの塗りつぶしを削除し、黒い境界線を追加します。円系列のデータラベルを追加し、値の代わりにカテゴリ名を選択して、位置を「外側の端」に設定します。
EDIT(Sep 30 2014):ワークブックは ここからダウンロードできます Fireeからの要求に応じてです。
EDIT 2(2015年3月25日):Mihajlo は、この手法を少し改善できることを指摘しています:
グラフは、反時計回りにわずかにシフトします(上記の最後のグラフで見られるように、赤は垂直にギャップがありますが、境界は300度でカバーされています)。これは、スパイダーチャートが常に1つ後ろにあるためです(つまり、1度が2、2が3でプロットされるなど)。
これをすばやく修正するには、仕上げ角度(F2)の式を
=360*SUM($D$2:D2)
から=360*SUM($D$2:D2)+1
に変更し、最後のシリーズの最初の点の式を最後の系列の最後の点(上記の例では、セルH9の数式を= ND9にします。