Davidは、会社ごとの売上を数か月にわたって追跡するために使用するワークシートを持っています。会社名は列Aにあり、最大15か月の売上は列B:Pにあります。 Davidは、ワークシートから1つの会社の売上を表示するように動的に変更できるグラフを作成したいと考えています。

これを行うにはいくつかの方法があります。このヒントでは、そのうちの3つを調べます。例として、ワークシートの名前がMyDataであり、最初の行にデータヘッダーが含まれていると仮定します。会社名はA2:A151の範囲にあり、それらの会社の販売データはB2:P151にあります。

1つのアプローチは、Excelのオートフィルター機能を使用することです。通常どおりにグラフを作成し、MyDataワークシートの行からデータ系列を描画するようにグラフが構成されていることを確認します。また、チャートを独自のシートに配置する必要があります。

次に、MyDataでA1を選択し、オートフィルターを適用します。 (リボンの[データ]タブを表示し、[フィルター]ツールをクリックします。)各列の上部に小さなドロップダウン矢印が表示されます。列Aのドロップダウン矢印をクリックして、グラフに表示する会社を選択します。 Excelは、単一の会社のみを含むようにグラフを再描画します。

AutoFilterアプローチの唯一の潜在的な欠点は、チャートに表示されているのは1つだけですが、各企業が独立したデータ系列と見なされることです。それらは独立しているため、各企業は異なる色でグラフ化されています。同じチャートカラーを常に使用したい場合は、他のアプローチのいずれかを使用する必要があります。

この問題に取り組むもう1つの方法は、「中間」データテーブルを使用することです。これは動的に作成され、より大きなデータテーブルから必要な情報のみを取得します。チャートは、動的中間テーブルに基づいています。次の手順に従ってください:

。新しいワークシートを作成し、「ChartData」のような名前を付けます。

。 MyDataワークシートからChartDataシートの2行目に列ヘッダーをコピーします。 (つまり、MyData!A1:P1をChartData!A2:P2にコピーします。これにより、ChartDataシートの最初の行が一時的に空になります。)

。 MyDataワークシートが表示された状態で、リボンの linkDevelopertabを表示します。

。 [コントロール]グループの[挿入]ツールを使用して、MyDataワークシートのどこかにコンボボックスコントロールを描画します。 (ActiveXコントロールコンボボックスではなく、フォームコントロールコンボボックスを使用していることを確認してください。)

。新しく作成したコンボボックスの[フォーマットコントロール]ダイアログボックスを表示します。

(コンボボックスを右クリックして、フォーマットコントロールを選択します。)

。ダイアログボックスのコントロールを使用して、入力範囲をMyData!$ A $ 2:$ A $ 151として指定し、セルリンクをChartData!$ A $ 1として指定し、ドロップダウンラインを25(または任意の数値)として指定します。 (図1を参照)

。 [OK]をクリックして、ダイアログボックスを閉じます。これで、機能するコンボボックスができました。これを使用して会社名を選択すると、選択した内容を示す値がChartDataワークシートのセルA1に配置されます。

。 ChartDataワークシートが表示されたら、セルA3に次の数式を入力します。

。セルA3の内容を範囲B3:P3にコピーします。行3には、コンボボックスで選択された会社のデータが含まれています。

。セルB1に次の数式を入力します。 (この数式の結果は、動的チャートのタイトルとして機能します。)

。列ヘッダーとデータ(B2:P3)を選択し、このデータに基づいてグラフを作成します。グラフのタイトルをプレースホルダーテキストに設定します。今は何でも構いません。

。完成したチャートで、チャートのタイトルを選択します。

。数式バーに次の数式を入力します:

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(7887)は、Microsoft Excel 2007、2010、および2013に適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。