Excelで価格表を作成する方法|初心者向けステップバイステップ解説
単価、商品名、合計金額などの商品情報を一覧できる価格表は、ビジネスにおいて欠かせないツールです。本記事では、Excelを使って価格表を簡単に作成する手順を詳しく解説します。
さらに、記事内で紹介する無料テンプレートをダウンロードすれば、入力値を変更するだけで自社専用の最新価格表をすぐに作成できます。
ワークブックのダウンロード
Excelで価格表を作成する手順
ここでは、架空の企業「XYZ」を例に、価格表の書式を作成する流れを段階的に説明します。すべての手順が完了すれば、この会社の商品に対応した価格表が完成します。
ステップ1:価格表テンプレートの骨組みを作る
➤ まず、Data(データ)シートに商品詳細などの基本データを入力しておきます。商品詳細には、各商品の商品コード、商品名、単価、消費税(VAT)を含めます。

➤ 次に、「XYZ」社向けの価格表の基本レイアウトを作成します。

➤ 続いて、必要な箇所に固定の基本情報を入力していきます。会社名、住所、電話番号などを記入しましょう。必要に応じて、さらなる情報を追加することもできます。

➤ 価格表の作成日を自動表示させたい場合は、TODAY関数を使用します。

➤ 割引などの追加情報を載せたい場合は、価格リストの下に追記するとよいでしょう。

ステップ2:ドロップダウンリストを作成する
リストから選択するだけで商品コードを簡単に入力できるよう、ドロップダウンリストを作成します。
➤ ドロップダウンリストを設置したい商品コード列のセルを選択します。
➤ データタブ >> データツールグループ >> データの入力規則を選択します。

データの入力規則ダイアログボックスが表示されます。
➤ 入力値の種類ボックスでリストを選択します。
➤ 元の値ボックスに以下の数式を入力し、OKを押します。
=Data!$B$5:$B$13ここで、Data!はシート名、$B$5:$B$13はそのシート内で各商品の商品コードが入力されている範囲です。

これで、商品コード列のセルにドロップダウンのマークが表示され、リストから任意の商品コードを選択できるようになります。

➤ セルB9で商品コード801を選択した状態と、

同じセルで商品コード807を選択した状態です。

同様に、残りのセルでもリストからコードを選択していきます。

ステップ3:数式を使って価格表を自動化する
数式を活用すれば、入力値をいくつか与えるだけで価格表テンプレートを簡単に更新できます。
➤ セルC9に以下の数式を入力し、フィルハンドルを下方向へドラッグします。
=IFERROR(VLOOKUP(B9,Data!$B$4:$E$13,2,FALSE),"")ここで、B9は検索値、Data!$B$4:$E$13は検索対象の表範囲(Data!はシート名)、2は商品名列の列番号、FALSEは完全一致を指定する引数です。
VLOOKUPがエラーを返した場合も、IFERRORによって空白に変換されるため、表が崩れません。

これにより、商品列に対応する商品コードの商品名がすべて自動表示されます。

同様に、以下の数式を使えば、単価列とVAT列にも対応する値を自動的に取得できます。
=IFERROR(VLOOKUP(B9,Data!$B$4:$E$13,3,FALSE),"")
=IFERROR(VLOOKUP(B9,Data!$B$4:$E$13,4,FALSE),"")
➤ 数量(Qty)列に各商品の個数を入力します。

➤ セルF9に以下の数式を入力してVATを除く合計金額を求め、フィルハンドルを下へドラッグします。
=D9*E9ここで、D9は商品の数量、E9は各商品の単価です。

これで、金額列にVATを含まない各商品の合計金額が表示されます。

最後に、商品の最終価格を算出するため、金額にVATを加算します。
➤ セルH9に以下の数式を入力し、フィルハンドルを下へドラッグします。
=F9+F9*G9ここで、F9はVAT加算前の金額、G9はVATの税率です。

すると、合計金額列に各商品の最終合計金額が表示されます。

以上で、価格表の骨格が完成しました。

ステップ4:VBAで保存と再利用を可能にする
このセクションでは、2つのVBAコードを使用して、価格表を保存する機能と、新しい入力に備えてテンプレートを初期化する機能を実装します。
➤ 開発タブ >> Visual Basicを選択します。

