- 締切済み
excelの散布図を楽に作る方法ありませんか
仕事上散布図を毎日使っています。 1点ごとに系列を分けて表示させたいため、 シート上ではx軸、y軸のデータを別々の行に横並びで入力した後、 1つ1つ系列を追加するという方法をとっています。 この作業を簡略化する方法がありましたらぜひ教えてください! 系列を分けなければセルを一括選択で作成できるのですが。。。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- xls88
- ベストアンサー率56% (669/1189)
進んでいますか? 解らなければ遠慮なく捕捉で質問してください。 例えば シート上にグラフオブジェクトを作成後、複数の系列を追加する、という流れでどうでしょうか。 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)
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)
マクロはどうですか? セルを一括選択で作成した系列数が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 もちろん、素から複数系列のグラフを作成するマクロも組むこともできます。
- keithin
- ベストアンサー率66% (5278/7941)
「楽できる」という意味では 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.自動で今日のグラフに更新される などのようでも。
お礼
すぐに回答していただきありがとうございます。 要するに別途グラフ作成用のセルを作るということですね。あらかじめこうしておけば使い回しもできると。 この方法なら作業効率かなり上がりそうです。 excelではひな形を作っておくことが重要なのですね。 まさに求めていた回答でした。ありがとうございました。
お礼
ありがとうございます。 ほぼワンクリックで系列を分けることができますね。 業務では下に示すような形のデータのシートから必要な値を選んで散布図にすることも多いです。(例えば系列aとcのみ散布図にする) 系列の名前a 系列の名前b 系列の名前c 系列の名前d : : : : 他データ 他データ 他データ 他データ : : : : x軸データa x軸データb x軸データc x軸データd : : : : 他データ 他データ 他データ 他データ : : : : y軸データa y軸データb y軸データc y軸データd : : : : 行、列共にとびとびになっているわけですが、このようなケースに対応したマクロを組むことはできるでしょうか。散布図作成→教えていただいたマクロ実行→必要ない系列を消す、がベストな方法でしょうか。 マクロの経験がほとんどなくお任せの質問になってすいません。