Excelで動的な製品請求書を作成する

Excelで動的な製品請求書を作成する

Excel で動的な請求書を作成しようとしています。動的な部分とは、ユーザーがリストから請求書の対象となる店舗を選択できる点です。店舗を選択した後、利用可能な項目が表示されるようにしたいと考えています。

私のワークブックの 1 つのシートには、店舗、製品、各店舗で取り扱っている製品 (2 つの間の交差レコード) を定義するさまざまなテーブルがすべて含まれています。私の例では、「Corner Market」は 4 つの製品すべてを取り扱っていますが、「Tim's Hardware」では 1/2 インチのワッシャーとドリル ビット セットのみを取り扱っています。

ユーザーが適切なストア (N3 と N21) を選択するたびに、リンクされたスクリーンショットの N5 と N23 のような動的なテーブルを生成したいと思います。そのため、ストア名の値が変わるとテーブルも変わります。(請求書を 1 つだけ生成したいのですが、スクリーンショットには例として 2 つ含めました。) ユーザーは数量値を入力して、各明細の価格と請求書の合計金額を生成できます。

このようなことを実現するための最善の方法についてアドバイスを求めています。可能であれば、VBA マクロの使用は避けたいと思っています。ピボット テーブルが解決策になるか、データの関係性に関するもの (あまり詳しくありません) が解決策になると思います。

スクリーンショット:https://i.stack.imgur.com/ICZDW.png

どのような助けでも大歓迎です。よろしくお願いします!

答え1

3 つのテーブルを Power Pivot のデータ モデルに追加できます。

ただし、Power Pivotは「Power Pivot はどこにありますか?'. それらの関係は次の図のようになります。

ここに画像の説明を入力してください

店舗ID表2および製品番号表 3 は主キー フィールドです。

その後、Power Pivot テーブルを作成できます。

ここに画像の説明を入力してください

店名フィルターフィールドにすることができます。製品名は行フィールドにすることができ、単価は値フィールドにすることができます。

ただし、数量と価格の列は次の列に書き込むことができます。

価格タイトルの下に数式を入力できます。=IF(P12="","",GETPIVOTDATA("[Measures].[Sum of Unit Price]",$N$11,"[Table3].[Product Name]","[Table3].[Product Name].&[1/2"" Washer]")*P12)数式をドロップダウンして、十分な範囲のデータをカバーするようにしてください。たとえば、範囲を選択します。Q12:Q21価格の値を取得します。GETPIVOTDATA("[測定値].[単価の合計]",$N$11,""[表3].[商品名]","[表3].[商品名].&[1/2"" ワッシャー]")代わりにマウスを使用して O12 を選択することもできます。

合計には、数式を入力できます=IF(SUM(Q12:Q21)>0,SUM(Q12:Q21),"")

ここに画像の説明を入力してください

関連情報