プロが教える店舗&オフィスのセキュリティ対策術

Excelの棒グラフを多い順に並べたい!

Excelで項目別の件数表を作って、その表を棒グラフにしたのですが、
どうしても棒グラフを件数の多い順に並べることができません。
どのように設定したらいいのでしょうか?
元の表をソートすれば一時的にはできるのですが、
その場合、データ内容(件数)が変わった時に自動で多い順に並びません。
何かいい方法はないでしょうか?

A 回答 (2件)

 作業用のシートを設けて、自動的にソート済みの表を作成する関数を、予め入力しておいて、作業用シートの表を使用して、グラフを作成されては如何でしょうか。



 例えば、Sheet1には、各データの名称が、A2セルから下方に向かって並んでいて、各件数がB2セルから下方に向かって並んでいる場合には、

 まず、Sheet1の1行目をコピーして、作業用シートの1行目に貼り付けて下さい。
 次に、作業用シートのA2セルに次の数式を入力して下さい。
=IF(ROWS($1:1)>COUNT(Sheet1!$B:$B),"",INDEX(Sheet1!$A:$B,MATCH(LARGE(Sheet1!$B:$B,ROWS($1:1)),Sheet1!$B:$B,0),COLUMNS($A:A)))

 次に、作業用シートのA2セルをコピーして、作業用シートのA列とB列の2行目から、Sheet1の表の行数を上回る行数までの範囲に、貼り付けて下さい。
 すると、作業用シートのA列とB列に、Sheet1の表のデータを、B列を基準として降順に並べ変えた表が自動的に作成されますから、作業用シートの方の表を使用して、グラフを作成されると良いと思います。

 又、元データの表が縦方向ではなく、横方向になっている場合は、作業用シートのB1セルに次の数式を入力してから、B1セルをコピーして、1行目と2行目の、B列から右方に向かって貼り付けて下さい。

=IF(COLUMNS($A:A)>COUNT(Sheet1!$2:$2),"",INDEX(Sheet1!$1:$2,ROWS($1:1),MATCH(LARGE(Sheet1!$2:$2,COLUMNS($A:A)),Sheet1!$2:$2,0)))
    • good
    • 1
この回答へのお礼

そんなテクニックもあるんですね。
使ったことがない関数、試してみたいと思います。
詳しくありがとうございました。

お礼日時:2010/10/16 21:28

グラフの機能で、ソートはなかったように思います(あったらすみません)。



たとえばA列にデータがあるとして、次の式を入力し、下へ必要なだけコピーします。
B1 → =ROW()
C1 → =LARGE(A:A,B1)

そして、C列をグラフのデータ領域に指定します。これでA列のデータが変わっても、自動的に昇順に並べ替えられたグラフが表示されます。
    • good
    • 0
この回答へのお礼

自動で並べる機能はないんですね。
その方法でやってみます。
ありがとうございました。

お礼日時:2010/10/16 21:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!