選択したセルによるグラフ

あなたと私が、2021 年のさまざまな国別の自動車販売額を含む次の表のデータを視覚化する必要があるとします (ちなみに、ここから取得した実際のデータ)。

選択したセルによるグラフ

データ系列 (国) の数が多いため、一度にすべてを XNUMX つのグラフに詰め込もうとすると、ひどい「スパゲッティ チャート」になるか、系列ごとに別々のグラフを作成することになり、非常に面倒です。

この問題に対する洗練された解決策は、現在の行、つまりアクティブ セルが配置されている行のデータのみにグラフをプロットすることです。

これを実装するのは非常に簡単です。3 つの式と XNUMX つの小さなマクロを XNUMX 行で入力するだけです。

ステップ 1. 現在の行番号

最初に必要なのは、アクティブ セルが配置されているシートの行番号を計算する名前付き範囲です。 タブで開く 数式 – ネーム マネージャー (数式 — ネーム マネージャー)、ボタンをクリックします 創造する (作成) そこに次の構造を入力します。

選択したセルによるグラフ

ここに:
  • First Name – 変数に適した任意の名前 (この場合、これは TekString です)
  • エリア – 以下では、作成された名前がローカルになるように、現在のシートを選択する必要があります
  • レンジ – ここで関数を使用します CELL (細胞)、必要な行番号を含む、特定のセルのさまざまなパラメーターの束を発行できます。「行」引数がこれを担当します。

ステップ 2. タイトルへのリンク

選択した国をチャートのタイトルと凡例に表示するには、最初の列から (国) 名を持つセルへの参照を取得する必要があります。 これを行うには、別のローカルを作成します (つまり エリア = Book ではなく、現在のシート!) 次の式の名前付き範囲:

選択したセルによるグラフ

ここで、INDEX 関数は、指定された範囲 (署名国がある列 A) から、以前に決定した行番号のセルを選択します。

ステップ 3. データへのリンク

同様の方法で、アクティブ セルが配置されている現在の行からすべての売上データを含む範囲へのリンクを取得してみましょう。 次の式で別の名前付き範囲を作成します。

選択したセルによるグラフ

ここでは、ゼロである XNUMX 番目の引数により、INDEX は単一の値ではなく、結果として行全体を返します。

ステップ 4. チャート内のリンクを置き換える

次に、テーブル ヘッダーとデータ (範囲) を含む最初の行を選択し、それらに基づいてグラフを作成します。 挿入 – チャート (挿入 — チャート). グラフでデータのある行を選択すると、関数が数式バーに表示されます (シリーズ) は、元のデータとラベルを参照するためにグラフを作成するときに Excel が自動的に使用する特別な関数です。

選択したセルによるグラフ

この関数の最初の (署名) と 2 番目の (データ) 引数を、手順 3 と XNUMX の範囲の名前に慎重に置き換えましょう。

選択したセルによるグラフ

チャートは、現在の行から売上データの表示を開始します。

ステップ 5. 再計算マクロ

最後の仕上げが残っています。 Microsoft Excel は、シート上のデータが変更されたとき、またはキーが押されたときにのみ数式を再計算します。 F9、選択が変更されたとき、つまりアクティブなセルがシート上を移動したときに再計算が行われるようにします。 これを行うには、ワークブックに単純なマクロを追加する必要があります。

データシートのタブを右クリックし、コマンドを選択します ソース (ソースコード). 開いたウィンドウで、選択変更イベントのマクロ ハンドラのコードを入力します。

選択したセルによるグラフ

ご想像のとおり、アクティブ セルの位置が変更されるたびに、シートの再計算がトリガーされるだけです。

ステップ 6. 現在の行を強調表示する

わかりやすくするために、条件付き書式ルールを追加して、現在グラフに表示されている国を強調表示することもできます。 これを行うには、テーブルを選択して ホーム — 条件付き書式 — ルールの作成 — 数式を使用して書式設定するセルを決定する (ホーム — 条件付き書式 — 新しいルール — 数式を使用して、書式設定するセルを決定します):

選択したセルによるグラフ

ここで、数式は、テーブル内の各セルの行番号が TekRow 変数に格納されている番号と一致することを確認し、一致する場合は、選択した色で塗りつぶしがトリガーされます。

それだけです。シンプルで美しいですね。

ノート

  • 大規模なテーブルでは、この美しさすべてが遅くなる可能性があります。条件付き書式設定はリソースを大量に消費するものであり、選択ごとの再計算も重くなる可能性があります.
  • 表の上または下にあるセルが誤って選択された場合にチャート上でデータが消えるのを防ぐために、次の形式のネストされた IF 関数を使用して、TekRow 名に追加のチェックを追加できます。

    =IF(CELL(“行”)<4,IF(CELL(“行”)>4,CELL(“行”)))

  • チャート内の特定の列を強調表示する
  • Excel でインタラクティブなグラフを作成する方法
  • 座標選択

コメントを残す