忍者ブログ

mshencity

Excel でテーブル ヘッダーからドロップダウンを作成するのは不可能に思えますが、このトリックで問題は解決します。

完璧な Excel テーブルを作成しましたが、そのヘッダーをドロップダウン メニューで使用しようとした瞬間に、すべてが壊れてしまいます。 Excel のデータ検証はテーブルにうるさいことで有名ですが、賢い回避策があります。したがって、メニューのハードコーディングをやめて、代わりにこの動的同期を使用してください。

という名前の書式設定された Excel テーブルがあると想像してください。 T_在庫。ルックアップ領域には、2 つのドロップダウン メニューが必要です。1 つは製品を選択するためのセル H2 で、もう 1 つは属性 (コストやサプライヤーなど) を選択するためのセル I1 です。両方を選択すると、セル I2 は正しい結果を返すはずです。
























Excel の在庫テーブル。右側に製品が選択されたときに属性を返す検索領域があります。




これから紹介する方法を使用しないと、セル I1 に属性を手動で入力する可能性があります。ただし、これにより検索の自動化が即座に停止され、スプレッドシートがあまり専門的ではなくなり、1 回のタイプミスでプロセスが中断されてしまいます。

もう 1 つのオプションは、データ検証ルールで固定範囲 $A$1:$E$1 を指すことです。この方法の問題は、テーブルに新しい列を追加しても、参照される範囲が自動的に拡張されないことです。

つまり、テーブルが大きくなるたびに自動的に更新されるメニューが必要になります。



テーブルがデータ検証を中断する理由

