しごと自動化レシピ

WORK RECIPE Excel

Excelで前回と今回の単価表をIDで比較する

行の順序が変わっても商品IDを基準に前回単価を引き、価格変更と新規商品を分けて表示します。前回にしかない商品も別方向の照合で確認し、差分の取りこぼしを減らす手順です。

数式・機能を実機確認

確認日時:2026-10-17T07:40:09.5173030Z

確認環境:{"excel_version": "16.0", "excel_build": 20430, "os": "Windows (64-bit) NT 10.00", "interface": "COM API / Formula2 / native Excel calculation"}

確認した範囲

  • 掲載数式を実際のExcelへ設定し計算結果を照合
  • ダミー入力のフィルター・非表示・入力規則など記事別の記録にある機能

未確認・対象外

  • 画面のクリック経路
  • 他Excel版・他OS
  • 実業務データ

実機での処理結果の確認と、記事の全画面操作の確認は別です。実行確認の記録(JSON)で確認結果と原稿のSHA-256を参照できます。

できあがるもの

今回P03は新規、P01は前回100から120への変更。前回P02は今回なしとなる想定です。今回の行を入れ替えても同じ判定になるか確認します。

始める前に

  • Windows版Excel for Microsoft 365。確認環境と範囲は本記事の実行確認欄を参照してください。
  • 架空データの新規ブックと、計算結果を確認する担当者を用意する。
入力例

前回シートA1:B3にP01/100、P02/200。今回シートA1:B3にP03/300、P01/120を品番・単価として入力。両表のIDは一意・空欄なしとし、行順は意図的に変えます。

手順

  1. 今回シートC1へ前回単価を追加します。前回・今回それぞれでID重複がないことを先に確認し、同じIDに複数単価があるデータは対象外にします。
  2. C2へ =XLOOKUP(A2,前回!$A$2:$A$3,前回!$B$2:$B$3,"新規",0) を入れてC3までコピーします。完全一致で、未一致をゼロ円にしません。
  3. D1を判定、D2へ =IF(C2="新規","新規",IF(B2=C2,"同額","変更")) を入れてD3までコピーします。今回だけを見た変更・追加の一覧を確認します。
  4. 前回シートC1を今回有無、C2へ =IF(COUNTIF(今回!$A$2:$A$3,A2)=0,"今回なし","あり") を入れてC3までコピーします。前回だけのP02も確認対象にし、消えた理由を元資料で確認します。

期待結果と照合する

今回P03は新規、P01は前回100から120への変更。前回P02は今回なしとなる想定です。今回の行を入れ替えても同じ判定になるか確認します。

まずこの入力例で確認し、件数や値が一致しているかを見ます。完了表示だけで判断せず、重複・空欄・対象外データも残っていないか確認してください。

うまくいかないとき

  • 前回単価に文字列やエラーが混ざると比較結果の意味が変わります。数値型をそろえてから使います。
  • 今回なしは廃番と同義ではありません。抽出条件や取込漏れによる欠損もあり、削除を自動確定しません。

止める・元に戻す

今回C:Dと前回Cの補助列を削除します。比較用コピーのみで操作し、商品マスターは上書きしません。

公式資料・対応範囲

参照日:2026-10-17。公式資料の一般的な機能説明と、本記事固有の入力例の実行検証は別です。実務での短縮時間や効果は未計測です。

同じツールで試す

Excelの記事一覧へ →