【Excel Tips】表は並び替えずにグラフ要素だけを並び替える

エクセルで表のデータをもとにグラフを作成すると、グラフの要素は元のデータと同じ順に並びます。例えば、元のデータを降順に並び替えてあげれば、グラフの要素は大きい順に並び変わります。

 しかし、元の表の順番はそのままで、グラフ要素だけ大きい順に並び替えたい場合どうすれば良いでしょうか。2つの方法を紹介します。

  1. データソースの選択を使う
  2. リンク貼り付けを使う

表(データ)の確認

ここでは、以下のような表をもとに円グラフを作成します。

この表をもとにして円グラフを作成すると、以下のようになります。

グラフを選択し、「グラフのデザイン」タブから「クイックレイアウト1」を選択した状態のグラフです。

1. データソースの選択で並び順を変える

RANK.EQ関数でランク付けをする

C列にRANK.EQ関数を使ってランクを設定します。

RANK.EQ関数は、「数式」タブ→「その他の関数」→「統計」の中にあります。

C4セルをアクティブにして、「関数の引数」ダイアログボックスに以下のようにセルとセル範囲を設定します。

「参照」が絶対参照になっていることが大切です。「順序」を省略すると「降順(大きい順)」になります。

「OK」ボタンを押して、オートフィルで下にコピーします。

1~8までのランクが表示されます。

「グラフの選択」で系列の入れ替え

  1. 円グラフの「グラフエリア」をクリックしてグラフ全体を選択します。(円グラフの要素や文字の部分をクリックしない)
  2. 「グラフのデザイン」タブをクリック
  3. 「データの選択」をクリックすると、「データソースの選択」画面が表示されます。
  4. 「凡例項目(系列)」の「編集」をクリックします。

「系列の編集」画面の「系列値」をすべて削除します。ここにはB列の「売上高」が絶対参照で指定されています。

「=Sheer1!$B$4:$B$11」を削除したら、

「RANK」を参照しながら、Ctrlキーを押したまま、B列の「売上高」をRANKの1から大きい順にクリックします。

終わったら「OK」ボタンをクリックします。

円グラフの要素は大きい順に並び替わっていますが、ラベルと一致していません。

次に「軸ラベル」の「編集」をクリックします。

「軸ラベル」の「軸ラベルの範囲」をすべて削除します。

同様に「RANK」を参照しながら、Ctrlキーを押したまま、A列の「商品名」を1の「桐箱入りメロン」から大きい順にクリックします。

終わったら「OK」ボタンをクリックします。

C列の「RANK」は削除しておきます。

完成

データが少ない場合はこれでもできますが、データが追加や変更になるたびに一個一個並び替えなければなりません。

表(データ)を別のシートにリンク貼り付けして、その表を並び替えて、グラフを作成したほうが、手間がかかりません。

リンク貼り付けを使う

表を新しいシートにリンク貼り付けする

「ホーム」タブの「コピー」ボタン、あるいはショートカットキーでCtrl + Cを押してコピーをします。

別の新しいシートに移動し、A3セルをアクティブにして「貼り付け」の下▼をクリックします。

「その他の貼り付けオプション」の「リンク貼り付け」をクリックします。

リンクした表でグラフを作成する

リンクした表で円グラフを作成し、「売上高」で降順に並び替えます。

グラフ要素も降順に再配置されます。

グラフを元のシートにコピー&ペーストする

円グラフをコピーして元のシートに貼り付けます(通常の貼り付けです)。

元の表は変更せずに、グラフ要素だけが降順に再配置されます。

元のデータが変更されたら

元のデータが変更されたら、リンク先の表で降順に並び替えを行います。

これで、元のシートの円グラフの要素が、自動的に並び替わります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です