Excel2010を使って、時系列データから折れ線グラフを作成しています。
時系列データの元データ用テーブルがあり、そのテーブルのデータは毎日変動します。
それを元データとして、グラフ表示用のテーブルを作成しています。
ある条件の時だけ折れ線グラフを表示したくて(ようするに途中のいくつかの区間で
分断された折れ線グラフを表示したい)、表示用テーブルの折れ線グラフ用データ
の各セルには
(1) if( セル2>セル1, セル2,"")
か
(2) if( セル2>セル1, セル2,NA())
という式を入れています。
(1)のケースだと、常にY軸の0にグラフの線が接続され、上下が連続された折れ線
グラフになってしまいます。
(2)のケースだと最後の#N/Aデータの区間はグラフが表示されないのですが、
途中の#N/Aデータの区間は、補完されて連続したグラフ表示になってしまいます。
(分断されない)
表示用のセルを式もデータも入れない、何も設定されていない状態にすれば、
意図したように分断された折れ線グラフになります。
分断したい箇所は、その都度変動しますので、いつも手動でセルの内容を
消去するわけにはいかないので、うまい方法があればどなたかアドバイスを
お願いします。
Excel2003では
「メニューの[ツール]→[オプション]の[グラフ]タブで、「空白セルのプロット」の
プロット方法を指定するときに、「プロットしない」を選択する」
とすると意図したグラフが表示されたのですが、2010でどう設定すればいいのか
わかりません。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
式の戻り値が、#N/Aと""の両方に対応してみました。
尚、別シートで再計算があった場合も動作するようです。
特に影響が感じられなければ問題はないと思います。
取りあえず★1で該当シートがアクティブで無ければ回避するようにしています。
★2の処、グラフ名は正しいものに書き換えてください。
Private Sub Worksheet_Calculate()
Dim ser As Series
Dim yrng As String
Dim i As Long
If ActiveSheet.Name <> Me.Name Then Exit Sub '★1
With Me.ChartObjects("グラフ 1") '★2
For Each ser In .Chart.SeriesCollection
ser.Border.LineStyle = xlAutomatic
ser.MarkerStyle = xlAutomatic
dv = ser.values
yrng = Split(ser.Formula, ",")(2)
On Error Resume Next
For i = 1 To ser.Points.Count
With Range(yrng)(i)
If .value = "" Or .value = "#N/A" Then
ser.Points(i).MarkerStyle = xlNone
ser.Points(i).Border.ColorIndex = xlNone
ser.Points(i + 1).Border.ColorIndex = xlNone
End If
End With
Next i
On Error GoTo 0
Next
End With
End Sub
No.2
- 回答日時:
VBAでは駄目ですか?
>(2) if( セル2>セル1, セル2,NA())
上記式で#N/Aが返されている場合は線を「なし」に設定すれば良いと思います。
該当シートの見出しを右クリック>コードの表示
と進み現れるVBEのコードウインドウに下記コードをコピペしてください。
再計算が働いた場合実行されます。
Private Sub Worksheet_Calculate()
Dim ser As Series
Dim dv As Variant
Dim i As Long
With ActiveSheet.ChartObjects(1)
For Each ser In .Chart.SeriesCollection
ser.border.LineStyle = xlAutomatic
ser.MarkerStyle = xlAutomatic
dv = ser.values
On Error Resume Next
For i = LBound(dv) To UBound(dv)
If dv(i) = "" Then
ser.Points(i + 1).border.ColorIndex = xlNone
End If
Next i
On Error GoTo 0
Next
End With
End Sub
>(1) if( セル2>セル1, セル2,"")
の場合は別途考えなければなりません。
No.1
- 回答日時:
残念ながら、完全な空白と同じにグラフ表示を再現する方法は、なさそうです。
後は、実際にゼロを置換で空白にするくらいでしょうか。値複写した元データを選択した状態で、置換のダイアログを起動し(Ctrl+H)、「オプション」ボタンから「セルの内容が完全に同一であるものを検索する」にチェックを入れた上で、「0」→「」(空白)と置換。入れないと、「10」→「1」などと置換してしまいます。
補間のプロットの設定については、参考URLを参照。
参考URL:http://www.relief.jp/itnote/archives/003879.php
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- Excel(エクセル) Excelグラフについて 1 2023/05/12 16:26
- Excel(エクセル) エクセルのグラフに上下限値の横棒を表示させたい 5 2022/12/12 11:09
- Excel(エクセル) 折れ線グラフの描き方 2 2022/07/11 10:12
- Excel(エクセル) エクセルのグラフで式や文字列を無視したい 2 2022/12/14 10:47
- Excel(エクセル) エクセルの折れ線グラフ 3 2022/08/30 08:40
- Excel(エクセル) Excelグラフについて 1 2022/06/16 16:06
- 宇宙科学・天文学・天気 銀河のハビタブルゾーンを確率的セルオートマトンという数値的にシミュレーションした結果、「群島」の様な 2 2023/06/06 23:10
- Excel(エクセル) エクセルのパレート図の折れ線グラフの各プロットのパーセント表示ってできますか? やり方を教えてほしい 1 2022/08/18 09:03
- Excel(エクセル) Excelで日付のグラフへの表示 2 2022/04/15 11:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで全波整流回路の波形
-
エクセルのセル内でタブキーの...
-
エクセルで未入力セルを指定す...
-
コピーしたものをエクセルに貼...
-
行列の入れ替え
-
【エクセル】原点を通るグラフ...
-
エクセルオンラインのみ勝手に...
-
エクセル 関連付けのやり方
-
エクセル 文字の先頭4文字だ...
-
テキストファイルから必要な項...
-
エクセルの神よ、ご回答を! エ...
-
散布図や折れ線グラフにエラー...
-
エクセルorアクセス 管理&...
-
文字をアルファベット順に3つ...
-
A1セルに入力したら、入力時間...
-
Excelで同じセルに箇条書きをし...
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
エクセルの複数のセルを一括で...
-
Excelの入力規則で2列表示したい
-
エクセルで1列に500行並んだデ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのセル内でタブキーの...
-
エクセルの神よ、ご回答を! エ...
-
エクセルで3Dの円錐形を作成...
-
エクセル 文字の先頭4文字だ...
-
エクセル データ追加するもグ...
-
エクセルのグラフでデータテー...
-
エクセルオンラインのみ勝手に...
-
エクセルVBA 長さ0の文字列をNu...
-
差し込み印刷で文字化け!
-
文字をアルファベット順に3つ...
-
日報のデータを月報にデータを...
-
VBA初心者です。電話番号の数字...
-
エクセルにて指定文字数以上の...
-
エクセルのセル内の文字の一部...
-
VBでリアルタイムにグラフを...
-
エクセル2000:phonetic関数で...
-
文字を入力するだけで、強制終...
-
#DIV/0!があるデータの折れ線...
-
ウェブから貼ったドロップダウ...
-
エクセルのデータを自動的にweb...
おすすめ情報