Visual Basic Editorが開きます。
➤ 挿入タブ >> 標準モジュールを選択します。

新しいモジュールが作成されます。

➤ テンプレートをPDFファイルとして保存するために、以下のコードを記述します。
Sub savepricelist()
Set ws = Worksheets("Template")
ws.Range("A1:H22").ExportAsFixedFormat xlTypePDF, _
Filename:="C:\Users\USER\Downloads\" & "PriceList", _
openafterpublish:=False
End Sub
ここで、Templateはシート名、A1:H22は保存したいシートの範囲です。

➤ 次に、新しい入力に備えてデータをクリアするために、以下のコードを使用します。
Sub resumeList()
Range("B9:B17").ClearContents
Range("D9:D17").ClearContents
End Sub
このコードは、B9:B17とD9:D17の範囲の内容を消去します。

シートに戻り、これら2つのコードを実行するためのボタンを以下の手順で挿入します。
➤ 開発タブ >> 挿入グループ >> ボタンを選択します。

プラス記号(+)が表示されるので、それを下および右方向にドラッグします。

ボタンが作成されたら、右クリックします。

➤ マクロの登録オプションを選択します。

➤ マクロ名の一覧からsavepricelistを選択し、OKを押します。

➤ マクロを登録したら、ボタンの表示名をSAVEに変更します。

同様に、マクロresumelistを割り当てたRESUMEボタンも作成します。

➤ SAVEボタンをクリックすると、

以下のようなPDFファイルが出力されます。

また、RESUMEボタンをクリックすると、

入力済みのデータがすべて削除されます。

➤ ドロップダウンリストから任意の商品コードを選択し、その商品の数量を入力してみましょう。

すると、商品「りんご」の残りの情報が自動的に表示されます。

すべての商品コードと数量を入力すると、以下のように完成したシートになります。

まとめ
本記事では、Excelで効率的に価格表を作成するための最も簡単な方法を解説しました。ドロップダウンリストによる入力の簡略化、VLOOKUP関数による自動検索、VBAによる保存・初期化まで、実務ですぐに活用できる内容になっています。皆さんの業務にお役立ていただければ幸いです。ご質問やご提案があれば、お気軽にお寄せください。
関連記事
- Excelでメーリングリストを作成する方法(2つの手法)
- Excelのセル内にリストを作る方法(3つのクイックテクニック)
- 条件に基づいてExcelでユニークなリストを作成する方法(9つの手法)
- Excelで条件に応じたリストを生成する方法(4つの手法)
-
【Excel】テーブルからデータの入力規則リストを動的に作成する3つの方法
Excelのテーブルは、最下部に新しい要素を挿入すると自動的に拡張される動的な特性を持っています。この優れた機能があるため、テーブルはExcelユーザーのツールボックスの中でも最も有効な機能の一つとされています。データの入力規則(データバリデーション)リストを活用すれば、テーブルのデータに入力ミスや誤りが混入するのを防ぐことができます。ただし、テーブルに新しいデータを追加した際には、入力規則リスト側も更新が必要になる点に注意しましょう。本記事では、テーブルから動的なExcelデータ入力規則リストを作成する方法を詳しく解説します。 テーブルからデータの入力規則リストを作成する3つの効果的な方法
-
Excelで在庫エイジングレポートを作成する4つのステップ【初心者向け完全ガイド】
Excelで在庫エイジングレポートを作成する具体的な手順をお探しの方に、この記事はきっと役立ちます。在庫エイジングレポートとは、各商品が在庫として保管されてから売り切れるまでの期間を示すものです。この期間を分析することで、商品を「回転の速い在庫」「回転の遅い在庫」「滞留在庫」などに簡単に分類できます。それでは、本編を見ていきましょう。ワークブックのダウンロードExcelで在庫エイジングレポートを作成する4つのステップ在庫エイジングレポートの作成には、基本となる表の骨組みを作り、数式で必要な値を計算し、最後にデータセットをピボットテーブルへ変換してレポートを見やすく整えるといった工程が必要です。