重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

エクセル2007を使用しています。
一般的にエクセルのグラフは、すでに収集が終わったデータ(レコードが増加しないことが前提?)を視覚化するために作られたものなんでしょうか、
私は時間とともにデータ(レコード)が特に際限なく増加するものの表示に使いたいです。
そのため、グラフの元になるデータは下方向(行方向?)に延びる表を使っていまして、
グラフも、データと同じ下方向にデータが増えるようにしたいのですが、できませんか?
グラフがデータ数に従って右方向に増えるやり方はわかるのですが、これですと、データ(表)が下方向に延びていくのに対してグラフは右方向に伸びていく状況で、シートとして非常に見づらいです。

具体的に書くと、今回のデータが10行目(例えばA10からC10)に入るとグラフの方はそのデータの横の10行目付近(D10付近とか)に描画される。
次回のデータが11行目に入るとグラフの方もだいたい11行目付近に描画されるといった感じが理想です。
ちょっとうまく説明できないのでグラフ部分のイメージを添付しますが、これはグラフ部分のみを右に90度回転させて合成したイメージです。左側の表部分は途中で切れてますが、この表は下へ延々伸びて行き、それに合わせてグラフも下へ増える(伸びる?)イメージです。やりたいことはだいたいこんな感じです。
グラフの種類は何でもよいのですが、説明しづらいなどがありましたらイメージにあるような折れ線グラフなどを例に教えていただければといます。
よろしくお願いします。

「縦方向へ伸びるグラフを表示するには?」の質問画像

A 回答 (3件)

縦の折れ線グラフは、散布図で描きます。


横棒グラフや横棒積み上げグラフでも、下向けに続くグラフを描けます。
また、表の追記に追従するグラフを描くには、最初から「表の下のまだ埋まってない空白部分も含めてグラフの元の範囲にしておく」ことで、簡単に出来ます。

ただし、グラフの外形(一番外のグラフの枠)が自動的に拡張していく方法はありません。これから伸びていく表の範囲を見越して、最初から空のグラフ部分を十分先(今回は下)まで伸ばして作っておく必要があるということです。



#補足
名前の定義を使って「表にいま実際にデータが記入されているセル範囲」を計算させ、それをグラフの元の値の範囲として利用する方法もあります。
でも、今回の「表の延長に追従してグラフの見た目が伸びていく」には、逆にあまり適していません。上述の方法の方が簡単です。
「縦方向へ伸びるグラフを表示するには?」の回答画像1

この回答への補足

keithin様、ご回答ありがとうございます。
散布図について調べてみたのですが、表示したいグラフがうまくできませんでしたのでもう少し教えてください。

ここの画像はアップロードするとかなり画質が劣化してしまうんですね、想像以上に劣化していましたので少し説明します。
アップした画像ですと、
表部分のB列に日付が入っています。セルB2に「日付」と出ているのがかろうじて読み取れると思います。これがグラフ部分だと左はじにそのまま縦に表示されています。
C列に曜日が出ていますがこれはグラフに出す必要はありません。
D列に「A」という項目が並んでいます。画像の劣化が激しく、見づらいかもしれませんが、左から4番目の列がD列です。ここのデータがグラフでは青い線で、日付ごとの推移を表示しています。
同様にE列に縦に入ったデータがこのグラフでは赤線で表示されています。
イメージとしてこんな感じなのですが伝わっていますでしょうか。

もしグラフ表示の障害となるのであればC列は削除してもかまいません。
散布図について調べたところ相関関係を表すものだと書いてあったのですが、今回グラフ化したいデータに相関関係はありません。ですが、散布図で私の作りたいグラフができるのでしょうか?そこもちょっとわかりません。
あと、ご心配いただいた

>グラフの外形(一番外のグラフの枠)が自動的に拡張していく方法はありません。

これは大丈夫です。必要ありません。

>最初から空のグラフ部分を十分先(今回は下)まで伸ばして作っておく必要があるということです。

これで作成するつもりです。
あと、スミマセンが、表現したいグラフは折れ線グラフが適しているようなのでイメージに使用しているような折れ線グラフでお願いします。

