LoginSignup
1
1

Excel でグラフ範囲を自動的に更新する方法、あるいは SERIES は関数なのか

Posted at

Excel でグラフ範囲を自動的に更新したいことってありますよね。ここでグラフの系列を選択すると、数式バーに =SERIES() という数式が表示されています。

excel-chart.png

この =SERIES() に対し動的に値を設定してあげたいということになります。しかし、=SERIES() のカッコ内に OFFSET などの関数をセットしても その関数は正しくありません。 というエラーになってしまいます。

excel-series-function.png

結論としては、Microsoft Learn の記事にある通り名前の定義 機能で参照範囲に名前を付け、それを =SERIES() に設定する必要があります。

excel-defined-name.png

excel-chart-dynamic.gif

=SERIES() は Excel 関数なのか

ところで、この妙な制約がある =SERIES() は Excel 関数の一種なのでしょうか。少なくとも公式の Excel 関数の一覧 には載っていません。もちろん、Excel VBA の WorksheetFunction オブジェクトから呼び出せるワークシート関数の一覧にもありません。

一方、Excel VBA のドキュメントには Series オブジェクト および関連する SeriesCollection オブジェクト が登場します。これらはグラフの系列を操作するときに参照するオブジェクトです。

Sub Change_Series()

    ActiveChart.SeriesCollection(1).Formula = "=SERIES(Sheet1!$B$1,Sheet1!$A$2:$A$4,Sheet1!$B$2:$B$4,1)"

End Sub

従って、系列の数式(Series Formula)が数式バーで表示・編集できるようになっているだけで、通常の関数とは異なるものという理解が良さそうです。ただ Microsoft の公式ドキュメントで明確にそう述べている箇所を見つけることはできず、同様の解釈Microsoft Support Community で紹介されていた程度です。もし真相をご存知の方がいらっしゃれば、コメント欄等でご教授いただけますと幸いです。

参考リンク

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1