web-dev-qa-db-ja.com

Excel2010で動的な名前付き範囲を使用してグラフを作成する

動的な名前付き範囲を使用してExcel2010で散布図を作成しようとしていますが、機能させるのに問題があります。失敗している簡単な例を次に示します。

  1. Excelを開き、新しいブックを開始します

  2. データを入力してください: Numbers entered in cells A1:B5

  3. セルD1に、_$A$1:$B$5_と入力します。 (私の実際のシートでは、これは動的に計算されますが、手動入力にはまだ問題があります)。

  4. リボンで、[数式]、[名前の定義]の順にクリックします。以下に示すように、=INDIRECT(Sheet1!$D$1)を使用して、_MyRange1_をシートローカル名として定義します。 New Name dialog

  5. [OK]をクリックして、散布図を挿入します。

  6. [データの選択]ダイアログを開き、_='Sheet1'!MyRange1_と入力します Select Data dialog

  7. Excelがクラッシュする...

Microsoft Excel has encountered a problem and needs to close.

この問題は、Windows XPとWindows7 with Excel 2010の両方で発生し、毎回繰り返されます。


私も試しました:

  • Xおよびyデータの個別の範囲を定義し、[系列の編集]ダイアログを使用します。 X値フィールドに_='Sheet1'!MyXRange_を入力すると、Excelはダイアログを終了するエスケープキーを除いて、キーボードとマウスの入力の受け入れを停止します。ダイアログに戻ると、クラッシュしますか。

  • 名前付き範囲をワークシートではなくブックにスコープします。これは実際にはクラッシュを停止しますが、_=MyRange1_または_='Sheet1'!MyRange1_のどちらを入力したかに応じて、[データの選択]ダイアログでエラーが発生します。

Reference is not valid.A formula in this workbook...


これは既知の問題ですか、それとも報告する場所がありますか?ここにExcel 2007または2003がないため、問題が2010に限定されているかどうかを確認できません。これが機能しない場合は、動的な名前付き範囲の代わりにVBAを使用するだけです。


更新:私はそれを理解したと思いました(回答を投稿しましたが、今は削除しました)。セルD1 = $ A $ 1:$ B $ 5の値をD1 = 'Sheet1'!$ A $ 1:$ B $ 5に変更すると、グラフが正しく作成されます。ただし、グラフが作成されたときは動的ではないようです。現在の値を使用してXシリーズとYシリーズを作成しただけなので、D1を変更してもグラフは更新されません。

3
Justin
  1. INDIRECTを使用して範囲を定義すると、グラフは範囲を正しく使用しないことが多く、これらの名前付き範囲を受け入れないこともよくあります。たとえばINDEXやOFFSETを使用して、ダイナミックレンジを定義するためのより良い(より堅牢な)方法があります。

  2. 名前がグラフで認識される場合でも、[データソースの選択]ダイアログの[グラフのデータ範囲]ボックスのセルアドレスに変換されます。名前は、個々のシリーズごとに、X、Y、およびシリーズ名の範囲でのみ保持されます。

  3. セルD1のシート名を範囲の前に付けると、グラフには完全修飾範囲が必要であるため、セルD1にSheet1!$A$1:$B$5が含まれている場合は、[データソースの選択]ダイアログの[グラフデータ範囲]ボックスで定義した名前を使用できます。ポイント2ごとに、[OK]をクリックすると、Excelはこの範囲をセルアドレスに変換することに注意してください。

3
Jon Peltier

以下のリンクと私の個人的なテストによると、次の形式でデータ系列を入力する必要があります

'WorkbookName.xls'!RangeNameX

名前が動的である場合、結果のグラフも動的になります。動的な名前付き範囲に使用した式は次のとおりです(状況に合わせて変更し、X範囲とY範囲の両方に使用します)。

=OFFSET($A$1,0,0,MATCH(1E+306,$A:$A,1),1)

これは、チャートに新しく追加された値を追加する限り、チャートを動的にするために機能しました(チャートを更新する前にX値とY値の両方が必要です)。

チャートの設定方法のソース-Microsoft Q&Aサイトダイナミックレンジを使用するためのホットソース-OZGrid

3
Erik H

これが動的チャートの作成方法です。

  1. データからテーブルを作成します。

    enter image description here

  2. 表を強調表示する
  3. [挿入]タブに移動して、必要なチャートのタイプを選択します。

enter image description here

テーブルにデータを追加すると、チャートにも更新されます。

enter image description here

2
CharlieRB