補足日時:2012/09/23 15:56
    • good
    • 1

散布図の描き方ですか?


散布図は縦の値(Y)と横の値(X)の2つから描きます。
今は、縦の値を日付に、横の値を数値に取りたいワケです。

縦の値と横の値それぞれに具体的にどこのセル範囲を当てるかは、グラフを選んでグラフツールの「データの選択」で指定します。


手順:
とりあえず散布図を描かせる(横向けの折れ線になる)
データの選択で系列1の「編集」を開始する
Xの値に数値のセル範囲を設定する(少し広めに)
Yの値に日付のセル範囲を設定する(同上)

他の系列についても同様に、Xのセル範囲を数値、Yのセル範囲を日付に設定する
必要に応じて軸の書式設定で軸の向きを整えたり、表示範囲を調整します。
「縦方向へ伸びるグラフを表示するには?」の回答画像3
    • good
    • 0
この回答へのお礼

なるほど、大変参考になりました。ありがとうございました。

お礼日時:2012/09/23 18:05

う~ん。

経時変化を見せるのは通常、折れ線グラフが多いけれども、折れ線グラフは通常、横に伸ばすものですからねえ。縦に伸ばすとなると、散布図で代用することになってしまうでしょうね。

「名前」という機能とOFFSET関数というのを併用すると、参照範囲が自動的に伸びていくグラフは作れます。添付図のとおり作ってみました。

グラフの書式などは次のとおり。

●x軸にはD~K列の値(「A」~「C」の系列と目盛線のための系列)、y軸にはB列の値(日付)を指定しています。
●「目盛線」はExcelの機能上、水平方向にしか引かれないので、色を「白」にしています。
●「目盛線」の代わりに、G~K列の値を系列4~8として追加しました。さらに、それら系列を右クリックして表示できる「データ系列の書式設定」にて、「マーカーの種類」を「なし」に、「線の色」を「黒」に、「線のスタイル」の「幅」を適当な細い値に設定しました。
●y軸は、原点を上に持ってくるために、「軸の書式設定」で「軸を反転する」にチェックを入れています。
●「凡例」を一度クリックし、その中の一つの系列を再度クリックして選択。キーボードのDeleteキーを押すことで、系列4~7を消してみました。
●後から入力した系列の線が先に入力した系列の線の上に重なってしまうと不都合がある場合は、系列の順序を入れ替えてください。グラフを右クリックして出てくる「データの選択」にて上下のボタンを押すと、入れ替わります。
●C3セル(曜日)には「=b3」と入力し、「セルの書式設定>表示形式タブ>ユーザー定義>種類ボックス」に「aaa」を入力しています。

範囲が自動的に伸びる仕組みは、次のように構築します。ちょっと面倒ですが。

◆M2セルには、表示させたい最後の日付を入力。「=today()」(本日の日付を返す数式)などを入力しても構いません。ただし、その場合は、本日の日付が既にB列に記載されている必要があります。
◆「数式」の「名前の管理」などで、「名前」ボックスに「グラフでの日付の範囲」と入力。「参照範囲」に「=offset($b$3,,,match($M$2,$B:$B,)-2,1)」と入力。
 他にD~K列についても同様に、「グラフでのAの範囲」として「=offset($d$3,,,match($M$2,$B:$B,)-2,1)」とか、「グラフでの20の範囲」として「=offset($g$3,,,match($M$2,$B:$B,)-2,1)」などを指定。B列とD~K列について、全部で9つの名前を定義したことになります。
◆グラフを右クリックして出てくる「データの選択」で、D~K列を参照する8系列を編集し、先ほど定義した名前を使って、データ範囲を指定します。例えば「A」という系列なら、「系列Xの値」ボックスに「=Book1!グラフでのAの範囲」と入力。「系列Yの値」に「=Book1!グラフでの日付の範囲」と入力。
「縦方向へ伸びるグラフを表示するには?」の回答画像2
    • good
    • 0
この回答へのお礼

なるほど、大変参考になりました。ありがとうございました。

お礼日時:2012/09/23 18:05

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