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

教えてください。Windowsxp、Excel2003で、3D積み上げ横棒グラフを作成しているのですが、元の表を入れ替えずに棒グラフのみをデーターの大きい順(一番長い棒が上にくるように)にしたいのですが、どうすればいいでしょうか?

A 回答 (5件)

一時的にデータ表を並べ替えて、グラフのSERIES関数を値に置換する方法はどうでしょうか。



1)データ表を希望の姿でプロットされるように「並べ替え」
2)グラフの系列(棒のどれか)をクリックして選択
3)SERIES関数が表示された数式バーをクリックして編集モードにする
4)F9キーを押して、SERIES関数内のセル番地を値に置換
5)Enterで確定
6)データ表を元の順番に「並べ替え」る

以上の操作の結果、データ表とグラフの連動性は失われます。
元データを変更した場合、グラフで再設定しなければ反映されません。

楽をするならマクロを組めば(楽ではない?)良いとおもいます。
上記の操作を「マクロの記録」すれば、ほぼ使えるコードが得られます。
手順4)のコードで、少し工夫が要ります。少しVBAの知識が必要です。
    • good
    • 3
この回答へのお礼

お返事がすっかり遅れてしまい、本当にごめんなさい。
ご丁寧にありがとうございます。
#2の時点では、出来るかも?
っと思っていましたが、訂正いただい#4を追加しないといけないとすれば、やっぱり聞いた事のない関数で難しそうですね。
今度時間のある時に試してみますありがとうございました。

お礼日時:2008/09/18 21:15

#2です。

#4さんに触発された追加です。

次のようにすると、表のデータを並べ替える必要がなく、また、表とグラフの連動性が保たれます。(2007では有効性を確認しましたが、質問者さんがお使いの2003は手元にないので未確認です。もしだめなら、ごめんなさい。)

(1)今の表のままでグラフを作成。
(2)棒のひとつの系列をクリックして選択。
(3)数式バーにSERIES関数が、例えば次のように表示されています。
   =SERIES(Sheet1!$B$1,Sheet1!$A$2:$A$5,Sheet1!$B$2:$B$5,1)
先頭の引数は系列名のセル、2番目の引数は縦(項目)軸のデータのセル範囲、3番目の引数は系列1のデータのセル範囲、最後の引数は系列の番号です。この2番目と3番目の引数を、棒が望みの順番で並ぶように、例えば次のように書き直して、Enter。
   =SERIES(Sheet1!$B$1,(Sheet1!$A$2,Sheet1!$A$4,Sheet1!$A$3,Sheet1!$A$5),(Sheet1!$B$2,Sheet1!$B$4,Sheet1!$B$3,Sheet1!$B$5),1)
(4)積み上げ棒グラフですから、系列は複数ありますね。残りの系列についても同様にします。例えば次のように。
   =SERIES(Sheet1!$C$1,(Sheet1!$A$2,Sheet1!$A$4,Sheet1!$A$3,Sheet1!$A$5),(Sheet1!$C$2,Sheet1!$C$4,Sheet1!$C$3,Sheet1!$C$5),2)

これと内容的に同じことは、2007では[デザイン]タブ→[データの選択]ボタン→[データソースの選択]ダイアログボックスで[凡例項目(系列)]と[横(項目)軸ラベル]を上と類似の形に[編集]することで可能です。こちらの方が手間がかからないかもしれません。
    • good
    • 6
この回答へのお礼

お礼がすっかり遅れてしまい申し訳ないです。
ご丁寧にありがとうございます。
なんだか聞いた事のない関数ですごく難しそうですね。
今度時間のある時に試してみます。
ありがとうございました。

お礼日時:2008/09/18 21:11

グラフを選択してください。


グラフに、黒い四角のマークが出てきます。
その後右クリックから、「データ系列の書式設定」をクリック。
「系列の順序」タブを選択すると、左にデータ名が出てきます。
これで、入れ替えたいデータ項目を動かしてください。
これで、動きます。(当方2000なので、以降のバージョンでも同じだと思いますが。)

しかし、簡単なのは前出の回答です。別シートに同データ表を作り並べ替えて、この表からグラフを作る。その後、書式→シートから「表示しない」を選択しておけば良いと思いますが。
    • good
    • 4

いちばん簡単なのは、#1の方法でしょうね。

グラフ用の表は別のシートに作るとよいかもしれません。

「元の表を入れ替えずに」とありますが、「一時的なら入れ替えてもよい」のであれば、次の方法があります。

(1)元の表のデータを望みの順に並べ替える。
(2)それに基づいて、望みのグラフを作成する。
(3)そのグラフを[コピー]して、[形式を選択して貼り付け]で、適当な場所に図として貼り付ける。
(4)コピー元のグラフを削除する。
(5)表のデータを元の順に戻す。

言うまでもなく、図として貼り付けたグラフをあとで編集することはできません。図の書式設定はできますが。

どうしてもあとでグラフを編集したいのなら、オブジェクトの挿入で Microsoft Graph を選び、そのデータシートに表のデータを望みの順に並べるという方法があるでしょう。
    • good
    • 1

元の表を参照しグラフ用の表を作成し、その表から


グラフを作るようにしてはいかがでしょう?

グラフの方で順番を入替える方法はありそうな気が
しますので識者のレスをお待ち下さい。
    • good
    • 1

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