• 検索結果がありません。

グラフの 作 成 タイトルを 含 めたデータの 範 囲 と 系 列 の 設 定 をしてグラフを 作 成 する *データ 範 囲 の 設 定 データ 範 囲 タイトルを 含 む SetSourceData:=データ 範 囲 * 系 列 の 指 定 引 数 PlotBy:= xlcolumns 系 列

N/A
N/A
Protected

Academic year: 2021

シェア "グラフの 作 成 タイトルを 含 めたデータの 範 囲 と 系 列 の 設 定 をしてグラフを 作 成 する *データ 範 囲 の 設 定 データ 範 囲 タイトルを 含 む SetSourceData:=データ 範 囲 * 系 列 の 指 定 引 数 PlotBy:= xlcolumns 系 列"

Copied!
8
0
0

読み込み中.... (全文を見る)

全文

(1)

- 1 -

■グラフの作成と操作

現場で測定されたデータを見える化(グラフ化)して、全体像を把握するためには、グラフツールが 重要であり、Excel には有用なグラフツールが搭載されている。Excel VBA では、このグラフの操作を 取り扱うことができるステートメントが用意されているので、以下にその要点を解説する。

■目次

●グラフの作成 ●グラフの種類とChartType プロパティの設定定数一覧表 ●散布図の打点にラベルを付与 ●グラフ データ系列の追加 ●グラフの基点変更 ●グラフの完成 ●グラフのコピー ●参考情報

(2)

- 2 -

●グラフの作成

タイトルを含めたデータの範囲と系列の設定をしてグラフを作成する。 *データ範囲の設定 ・データ範囲 →タイトルを含む ・SetSourceData:=データ範囲 *系列の指定 ・引数PlotBy:= xlColumns →系列として列を指定 ・引数PlotBy:= xlRows →系列として行を指定 Sub 棒グラフの作成() Dim データ範囲 As Range

Set データ範囲 = Range(Cells(4,2), Cells(11,3)) ‘→ データ範囲の設定 ActiveSheet.Shapes.AddChart.Select

ActiveChart.ChartType = xlColumnClustered ‘→グラフの種類の設定 →棒グラフ ActiveChart.SetSourceData Source:=データ範囲, PlotBy:=xlColumns ‘→ 系列=列 End Sub *グラフの作成のExcel 資料は、 グラフの作成 を参照のこと。

●グラフの種類と ChartType プロパティの設定定数一覧表

グラフの種類 設定定数 集合縦棒 xlColumnClustered 積み上げ縦棒 xlColumnStacked 100%積み上げ縦棒 xlColumnStacked100 集合横棒 xlBarClustered 積み上げ横棒 xlBarStacked 100%積み上げ横棒 xlBarStacked100 折れ線 xlLine マーカー付き折れ線 xlLineMarkers 積み上げ折れ線 xlLineStacked 100%積み上げ折れ線 xlLineStacked100 円 xlPie 散布図 xlXYScatter バブル xlBouble 面 xlArea ドーナツ xlDoughnut 等高線 xlSerface 株価チャート xlStockHLC 円柱 xlCylinderColClustered 円錐 xlConeColColClustered ピラミッド xlPyramidColColClustered

(3)

- 3 -

●散布図の打点にラベルを付与

散布図を作成した場合に、その打点にラベルを付与したいニーズがある。 Microsoft Excel には散布図の打点のデータ ポイントに自動的にテキストラベルを付ける組み込み コマンドはないが、Microsoft サポートとして、下記の資料が公開されているので参照のこと。 Excel 統計講座では、新 QC 七つ道具であるマトリックス・データ解析(主成分データ分析)の主成 分得点グラフ(散布図)の作成にて活用されている。 ★Microsoft サポート 散布図のデータ ポイントにラベルを追加するマクロは次の通りである。 → https://support.microsoft.com/ja-jp/kb/161513 参照 Microsoft Excel には、散布図のデータ ポイントに自動的にテキスト ラベルを付ける組み込み コマンドはないが、この処理を実行する Microsoft Visual Basic for Applications (VBA) マクロを 作成することができる。この資料にはこの処理を実行するサンプル マクロが記載されている。 *散布図の打点にラベルを付与に関するExcel 資料は、 ラベル付き散布図 を参照のこと。

(4)

- 4 -

●グラフの打点にラベルとデータの付与

統計的品質管理のプログラミングでは、グラフの打点にラベルとデータを付与するニーズがある。 グラフの打点にラベルを付けるには、Point.ApplyDataLabels メソッドが使われる。 このメソッドについて、模擬的なX 管理図の例で以下に解説する。 ★対象のグラフ ラベルなし ラベル付き ★プログラム VBA 上のグラフには、3 つの系列があり、 系列1 → LCL 系列 2 → CL 系列 3 → UCL である。 各系列のデータポイント(5)に系列名とデータ(X)の値を記入するプログラムの例である。 グラフを選択してから、次のプログラムLABEL()を実行すると、上図のように、管理図の中心線 CL, 管理限界線LCL,UCL に、ラベルとデータが付与される。 *グラフの打点にラベルを付与するExcel プログラムは、 グラフのラベル付加 を参照のこと。 Sub LABEL() '中心線 Cl、管理限界線 LCL,UCL にラベルとデータを記入

