ギリギリ行けるお一人様のライン

複数の時系列データなどを比較する際に、X軸が同じ別々のグラフをたてに複数並べた図をつくっていますが、Excelで1つずつつくって、X軸を削ってたてに手作業でうまく縁が重なるように並べています。
このようなまとめた図をつくってくれる便利なソフト(できればフリー)またはExcelのアドインなどをご存知の方がいましたらお教えください。

「X軸が同じ複数のグラフをまとめた図の作成」の質問画像

A 回答 (3件)

チャレンジしてみますか?


http://www.peltiertech.com/Excel/Charts/StackedC …
    • good
    • 1

ややお粗末な点があるが、下記をやってみて、お気に召さないかな。


例データ B-G列
E-G列は関数で、0,40,80という数値の下駄を履かせている。
40などは実際の値の各期のデータ最高値+αなどを勘案して決める。
エクセル関数で出来るのはわかりますね。1例でF2は=C2+40です。
第1期第2期第3期第1期第2期+40第3期+80
1222291262109
341816345896
2112282152108
141812145892
161911165991
ーーー
E-G列で折れ線グラフを描かせます
ーーー
Y軸の書式設定で、パターンー目盛ラベルーなしにして、消してしまう。
ーー
標準モジュールへ下記をコピペ
Sub Macro1()

x = String(60, " ")
Mid(x, 1, Len("第1期")) = "第1期"
Mid(x, 10, Len("第2期")) = "第2期"
Mid(x, 20, Len("第3期")) = "第3期"
Mid(x, 31, 2) = vbCrLf
Mid(x, 33, 10) = "1 2 3 4 5 6 7 8 9"
Mid(x, 43, 10) = "1 2 3 4 5 6 7 8 9"
Mid(x, 53, 10) = "1 2 3 4 5 6 7 8 9"
ActiveChart.ChartArea.Select
With ActiveChart
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = x
End With

End Sub
グラフをアクチブにして実行。
ーーー
実際問題にあわせるのは、上記のコードの文字列Xの位置合わせ的
チューニングにある。
問題点は
●上記での期の数の多さ
●Xの文字列の調節。
●目盛ラベルに盛り込む内容の複雑さ
●縦書き横書き
などで楽観視してないが。
縦長横書きテキストボックスを、文字の内容を作って貼り付けるほうが易しいかも知れない。
    • good
    • 1

取りあえずこんなマクロでどうでしょうか。


上手くいくかどうか試してみてください。
シート名等、実際に合わせて変更してください。

Sub test1()
Dim ccht As ChartObject
Dim pcht1 As ChartObject
Dim pcht2 As ChartObject
Dim n As Integer

Sheets("Sheet1").Activate
For Each ccht In Sheets("グラフ").ChartObjects
ccht.Copy
Sheets("Sheet1").Paste
With Sheets("Sheet1")
n = .ChartObjects.Count
Set pcht1 = .ChartObjects(n)
If n = 1 Then
pcht1.Left = .Range("B2").Left
pcht1.Top = .Range("B2").Top
Else
Set pcht2 = .ChartObjects(.ChartObjects.Count - 1)
pcht1.Left = pcht2.Left
pcht1.Top = pcht2.Top + pcht1.Chart.PlotArea.InsideHeight
End If
End With
Next
End Sub
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報