Excel テーブルは構造化参照 (T_Inventory(#Headers) など) を使用します。これは、データが変更されたときに自動的に調整されるため、優れています。問題は、データ検証が特定の範囲のセルまたは定義された名前を予期しているにもかかわらず、テーブルが使用する括弧で囲まれた構造化参照構文をネイティブに理解していないことです。

これを回避するには、テーブルとデータ検証ツールの間のブリッジとして名前付き範囲を使用します。























角括弧と @ 記号で囲まれた Excel ロゴを特徴とする図と、二重角括弧を使用した数式の例。


















Excel の数式に二重角括弧が含まれるのはなぜですか?




角括弧がたくさんあると乱雑に見えるかもしれませんが、これには理由があります。




























この検索エンジンを構築するには 3 つの手順が必要です。ただし、ステップ 2 では、単一の ヒーロー トリックが明らかになります。ドロップダウン メニューを真にダイナミックで破壊不可能にする賢いブリッジです。



ステップ 1: 製品の名前付き範囲を作成する (セル H2)


データ検証は構造化参照を嫌いますが、名前付き範囲を好みます。これは、製品リストをルックアップ領域に取得する最もクリーンな方法です。

まず、Product 列のすべてのセルを選択します。







カーソルが黒い下向き矢印に変わるまで、Product ヘッダー セルの上端にマウスを置き、1 回クリックします。これにより、ヘッダーを選択せず​​に、その列のデータが選択されます。




























Product 列が選択された Excel の在庫表。




次に、名前ボックスに覚えやすい名前を入力します (例: 製品一覧) を入力して Enter を押します。
























Excel テーブルの列 A には、名前ボックスで範囲名 ProductList が割り当てられます。










この名前付き範囲はテーブルの一部であるため、新しい行を追加すると自動的に拡張されます。





次に、セル H2 (製品のドロップダウン リストが表示される場所) を選択し、[データ]タブで[データ検証]をクリックします。
























Excel でプレースホルダー「製品名」を含むセルが選択され、「データ」タブの「データ検証」が強調表示されます。




最後に、[許可]フィールドで[リスト]を選択し、等号 (=) に続いて作成した名前を入力し、[OK]をクリックします。
























Excel のデータ検証ダイアログ ボックスの[許可]フィールドでリストが選択されており、ソースとして =ProductList が入力されています。




ここで、セル H2 を選択すると、製品のドロップダウン リストが表示されます。
























製品のドロップダウン リストが Excel のセルから展開されます。


























Microsoft Excel のドロップダウン リスト。左側にリスト項目を含む列があり、右側にラップトップが表示されます。


















Excel のデータ列からドロップダウン リストを作成する方法




どの方法を使用するかは、データの形式によって異なります。





























通常、データ検証ではテーブル ヘッダーのドアが閉ざされますが、動的な名前付き範囲を作成することでその制限を回避できます。これを行うには、まず、[数式]タブで、[名前マネージャー]をクリックします。次に、「新規」をクリックします。
























Excel の名前マネージャーはリボンの[数式]タブから開き、ダイアログで[新規]を選択します。




「名前」フィールドに次のように入力します。 ヘッダーリスト。次に、[参照先]フィールドの内容をすべて削除し、空になったフィールドにカーソルを置いて、テーブル内のすべてのヘッダーを選択します。フィールドにテーブル ヘッダーへの構造化された参照 (セルの直接参照ではなく) が含まれていることを確認します。

=T_Inventory(#Headers)























Excel の[新しい名前]ダイアログ。[名前]フィールドに HeaderList が入力され、[参照先]フィールドにテーブル ヘッダーが選択されています。




次に、「OK」および「閉じる」をクリックしてダイアログボックスを閉じます。

ここで、セル I1 (属性ドロップダウンが表示される場所) を選択し、手順 1 で行ったのと同様に、データ検証ダイアログの[許可]フィールドで[リスト]を選択します。ただし、今回は、[ソース]フィールドに等号 (=) と、その後に作成した名前を入力します。
























名前付き範囲 HeaderList が Excel のデータ検証ダイアログのソース フィールドに入力されます。




[OK]をクリックすると、セル I1 のドロップダウン メニューにテーブル ヘッダーが含まれていることがわかります。
























テーブル ヘッダーのドロップダウン リストが Excel のセルから展開されます。




他の方法とは異なり、このリンクは完全に動的です。列ヘッダーまたはテーブル全体の名前を変更しても、名前マネージャーは自動的に更新され、ドロップダウン メニューが壊れることはありません。



ステップ 3: エンジンの式 (セル I2)


セル H2 で製品が選択され、セル I1 で属性が選択されている場合、すべてをまとめるためにもう 1 つの数式が必要です。この場合、INDEX と MATCH を使用する必要があります。

=INDEX(T_Inventory,MATCH(H2,T_Inventory(Product),0),MATCH(I1,T_Inventory(#Headers),0))























Excel の INDEX-MATCH 式は、ドロップダウン メニューで製品とテーブル ヘッダーが選択されると、倉庫名を返します。










数式内の列名 ((Product)) がテーブルの最初の列名と正確に一致していることを確認してください。





式の仕組みは次のとおりです。



  • INDEX(T_在庫...): これはデータセット全体のマップです。


  • 一致(H2...): これにより、製品の特定の行が検索されます。


  • 一致(I1...): これにより、属性の特定の列が検索されます。


次に、ルックアップを試してみましょう。別の製品と属性を選択し、セル I2 の更新で結果を確認します。ただし、セル I1 で「コスト」を選択すると、セル I2 の結果は通貨ではなく、書式設定されていない単純な数値になることがわかります。
























INDEX-MATCH 式によって返されるコストは、単純な数値としてフォーマットされます。




これは、セル I2 がカメレオンであり、列全体で異なるタイプのデータを切り替えているためです。しかし、心配しないでください。これを修正する簡単な方法があります。



フォーマットの問題を修正する

「コスト」を選択したときにセル I2 の結果が通貨として表示されるようにするには、簡単な条件付き書式ルールを入力する必要があります。







セルを選択し、[ホーム]タブで[条件付き書式]>[新しいルール]をクリックします。
























単純な数値 (通貨である必要があります) を含むセルが選択され、「条件付き書式設定の新しいルール」が強調表示されます。




ここで、[数式を使用して書式設定するセルを決定する]をクリックし、ダイアログの下部にあるフィールドに次のように入力します。

=$I$1="Cost"























Excel の[新しい書式設定ルール]ダイアログで[数式を使用する...]が選択され、空の数式フィールドに短い数式が入力されます。




次に、[書式]をクリックし、[数値]タブで[会計]または[通貨]を選択し、正しい記号が選択されていることを確認します。次に、[OK]を 2 回クリックして両方のダイアログ ボックスを閉じます。
























Excel の[セルの書式設定]ダイアログ ボックスで[Accounting]が選択され、記号として USD が選択されています。


























Excel スプレッドシート、電卓、ドル紙幣、メガネが横に置かれたノートの上面図。中央に Excel のロゴが付いています。


















Excel の通貨と会計番号の形式: 違いは何ですか?




財務スプレッドシートを見た目の一部にしましょう。




























ここで、セル I1 に「コスト」という単語が含まれる場合、セル I2 の結果が選択した通貨に自動的に変わります。
























ワイヤレス ヘッドセットのコストは、ドロップダウン メニューと INDEX-MATCH 式のおかげで Excel で返されます。










他の数値形式にも同じ方法を使用します。たとえば、日付の場合、数式は =$I$1="Date" となり、数値形式の選択は "Date" になります。テキスト列と標準の数値列には特別な書式設定は必要ありません。







最終テスト: 列を追加する

この設定の本当の威力は、変化をどのように処理するかにあります。セル F1 (表の右側の最初のセル) に、次のように新しい列ヘッダーを入力します。 再入荷しました新しいテーブル列を作成します。次に、セル I1 のドロップダウンを展開すると、新しい列ヘッダーがすでに存在していることがわかります。
























新しい列が Excel テーブルに追加され、同じ列が別のセルのデータ検証ドロップダウン リストに表示されます。





データ検証ドロップダウン リストは、実際には思っているよりも便利です。これらを使用してテーブル ヘッダー セレクターを作成するだけでなく、選択内容に基づいて更新される動的なグラフを作成することもできます。自動化をさらに進めたい場合は、あるメニューのオプションが別のメニューで選択した内容に基づいて変化する、依存するドロップダウン リストを作成できます。





























































































OS








Windows、macOS、iPhone、iPad、Android








無料トライアル








1ヶ月















Microsoft 365 には、最大 5 台のデバイスで Word、Excel、PowerPoint などの Office アプリ、1 TB の OneDrive ストレージなどへのアクセスが含まれています。

















PR

コメント

プロフィール

HN:
No Name Ninja
性別:
非公開

P R