- ベストアンサー
Excelの範囲可変グラフ
end-uの回答
- end-u
- ベストアンサー率79% (496/625)
#3補足に対するレスですが。 提示したコードは、あくまでサンプルグラフを作成するだけのもので、 基本的には、OFFSET関数を利用した名前の定義を使えば可変範囲のグラフが作成できるという例です。 >任意のデータ範囲を自由に(Windowをスライドするように)グラフ化したい という事だったので、スクロールバーを使った例を示しました。 >開始位置に4、終了位置に10と指定すると、 という事であれば、MATCH関数を使って範囲を指定できるようにすると良いでしょう。 >複数ある系列を縦に累計する棒グラフにするには、 の箇所がちょっとひっかかります。 累計グラフにするには、累計データが必要です。 その辺りを加味したサンプルグラフを以下のコードで作ってみました。 コードを理解するのではなく、できあがったグラフの[元データ]などの設定を見て理解してください。 Sub test2() Const x As Long = 100 'サンプルデータ行数 Dim ws As Worksheet Dim i As Long '■シートを追加、サンプルデータ作成 Set ws = Sheets.Add With ws 'セルB1に開始値、B2に終了値 .Range("A1:B2").Formula = [{"開始", 4;"終了",10}] .Range("C1").Formula = "=MATCH(B1,A:A,0)-5" .Range("C2").Formula = "=MATCH(B2,A:A,0)-4-C1" .Range("A4:E4").Value = [{"time","日計1","累計1","日計2","累計2"}] With .Range("A5:E5").Resize(x) .Columns(1).Formula = "=ROW()-4" 'C列、E列は累計値 .Offset(, 1).Resize(, 4).Formula _ = Array("=RAND()*" & x, "= Sum(B5,C4)", "=RAND()*" & x, "= Sum(D5,E4)") .Value = .Value End With '■グラフ作成、名前定義し系列にセット。累計値は第2軸の線グラフ With .ChartObjects.Add(.Range("F1").Left, 0, 500, 300).Chart .HasLegend = False .ChartType = xlColumnClustered For i = 1 To 4 ws.Names.Add "data" & i, "=OFFSET($A$5,$C$1," & i & ",$C$2,)" With .SeriesCollection.NewSeries .Formula = "=SERIES(,," & ws.Name & "!data" & i & ",)" If i Mod 2 = 0 Then .ChartType = xlLine .AxisGroup = 2 End If End With Next End With End With Set ws = Nothing End Sub
関連するQ&A
- グラフの範囲指定をVBAで可変にしたい
1シートに複数のグラフがあり、値を入れて完成させているファイルがあります。 データ範囲が毎回違うため、いちいちグラフを選択し、範囲を変更しています。 系列:行 データ範囲:A列から~H列までだったり、A列からJ列までだったりします データがH列までの場合はI列は値が入っていませんが、L列からまた他のグラフのデータ範囲になっているという形です。 データが始まる位置はすべて固定です。 シートにある複数のグラフを一度に変更したいのですが、どのようにしたら良いのでしょうか? (選択しているグラフのグラフ変更ではなく、選択していないものも変更したい) 以下のようなマクロを仮で組んでみたのですが、うまく動きません。 よろしくお願いします。 Sub グラフ範囲変更() Dim lastcolumn As Integer lastcolumn = Range("A2").End(xlToRight).Column ActiveChart.SetSourceData Source:=Range(Cells(1, 1), Cells(1, lastcolumn)) End Sub
- ベストアンサー
- その他MS Office製品
- エクセルのグラフ範囲を毎日かえてグラフをかく
Sheet1に 列に日にち(A~AEまで31日分) 行には計算したデータがあります。 例) ?月1日ならば A1をグラフ範囲としてグラフを書き、 ?月2日ならば A1からB1をグラフ範囲としてグラフをかく といった感じで毎日 その日までをグラフ範囲として描きたいのですが 毎日毎日自分でグラフ範囲を指定するのは面倒なので 自動的にグラフ範囲を指定したいのです。 わかりにくい文章ですみません どなたか教えて下さいお願いします。
- ベストアンサー
- オフィス系ソフト
- Excel関数で列方向データの可変範囲グラフ作成
こんにちは Excel2010を使用しています 関数にて行方向の可変範囲グラフの作り方サイトを参考にして列方向のデータを可変範囲グラフに しようとしているんですが、うまく作成出来ません。 下記のような列のデータを可変範囲グラフにするにはどうしたらよろしいでしょうか。 A B C D E 1 item a b c d 2 date 1 2 3 4 すみませんが、よろしくお願いいたします。
- 締切済み
- Excel(エクセル)
- [excel2007]可変範囲のグラフを含むシートのコピーについて
[excel2007]可変範囲のグラフを含むシートのコピーについて ・やりたいこと 可変範囲を参照するグラフをシート内に作成し、 そのシートを複数コピーして、可変範囲を参照するグラフのまま利用したい。 ・現状 以下のサイトを参考に、可変範囲のグラフをシート内に作成しました。 http://www2.odn.ne.jp/excel/waza/graph.html#SEC13 しかしこのシートをコピーすると、 名前"label","value"は新しいシートに複製されますが、 グラフの参照範囲はその名前でなく、固定値(新しいシートのA2:A5など)になってしまいます。 可変範囲のままシートをコピーしたいです。 (excel2003だと、そもそもコピー前のシートを参照するようですが) ・環境 excel2007 可変範囲のグラフの作成方法は、上記サイトの方法に限定はしていません。 何か良い方法をご存知でしたら、ご教授ください。 よろしくお願いいたします。
- 締切済み
- その他MS Office製品
- 自動可変グラフ作成
おはようございます。 生産実績を下G7に日付け G87に合計を入力し、合計欄には 85行と86行をプラスしております。 G H I J・・・・・・・・ 7月日 3/1 3/2 3/4 3/5 ・・・・・・・・・3/18 ・ ・ 87 実績 100 90 102 103 103 このように実績表を作成し、別のシートに日付け(3/18)をあるセルに入力した場合、グラフ範囲を関数で3/1~3/18日まで期間を抽出させようと関数を調べておりましたら、 http://www2.odn.ne.jp/excel/waza/graph.html#SEC13のサイトに可変グラフ作成が掲載されており、横方向のデータで可変グラフを作成をしようとしましたが、式が複雑すぎてグラフ範囲が設定できませんと表示され3/13日以降の可変グラフが作成されません。 どのようにしたら宜しいのでしょうか?
- 締切済み
- オフィス系ソフト
- Excelマクロ:折れ線グラフの行範囲を可変
Excel2010を使用しています。 マクロを記録して折れ線グラフを作ろうとしていますが、マクロを記録出来ないところがあるらしくマクロを実行できません。 マクロを使用するのが初めてで、VBAは勉強中の為、自力での組み立てが出来そうにありません。 どうかお力を貸して頂けないでしょうか。 sheetによって行の数に違いが有る為、行のみを可変範囲設定出来ればと思っています。 1行目に系列が表示しており、2行目からはすべて数字となっています。 A列を横軸の目盛りで表示し、C・D・E列を折れ線グラフで表示し、B・F列はグラフには使用しません。 よろしくお願いします。
- ベストアンサー
- その他(ビジネス・キャリア)
- エクセル 範囲 最後
エクセルの範囲選択について。 A2からB列の最後までを範囲指定したいです。 グラフのデータ選択のため。 =$A$2:B・・・(中途半端です よろしくお願いいたします。 A B ------------- 1| 54 75 2| -4 6 ・・・・ A2からB列の最後まで
- ベストアンサー
- その他MS Office製品
- 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の合計値の推移を見る為です。
- 締切済み
- オフィス系ソフト
- エクセルのグラフ範囲を自動にしたい
エクセルのグラフのデータ範囲が頻繁に変化する計算をしており、 そのたびにデータ範囲を指定し直して大変です。 グラフのデータ範囲を自動で設定できる方法はないでしょうか? マクロでも構いません。 ちなみに、グラフは ・単純な2本の折れ線グラフ ・データはXY値ともに縦に並んでいる。 ・このデータ量が、多くなったり、少なくなったり頻繁に変化する 以上、よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- excelのグラフ 範囲可変の複数系列の指定
Excelである表を元に、グラフを作成します。 元データは、月々データが増え、最新の36件についてグラフを作成します。 そこで、名前の定義で元データの範囲(offsetとCountaを使います)を指定するのですが、系列が8個あります。 各系列を8個の名前で定義すればいいのでしょうが、 元の表のグラフにする「範囲」に名前を定義して、グラフの各系列の参照データを、範囲の名前をつかって、指定することはできませんか? 系列1・・・”名前”の1行目 系列2・・・”名前”の2行目 ・ ・ という指定の方法はできますか? 同じようなグラフを数種類作成するため、1グラフの名前の定義数を減らして、すっきりさせたいのです。 ちなみに、今回は、マクロを利用できません。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
補足
ネットで色々調べ、ようやく内容が理解できました。。 ただ、以下の2行だけがどうしても分からないので、 内容を解説して頂けると嬉しいのですが・・ (検索しても、SeriesやSERIESがなかなか見つからなくて) With .SeriesCollection.NewSeries .Formula = "=SERIES(,," & ws.Name & "!data" & i & ",)" 誠に申し訳ございませんが、よろしくお願い致します。