• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルでグラフを最新の50個のデータにしたい)

エクセルで最新の50個のデータを含むグラフを作成したい

HohoPapaの回答

  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.4

データ格納列番号もブックによって変動するようなので、 この番号も定数に格納してみました。 Sub GraphSauceChange1()  Const MaxRows = 50  'データ範囲に指定する最大行数  Const TgShNum = 1  '対象シート番号  Const ColNum0 = 1  '日付列? 1列目  Const ColNum1 = 2  '1つ目データ格納列  Const ColNum2 = 4  '2つ目データ格納列  Const SRowNum = 2  'データ開始行番号    Dim SRow As Long   'グラフ用データ開始行  Dim ERow As Long   'グラフ用データ終了行  Dim tgRange0 As Range 'X軸日付範囲  Dim tgRange1 As Range 'データ群1つ目範囲  Dim tgRange2 As Range 'データ群2つ目範囲  Dim tgRangeA As Range '上記合計範囲    With ThisWorkbook.Sheets(TgShNum)      ERow = .Cells(.Rows.Count, 1).End(xlUp).Row   If ERow < MaxRows Then    SRow = SRowNum   Else    SRow = ERow - MaxRows   End If     Set tgRange0 = _    Range(.Cells(SRow, ColNum0), .Cells(ERow, ColNum0))   Set tgRange1 = _    Range(.Cells(SRow, ColNum1), .Cells(ERow, ColNum1))   Set tgRange2 = _    Range(.Cells(SRow, ColNum2), .Cells(ERow, ColNum2))   Set tgRangeA = Union(tgRange0, tgRange1, tgRange2)   '結合   .ChartObjects(1).Chart.SetSourceData Source:=tgRangeA  'セット      .ChartObjects(1).Chart.SeriesCollection(1).Name = "あいう"   .ChartObjects(1).Chart.SeriesCollection(2).Name = "かきく"    End With End Sub

akira0723
質問者

お礼

上の補足コメントで「完璧です」と思ったのですが、今日本チャンのブックで試してみたらなぜか全く予想外の結果になってしまいまし他。(ショック!!) まず横軸の指定がグラフ要素になって、しかもデータ範囲が41行目から79行目に固定されてしまうようです。 データ数を20で試してみました。 なぜ自宅のダミーではうまく行ったのか全く不明ですが、HohoPapaさんが自ら >範囲行の設定に難あり、と言われているのでこちら(不具合)が正解かと思い急ぎ訂正報告をさせていただきます。

akira0723
質問者

補足

すぐに動くわけないと思いながらもダミーシートで試してみました。 横軸を2列目に、開始行を17行から、データ数を20個にして、グラフ系列の列も変えてみました。 完璧です!!!(プロットが21個になるのはご愛敬で全く問題なし) ただし、大きな問題点が1つ。 特性のうち重要な2つだけを指定してグラフに出来るのですが、この特性の桁数が全く違う場合がほとんどなので特性ごとに2軸表示が必須です。 例えば選択した特性が、長さと重さの場合は、0.1mmと1000kgという感じです。 これがグラフ系列を2つだけに絞る最大の要因です。(軸が1つだと0.1は変動が見えなくなりますので) また、若干の問題点は、 データ数が足りないと上に突き抜けて、その系列の上の平均や標準偏差、等々がグラフに取り込まれるのでぐちゃぐちゃになってしまうのでできれば改善したい問題点です。 ただし、最初のグラフ作成時に30個までを指定しておけば、30個目以降のデータを入力したらマクロボタンをクリックすることで対応可能なので大きな問題点ではありません。(これは大きく手間なら割愛でも十分) 図々しく贅沢を言うなら、 指定した列(ひな形では5行目の項目名)が自動で凡例に取り込まれればありがたいのですが。。。

