• 締切済み

excelの散布図を楽に作る方法ありませんか

仕事上散布図を毎日使っています。 1点ごとに系列を分けて表示させたいため、 シート上ではx軸、y軸のデータを別々の行に横並びで入力した後、 1つ1つ系列を追加するという方法をとっています。 この作業を簡略化する方法がありましたらぜひ教えてください! 系列を分けなければセルを一括選択で作成できるのですが。。。

みんなの回答

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.4

進んでいますか? 解らなければ遠慮なく捕捉で質問してください。 例えば シート上にグラフオブジェクトを作成後、複数の系列を追加する、という流れでどうでしょうか。 Dim i As Integer With ActiveSheet.Range("グラフオブジェクト描画セル範囲") With ActiveSheet.ChartObjects.add(.left, .Top, .Width, .Height).Chart '--グラフオブジェクト .ChartType = xlXYScatter '--散布図 For i = 0 To 9 '--系列数(この例では10個になる) With .SeriesCollection.NewSeries '--系列を追加 .Name = Range("系列名開始セル").Offset(,i) .XValues = Range("X値開始セル").Offset(,i) .Values = Range("Y値開始セル").Offset(,i) End With Next i End With End With

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.3

Excelには「新しいマクロの記録」という素晴らしい機能が添付されています。 グラフ作成の実作業を「新しいマクロの記録」してみてください。コードが得られます。 得られたコードは、そのままでは汎用性に乏しいので編集を加えなければなりません。 マクロ化に興味が御有りなら、得られたコードを提示してみてください。 ≪ご存じとは思いますが≫ マクロについて http://homepage3.nifty.com/hhokadakek5/excel/kino6.htm [XL2003] Excel のマクロ記録機能について http://support.microsoft.com/kb/888592/ja ≪参考までに≫ グラフ操作関連のテクニック http://moug.net/tech/exvba/0021.htm

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

マクロはどうですか? セルを一括選択で作成した系列数が1つのグラフがあるとして そのグラフを選択して置いて実行してください。 系列を複数系列化します。 Dim fml As String Dim n As Integer Dim xrng As Range Dim yrng As Range Dim i As Integer With ActiveChart .ChartType = xlXYScatter With .SeriesCollection(1) fml = .Formula n = .Points.Count .Delete End With Set xrng = Range(Split(fml, ",")(1)) Set yrng = Range(Split(fml, ",")(2)) For i = 1 To n With .SeriesCollection.NewSeries .Name = "" .XValues = xrng(i) .Values = yrng(i) End With Next i End With もちろん、素から複数系列のグラフを作成するマクロも組むこともできます。

hisa-shi
質問者

お礼

ありがとうございます。 ほぼワンクリックで系列を分けることができますね。 業務では下に示すような形のデータのシートから必要な値を選んで散布図にすることも多いです。(例えば系列aとcのみ散布図にする) 系列の名前a 系列の名前b 系列の名前c 系列の名前d :      :      :     : 他データ   他データ  他データ   他データ :      :      :     : x軸データa  x軸データb  x軸データc x軸データd   :      :      :     : 他データ   他データ   他データ  他データ :      :      :     : y軸データa  y軸データb y軸データc  y軸データd :      :      :     : 行、列共にとびとびになっているわけですが、このようなケースに対応したマクロを組むことはできるでしょうか。散布図作成→教えていただいたマクロ実行→必要ない系列を消す、がベストな方法でしょうか。 マクロの経験がほとんどなくお任せの質問になってすいません。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

「楽できる」という意味では    A   B  C  D列 1  X   X1値 X2値 X3値 2  Y   Y1値 Y2値 Y3値 3 X再掲  =B1  =C1  =D1 4 Y1   =B2 5 Y2      =C2 6 Y3         =D2 のように用意しておいて3:6行で散布図を描かせておき,1:2行に毎日データを投下します。 (グラフ作成の操作に慣れてくれば,3行目X再掲は不要です) その意味では実は, >シート上ではx軸、y軸のデータを別々の行に横並びで入力した後、 >1つ1つ系列を追加するという方法をとっています。 手順を逆に。 1.作成済みの昨日のシートとグラフをシートごと複製する 2.その昨日のデータのセルに,今日のデータを上書きで貼り込む 3.自動で今日のグラフに更新される などのようでも。

hisa-shi
質問者

お礼

すぐに回答していただきありがとうございます。 要するに別途グラフ作成用のセルを作るということですね。あらかじめこうしておけば使い回しもできると。 この方法なら作業効率かなり上がりそうです。 excelではひな形を作っておくことが重要なのですね。 まさに求めていた回答でした。ありがとうございました。

関連するQ&A

専門家に質問してみよう