• ベストアンサー

エクセルのグラフ関数

範囲をいちいち指定し直すのが面倒なので、ワークシート上ではindirect関数を多用しているのですが、グラフでも同様のことができるかどうか、教えてください。 例えば、グラフを作成するとツールバーに =SERIES('Sheet1'!$C$7,'Sheet1'!$B$8:$B$318,'Sheet1'!$C$8:$C$318,1) というような関数が現れますが、これにindirect関数を入れてもエラーではじかれてしまいます。 予めグラフにしたい範囲をセルに入力しておいて、その情報をグラフ関数に反映させるやり方があればご教授ください。 質問がわかりにくければ補足いたしますので、宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

このようなサポートがありますが... 「Excel で名前付け範囲を使用して動的なグラフを作成する」 http://office.microsoft.com/ja-jp/assistance/HA011098011041.aspx

gucchi-you
質問者

お礼

ありがとうございます。やりたいことの半分ぐらいはできそうです。早速試してみます。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

自分自身も知らなかったし、WEBで「エクセル グラフ関数」で照会すると、「グラフ関数」なる言葉は出てきません。 この言葉を使うのはどうかと思いますが、私の無知でしょうか。 エクセルの関数はセルの値しか返さない(OFFSET関数だけ範囲を返すようだが)ので、、質問は不可能な話ではないでしょうか。 --- セル範囲を可変や選択性にするなら、VBAでRANGEをかえる方法があると思いますが。 質問内容と変わりますが Sub test01() p1: Set x = Application.InputBox("hanni=", Type:=8) If x.Address = "$D$1" Then Exit Sub Charts.Add ActiveChart.ChartType = xlLineMarkers ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range(x.Address) ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1" ActiveWindow.Visible = False GoTo p1 End Sub つたないがこんな感じ。 データ系列を範囲指定すると、グラフが増えます。D1だけを指定すると終わります。

gucchi-you
質問者

お礼

ありがとうございます。No.1さんのURLを見てみました。SERIES関数と呼ぶのですね。やはり普通の関数のようには扱えないみたいです。教えていただいたVBAも試してみます。

関連するQ&A