関連するQ&A

  • Excelのグラフ表示時の警告を出ないようにしたい

    Excel2000で質問です。 要素の数が多いデータのグラフを作成する時に出る「2-Dグラフで入力できるデータ要素の数は・・・」 というメッセージを出ないようにする方法ってありますでしょうか? もちろんデータ数を減らせば出なくなるのは知っていますが、 大量のデータの最初の方をグラフにしたくて、 1列全て選択してグラフ化するのが簡単なのでそうしているのですが、 いちいちメッセージが出るのでウザいです。 よろしくお願いします。

  • エクセル:最新データ12件でグラフを作る

    いつもお世話になっております エクセルで、経済指標のデータを入力しています それをグラフにしているのですが 毎月更新されるため、最新の12件(直近一年)だけを抽出し グラフにしたいと考えています 例    A    B   C     列1 2007/07 2007/08 2007/09・・・・・2008/05 2008/06 列2 数字   数字   数字 ・・・・ 数字  数字 2008年6月時点では、この数字でグラフが作成されるが 2008年7月の数値を入力すると    A    B   C    列1 2007/08 2007/09 2007/10・・・・・2008/06 2008/07 列2 数字   数字   数字 ・・・・ 数字  数字 のデータを基にしたグラフが作成される http://oshiete1.goo.ne.jp/qa645288.html のページを参考にしようとしたのですが 12件分なのでうまくいきませんでした。 よろしくお願いします わかりにくかったらすみません・・・

  • Excelのグラフ(2000)

    お世話になります 教えてください。 EXCEL2000です。 グラフを作成しています。 行のデータ数は39634行あります。 B列に時間、C列に数値があって、それをグラフにしたいのです。 x軸に時間、Y軸に数値にします。 でも、作成しても、エラーが出るのです。 「2-Dグラフで入力できるデータ要素の数は1系列あたり最大32000個です。32000個以上のデータ要素を使用する場合は、複数の系列を作成してください。」 というようなエラーです。 まあ、たしかにデータ数は32000個以上ありますが。。。 これはいったいどういうことでしょうか? じゃあ、2系列作成すればいいのかと、グラフウィザードの、(散布図)系列タブで、「系列」のところに「系列1」しかないのをその下の「追加」ボタンを押して「系列2」を追加しました。 エラーによると、「系列1」だけでは作成されないグラフ分を系列2でおぎなっているのだろうかと思いましたが、出来上がったグラフを見ると、すっかり系列1と系列2が重なっているのです。すっかりわからなくなりました。 デフォルト設定が系列1が青色、2がピンクだったので、 どちらも同じ色にしたいと思いましたが、系列2のほうが上にかさなっていて、おかげで系列1が選択できず、「データ系列の書式設定」をしようにもできません。 すっかりかさなっているグラフをそれぞれの系列を選択するにはどうしたらよいでしょうか? グラフをきちんと作成するにはどうしたらよいでしょうか?2系列?うまくつくるにはどうしたらよいでしょうか?

  • Excelマクロ:配列データからグラフを作成するには?

    マクロ初心者です。 Excel VBAのマクロで、2つの配列データから、散布図グラフを作成したいのですが、セルに配列データを書き込まず、直接グラフ化するにはどうしたらよいでしょうか? 配列データの要素数がexcelの行と列の最大数(65536,256)?を超えてしまっているので、配列データから直接グラフ化したいと思っています。 よろしくお願いいたします。

  • エクセルのグラフについて教えてください。

    エクセルでグラフを作成したいのですが、データエリアが10列あり その中にデータを入れてグラフを作成したいのですが、10列中、データが5列で終わった場合、6列~10列が0なのでグラフが最下行になってしまいます。これを5列で終わる方法はないでしょうか?

  • EXCELでグラフのデータ範囲を自動化したい

    EXCELについて質問があります。 いまあるデータをグラフ化しようと思っているのですが、グラフのデータ範囲を自動で指定したいのです。 詳しく話しますと、A列に日付データ、B~Fに数値データが入っています。 なお、B~F列には他のシート(同一ファイル)のデータからVLOOKUPによって日付を検索値にて抜き出した数字が入っております。 そして、グラフ化するデータ範囲は一番古い日付から前日までのB~Fのデータになります。また、A列を項目軸ラベルとして使用します。自動化するのはこの、「前日まで」という部分です。 ちなみにA列には、2003年から2008年までの日付が予め入っています。 ですので、B~F列にはVLOOKUPで検索している関係で現在の日付以降の欄には最後に入力された日付のデータが下にずらずらと表示されています。 現在は手動でグラフの範囲の更新をしている為、未来の日付にデータが入っていることには支障はありません。もし、自動化するにあたって他の方法を用いてデータを抜き出した方がよいのであればその点も明記していただけますと助かります。 よろしくお願い致します。 ※データ詳細 ・4行目からデータが入っています。 ・A列には2003年3月31日から1日ずつ日付が入っています。 ・B~F列には数値データが入っており、B列はsheet2に元データがありA列に日付、E列に抜き出すデータが入っています。C列以降もsheet3,4…と元データが入っており、A列に日付がありますが、抜き出すデータはシートごとに列が違います。 ・元データの日付の開始日はシートによって異なります。(全て03/03/31からあるわけではないという意味です。) ・グラフ形式は積み上げ面です。B~Fの合計値の推移を見る為です。

  • エクセル ミリ秒表記の大量データをグラフX軸に

     今晩は、質問させていただきます。どうぞよろしくお願いいたします。  環境:Excel2010 でございます。  A列に 2010/07/17 21:20:30:365 2010/07/17 21:20:30:522 2010/07/17 21:20:30:691 2010/07/17 21:20:30:855    :    : のようにミリ秒まで表記された 実験データが30万行ほどございます。 B列は0.100~3.000までの間の計測データになります。 A列をX軸にしたB列のグラフを作りたいのでございますが、A列の日時をX軸に表示させる事が出来ず悩んでおります。(1900/01/01から始まったりいたします。)  X軸のラベルは30個もあれば良いと考えております。(=1000行間隔ずつ程度?) なお2-Dグラフで入力できるデータ要素の数は1系列あたり最大32000個なので、10本の系列を横に並べて1本に見えるようにしております。  何か良い方法がございましたら是非お教えいただけないでしょうか。 もしお詳しい方がいらっしゃいましたら,どうぞよろしくお願いいたします。

  • 【エクセル】グラフの作成方法を教えてください

    以下のデータから希望のグラフを作成したいのですが、うまく出来ません。。 教えてください、宜しくお願い致します。 (1)データ  A列   B列   C列   D列   E列 ・ ・ ・ ・           名前A  名前B  名前C ・ ・ ・ ・  日付   時刻 2016/1/22 15:00  1    2    3 2016/1/22 16:00  0    4    0 2016/1/22 17:00  2    5    1 (2)希望のグラフ 15:00  16:00 17:00     2016/1/22 2016/1/23 2016/24 ←約1ヶ月あります。 中のデータを件数で表示したいです。 グラフ形式は問いません(縦、折れ線など)

  • EXCELグラフ作成

    EXCELのグラフ作成について EXCELでグラフを作るとき、通常はA1からA10などに日付を入力し、B2からB10までにデータを入力しますが 元のデータが横に入力されている場合(B1、C1、D1・・・・K1に日付が入力されていて B2、C2、D2・・・・K2にデータが入力されている)場合どのようにグラフを作成すればよろしいでしょうか。ひとつづつデータを横から縦へ入力するにもデータ量が多すぎて困っています。せめて横に入力されているデータを縦にまとめて入力できればグラフは作成できるのですが・・・誰かいい方法を教えてください。よろしくおねがいします。

  • EXCELグラフ作成

    Excel2000を使用しています。 X軸に日付け項目 Y軸にデータ数量が入っています。 上記データよりグラフを作成しようとしたところ、 2-Dグラフで入力できる要素の数は、1系列あたり最大32000個です。のメッセージがでます。 グラフ作成するにはどうすればよいのですか? X軸の項目数が43000行分のデータがあります。 OFFICE2007の購入予定はありません。