Dim K As Integer 'k:群の数 K = 5 'LCL →系列(1)のデータポイント(k=5)に系列名とデータを記入する。 ActiveChart.SeriesCollection(1).Points(K).ApplyDataLabels ActiveChart.SeriesCollection(1).Points(K).DataLabel.Select Selection.ShowSeriesName = True ‘→系列名(LCL)を表示する。 Selection.ShowValue = True ‘→系列(1)のデータポイント(5)の値を表示する。 Selection.Separator = "=" ‘→系列名と値の仕切り記号”=”を表示する。 Selection.Position = xlLabelPositionRight ‘→打点の右側にデータラベルを配置 'CL ActiveChart.SeriesCollection(2).Points(K).ApplyDataLabels ActiveChart.SeriesCollection(2).Points(K).DataLabel.Select Selection.ShowSeriesName = True ‘→系列名(CL)を表示する。 Selection.ShowValue = True ‘→系列(2)のデータポイント(5)の値を表示する。 Selection.Separator = "=" ‘→系列名と値の仕切り記号”=”を表示する。 Selection.Position = xlLabelPositionRight ‘→打点の右側にデータラベルを配置 'UCL ActiveChart.SeriesCollection(3).Points(K).ApplyDataLabels ActiveChart.SeriesCollection(3).Points(K).DataLabel.Select

Selection.ShowSeriesName = True ‘→系列名(UCL)を表示する。

Selection.ShowValue = True ‘→系列(3)のデータポイント(5)の値を表示する。 Selection.Separator = "=" ‘→系列名と値の仕切り記号”=”を表示する。 Selection.Position = xlLabelPositionRight ‘→打点の右側にデータラベルを配置 End Sub 0 1 2 3 4 5 6 0 1 2 3 4 5 X 群No. X 管理図 LCL= 1 CL= 3 UCL= 5 0 1 2 3 4 5 6 0 1 2 3 4 5 X 群No. X 管理図

(5)

- 5 - ★データラベルの配置位置 データ ラベルが配置される位置は、Excel VBA ヘルプより、次のように指定できる。 ActiveChart.SeriesCollection(3).Points(K).ApplyDataLabels ActiveChart.SeriesCollection(3).Points(K).DataLabel.Select Selection.Position = xlLabelPositionRight 名 前 説 明 xlLabelPositionAbove データ要素の上にデータ ラベルを配置します。 xlLabelPositionBelow データ要素の下にデータ ラベルを配置します。

xlLabelPositionBestFit Microsoft Office Excel 2007 がデータ ラベルの位置を制御します。

xlLabelPositionCenter データ要素上あるいは横棒グラフまたは円グラフの内側でデータ ラベルを中央揃えします。 xlLabelPositionCustom カスタムの位置にデータ ラベルを配置します。 xlLabelPositionInsideBase データ要素下端の内側にデータ ラベルを配置します。 xlLabelPositionInsideEnd データ要素上端の内側にデータ ラベルを配置します。 xlLabelPositionLeft データ要素の左側にデータ ラベルを配置します。 xlLabelPositionMixed 複数の位置にデータ ラベルを配置します。 xlLabelPositionOutsideEnd データ要素上端の外側にデータ ラベルを配置します。 xlLabelPositionRight データ要素の右側にデータ ラベルを配置します。

(6)

- 6 -

●グラフ データ系列の追加

パレート図は、棒グラフと折線グラフを組み合わせたグラフであり、グラフには複数の系列がある場 合がある。系列はSeries オブジェクトで表され、Series オブジェクトの集合体が SeriesCollection(コ レクション)であり、SeriesCollection(コレクション)はデータ系列を表す。 パレート図の場合は、系列 1(コレクション 1)として、不適合品数の棒グラフを作成し、その後、 系列2(コレクション 2)として、累積百分率の折線グラフを作成する必要がある。 系列 1 の不適合品数の棒グラフに、系列 2 の累積比率の折線グラフと第 2 軸を追加するプログラム VBA を以下に示す。 Sub 系列 2 の追加() '累積百分率のグラフ追加 →系列2:累積百分率の折れ線グラフの追加 ActiveChart.SeriesCollection.NewSeries '→新しい系列の追加 →系列 2 ActiveChart.SeriesCollection(2).Name = Cells(4, 6) '→累積百分率 ActiveChart.SeriesCollection(2).Values = Range(Cells(5, 6), Cells(11, 6)) ActiveChart.SeriesCollection(2).XValues = Range(Cells(5, 2), Cells(11, 2)) '第 2 軸の追加 ActiveChart.SeriesCollection(2).Select ActiveChart.SeriesCollection(2).AxisGroup = xlSecondary '→第 2 軸の追加 ActiveChart.SeriesCollection(2).Select ActiveChart.SeriesCollection(2).ChartType = xlLineMarkers '→折線グラフ End Sub 詳細は、 → グラフの系列追加 を参照のこと。

