商品・顧客・社員マスターにないコードを自動で見つけたい

入力データとマスターを照合し、未登録コード、廃止コード、名称違い、重複コードを確認する仕組みを整理します。

集計が合わない原因を追うと、商品コードの打ち間違い、退職者の社員番号、古い顧客コードなどが混じっていることがあります。VLOOKUPでエラーになった行だけを直す運用では、原因が繰り返されます。

取込時にマスターと照合し、未登録・使用停止・名称不一致を理由別に分けると、集計前に問題を止められます。

先に結論

コードが一意で、マスターの有効期間を管理できるなら自動チェックできます。名称の似ているコードへ勝手に置き換えず、候補を示して人が確定する設計が安全です。

マスター照合で決めること

存在確認だけでなく、使ってよい期間や状態も見ます。

  • コードが一意で重複していない
  • 有効・停止・廃止の状態を持っている
  • 適用開始日と終了日が分かる
  • 名称変更とコード変更を区別できる
  • 未登録時の申請・修正先が決まっている

エラーの理由を一つずつ分ける

「見つからない」だけでは、入力ミス、未登録、廃止済み、マスター更新漏れのどれか分かりません。コード、名称、日付を使い、理由を分けて確認表へ出します。

マスター側に重複がある場合は入力側を直しても解決しません。最初にマスター自体の一意性と欠損を検査します。

  1. 1
    マスターを検査する

    コード重複、空欄、有効期間の矛盾を確認します。

  2. 2
    入力データを照合する

    未登録、停止、名称違いを分類します。

  3. 3
    修正履歴を残す

    元の値、修正後、理由、担当者を記録します。

関数で十分な場合と仕組み化する場合

小規模ならXLOOKUPやCOUNTIFでも確認できます。毎日複数ファイルを取り込む、マスターが頻繁に更新される場合はPower QueryやVBAで取込時チェックを共通化します。

方法向いている場面確認したい点
関数一つの入力表をその場で確認エラー理由を別列に分ける
Power Query複数データをマスターへ結合マスター更新日を確認する
VBA入力時の警告や修正画面を用意勝手な自動置換を避ける

社員マスターの更新で確認しておきたいこと

マスターのコード列へ重複チェックを入れ、停止コードを色ではなく状態列で持つところから始められます。

  • コード列の前後空白を除く
  • 大文字・小文字を区別するか決める
  • 廃止コードを削除せず状態で残す
  • 名称だけを照合キーにしない

社員マスターの更新を相談するときに伝えること

入力側とマスター側の両方を、同じ時点のデータで用意します。

  • 商品・顧客・社員などのマスター
  • 未登録が含まれる入力データ
  • コードの桁・文字種・有効期間
  • 未登録時の扱い
  • 修正履歴に必要な項目

社員マスターの更新をプロに任せる目安

  • 複数マスターを順番に照合する
  • 誤コードが請求や在庫へ波及する
  • 停止・統合・付替えルールが複雑
  • 入力時点で利用者へ分かりやすく警告したい

社員マスターの更新で確認しておきたいこと

似た名称のコードへ自動で寄せると、誤登録を確定させる危険があります。

  • マスターに重複があるまま照合する
  • 廃止コードを削除して過去データが読めなくなる
  • 前後空白だけで別コードになる
  • エラー行を削除して件数が合わなくなる

社員マスターの更新で確認しておきたいこと

名称が一致すれば同じコードとして扱えますか?

同名や表記ゆれがあるため、名称だけの自動確定は避けます。候補表示に使う程度が安全です。

廃止したコードはマスターから消してよいですか?

過去データの参照に必要なため、削除ではなく停止状態と有効期間を持たせる方が扱いやすいです。

マスターが複数ファイルに分かれていても可能ですか?

可能ですが、どれを正とするか、更新順と重複時の優先順位を決める必要があります。