doodle-on-web

自分で調べたことや、仕事の中で質問されたことなどをまとめています。

【Excel実践】VLOOKUPで仕入れ・サービスコストの転記ミスをなくす方法

スポンサーリンク


【Excel実践】VLOOKUPで仕入れ・サービスコストの転記ミスをなくす方法のサンプル ▲ Lookup サンプル

コスト転記のミスが、見積もり・請求書に直結する

商品の仕入れ価格、SaaSサービスの料金、外注費の一覧……。Excelで管理しているのに、毎回目で探して手入力していませんか?

手作業の転記は思った以上にコストがかかります。月に数十件の見積書を作るなら、1件あたり5分の転記作業だけで月間数時間が消えます。さらに入力ミスが1件の請求書エラーにつながれば、取引先との確認・修正対応で余分な工数と信頼の損失が生まれます。

この記事を読み終えると、商品コードやサービスIDを入力するだけでコストが自動表示されるシートを自分で作れるようになります。VLOOKUPの基本から、エラー対処・応用テクニックまでをステップごとに解説します。


VLOOKUPの基本構文をおさらい

=VLOOKUP(検索値, 範囲, 列番号, 検索の型)
引数 内容
検索値 調べたいキー(商品コードなど)
範囲 マスターデータが入っている表の範囲
列番号 取得したい値が左から何列目か
検索の型 FALSE(完全一致)を基本的に使う

コスト管理では「完全一致(FALSE)」を使うのが鉄則です。近似値(TRUE)で誤った単価を取得してしまうと、見積もり・請求金額に直接影響します。


実践例①:商品の仕入れコスト管理

マスターシートを用意する

「商品マスター」シートに以下のようなテーブルを作ります。

A列(商品コード) B列(商品名) C列(仕入れ単価)
P001 USBケーブル 1m 680
P002 モバイルバッテリー 10000mAh 2,400
P003 ワイヤレスマウス 1,850

発注シートでVLOOKUPを使う

発注管理シートのA列に商品コードを入力し、B列に以下を入力します。

=VLOOKUP(A2, 商品マスター!$A:$C, 3, FALSE)

A2P002 と入力すると、B列に自動で 2400 が表示されます。

範囲指定には $A:$C のように絶対参照($)を使いましょう。数式を下のセルにコピーしても範囲がズレず、正確なコストを取得し続けられます。


実践例②:サービス料金テーブルへの応用

次は、SaaSや外注サービスのプラン料金管理です。月額・年額の切り替えが必要な場面でも、VLOOKUPが力を発揮します。

サービス料金マスター

A列(プランID) B列(プラン名) C列(月額) D列(年額)
S01 スタータープラン 9,800 98,000
S02 ビジネスプラン 29,800 298,000
S03 エンタープライズ 98,000 980,000

月額・年額を動的に切り替える

列番号を変えるだけで取得する値を切り替えられます。さらに、セルのプルダウンと IF 関数を組み合わせると動的な列選択が可能です。

=VLOOKUP(A2, サービスマスター!$A:$D, IF(B2="月額", 3, 4), FALSE)

B2のプルダウンで「月額」「年額」を選ぶだけで、対応する料金が自動切り替えになります。


よくあるエラーと対処法

#N/A エラー:検索値がマスターにない

商品コードが存在しない場合などに発生します。IFERROR でラップして、エラーの代わりにメッセージを表示しましょう。

=IFERROR(VLOOKUP(A2, 商品マスター!$A:$C, 3, FALSE), "該当なし")

コスト集計シートで #N/A が混在すると合計がずれるため、必ず対処しておきましょう。

数値として扱われない問題

マスターの単価が文字列として入力されている場合(数字の前後にスペースがある、セルの書式が「文字列」になっているなど)、VLOOKUPで取得した値がそのまま文字列になり、SUM関数で合計できないことがあります。このときは VALUE() で明示的に数値へ変換します。

=VALUE(VLOOKUP(A2, 商品マスター!$A:$C, 3, FALSE))

データが増えても崩れない:テーブル機能との組み合わせ

ここまでの方法でも十分使えますが、商品やサービスが増えてくると「範囲の手動更新を忘れた」「列を挿入したら番号がズレた」という問題が起きがちです。マスターデータをExcelの「テーブル」として定義すると、行追加で範囲が自動拡張され、こうした問題をまとめて防げます。

  1. マスターデータを選択 → Ctrl + T でテーブル化
  2. テーブル名を 商品マスター に設定
  3. VLOOKUP内で構造化参照を使う
=VLOOKUP(A2, 商品マスター[#すべて], 3, FALSE)

商品を追記するたびに範囲を修正する手間がなくなり、メンテナンスが格段に楽になります。

Googleスプレッドシートをお使いの方へ: VLOOKUPの数式はExcelとまったく同じ構文で動作します。テーブル機能は「名前付き範囲」で代替できます。


まとめ

用途 ポイント
商品仕入れコスト 商品コードをキーに単価を自動取得
サービス料金 列番号を切り替えて複数プランに対応
エラー対策 IFERROR#N/A をキャッチ
数値変換 VALUE() で文字列→数値に変換
メンテナンス性 テーブル機能で範囲を自動拡張

VLOOKUPによるコスト管理は、転記ミスをなくし、見積書・請求書・発注書の作成を大幅に効率化します。

今日の最初の1アクション:自分の業務で使っている商品やサービスを5件だけリストアップして、マスターシートを作ってみましょう。たった5行のシートから始めても、コスト管理の自動化はここから動き出します。


次回のLookupシリーズでは INDEX+MATCH関数 を取り上げます。VLOOKUPには「検索値が必ず表の左端列になければならない」という制約があります。既存マスターの構造を変えられない場合や、右から左への逆引きが必要なとき、INDEX+MATCHがその壁を超える解決策になります。お楽しみに!


関連記事

あわせてチェック