(7)

- 7 -

●グラフの基点変更

左下の折線グラフ(累積比率)は、原点からスタートしていないので、折線グラフ(累積比率)のデ ータの選択範囲を変更し、折線グラフの基点を変更し、右下のように、折線グラフが原点からスタート するグラフを作成する。この方法は、パレート図の作成に展開することができる。 折れ線グラフの基点変更に関するVBA コードは次のとおりである。 Sub 基点変更() '折線グラフのデータ範囲の変更 →タイトルを含めたデータ範囲を選択 ActiveChart.SeriesCollection(2).Values = Range(Cells(4, 6), Cells(11, 6)) ActiveChart.SeriesCollection(2).XValues = Range(Cells(4, 2), Cells(11, 2)) '折線グラフの第 2 横軸を表示にする

ActiveChart.SetElement (msoElementSecondaryCategoryAxisShow) '項目軸(横軸)の基点変更

ActiveChart.Axes(xlCategory, xlSecondary).Select

ActiveChart.Axes(xlCategory, xlSecondary).AxisBetweenCategories = False '折線グラフの第 2 横軸を非表示にする ActiveChart.SetElement (msoElementSecondaryCategoryAxisWithoutLabels) '累積比率の縦軸の表示を小数点以下 0 桁の%表示とする ActiveChart.Axes(xlValue, xlSecondary).Select Selection.TickLabels.NumberFormatLocal = "0%" End Sub 詳細は、 → グラフの基点変更 を参照のこと。

(8)

- 8 -

●グラフの完成

上記の手順で作成した各種類のグラフに次の操作を行いクラフとして完成する。 ・凡例の削除 ・グラフのタイトルの設定 ・グラフの軸ラベルの設定 ・軸のスケールの変更 具体的な手順と VBA コードについては、QC 七つ道具の代表的なグラフであるパレート図を対象に して次の資料にて解説する。 →詳細なExcel 資料は パレート図の作成 を参照のこと。

●グラフのコピー

完成されたグラフは、同一シート又は別シートの適切な位置にコピー又は移動することができる。 →具体的なExcel 資料は、グラフのコピーと移動 を参照のこと。

●参考情報

その他の詳細なグラフの操作に関しては、下記の資料を参照のこと。 *Excel VBA@Workshop http://excel.style-mods.net/tips_vba/tips_vba_6_01.htm ★パレート図の作成手順 次の手順を実行することにより、正式なパレート図として完成される。 *不適合品数の棒グラフの作成 *累積百分率の折線グラフの作成 *折線グラフの基点変更 *縦軸の目盛線 → 消去 *凡例の削除 *不適合品数の棒グラフ ・間隔=0 ・枠線の色 → 黒 *累積百分率の折れ線グラフ ・打点のマーク変更 ■ → ● *軸のスケール 最大値の変更 ・主縦軸 不適合品数 250 → 合計 512 ・第2縦軸 累積百分率 1.2 → 100% *グラフのタイトル → 「パレート図」 *軸ラベル ・主縦軸 → 「不適合品数」 ・第2縦軸 → 「累積百分率」 *データ数の記入 → n=512

参照

関連したドキュメント

SVF Migration Tool の動作を制御するための設定を設定ファイルに記述します。Windows 環境 の場合は「SVF Migration Tool の動作設定 (p. 20)」を、UNIX/Linux

l 「指定したスキャン速度以下でデータを要求」 : このモード では、 最大スキャン速度として設定されている値を指 定します。 有効な範囲は 10 から 99999990

腐植含量と土壌図や地形図を組み合わせた大縮尺土壌 図の作成 8) も試みられている。また,作土の情報に限 らず,ランドサット TM

パスワード 設定変更時にパスワードを要求するよう設定する 設定なし 電波時計 電波受信ユニットを取り外したときの動作を設定する 通常

サンプル 入力列 A、B、C、D のいずれかに指定した値「東京」が含まれている場合、「含む判定」フラグに True を

なお、保育所についてはもう一つの視点として、横軸を「園児一人あたりの芝生

 まず STEP1 の範囲を確認→ STEP2 、 3 については、前段の結果を踏まえ適宜見直し... 2.-③ TIP機器の動作確認

保安規定第66条条文記載の説明備考 表66-12電源設備 66-12-1常設代替交流電源設備①