Excelで確認済みIDを一括照合する方法|別ファイル476件を1000件超のIDに突合してチェック付け

Excelで1000件以上のIDリストを管理していて、別ファイルに保存していた「確認済みID(476件)」を元ファイル側に反映し忘れた――そんなときでも、手作業で1件ずつ探す必要はありません。条件付き書式・関数・Power Queryを使って、共有ファイル環境でも“確認済み”を一括で素早く判別する方法を、実務目線でまとめます。

目次

今回の問題を整理:やりたいことは「含まれているか」を一括判定するだけ

やるべきことはシンプルです。

  • 元ファイル(1000件超)のIDが
  • 別ファイル(確認済み476件)のID一覧に
  • 含まれているかどうか

これをExcelに判定させれば、確認済みの印(色・チェック・ラベル)を一括で付けられます。以降は、速度優先の方法から、運用しやすい方法、繰り返し突合に強い方法まで順に解説します。

方法おすすめ度向いている状況強み注意点
条件付き書式(色付け)非常に高いとにかく今すぐ見分けたい/一度きり最速・直感的「色」だけだと後工程で管理しづらい場合あり
関数(判定列を作る)高い確認済み/未確認を列で管理したいフィルター・集計が簡単参照範囲・データ型のズレに注意
Power Query(マージ)中〜高突合作業を繰り返す/更新したい更新ボタンで再突合基本はデスクトップ版Excelが必要

最速で見分ける:条件付き書式で「一致ID」を強調表示する

「どれが確認済みかを一気に目で見たい」なら、条件付き書式が最短ルートです。特に共有ファイルで作業時間が限られる場合、まずはこれが現場で強いです。

準備:確認済み476件を“同じブック内”の空き列に貼り付ける

外部ファイル参照でもできますが、リンクや権限・更新の問題が出やすいので、まずは同一ブック内に貼り付けるのが安全です。

  1. 元ファイルを開く(IDが列Aにある想定)
  2. 同じシートの空き列(例:列D)を用意
  3. 別ファイルの「確認済みID(476件)」を列Dに貼り付け

これで「元ID(列A)」と「確認済みID(列D)」が同じブック内に並びます。

手早い:重複する値ルールで色付けする

Excel標準の「重複する値」を使うと、数クリックで一致IDが浮き上がります。

  1. 元IDの範囲(例:A2:A1200)を選択
  2. Ctrlを押しながら確認済みIDの範囲(例:D2:D477)も追加選択
  3. 「ホーム」→「条件付き書式」→「セルの強調表示ルール」→「重複する値」
  4. 色(塗りつぶし)を選んでOK

この方法は速い反面、次のようなケースでは少しだけ注意が必要です。

  • 元ID列の中に同じIDが2回以上出てくる(元データ側の重複も色が付く)
  • 確認済みID側にも重複が混ざっている(貼り付け時の重複など)

「一致したものだけを元ID側で確実に色付けしたい」なら、次の“式を使う条件付き書式”がより実務向きです。

実務で強い:COUNTIF式で「確認済みだけ」を正確に色付けする

元ID(列A)だけを対象にして、「確認済みID(列D)に存在するか」を式で判定して色付けします。元ID列内の重複に引っ張られないのがメリットです。

手順

  1. 元IDの範囲(例:A2:A1200)だけを選択
  2. 「ホーム」→「条件付き書式」→「新しいルール」
  3. 「数式を使用して、書式設定するセルを決定」を選択
  4. 数式に次を入力(例:確認済みがD2:D477の場合)
=COUNTIF($D$2:$D$477,$A2)>0
  1. 書式(塗りつぶし色など)を設定してOK

このルールで、列Aのうち「列Dに存在するID」だけが強調されます。見分けたい目的に直結していて、手戻りが少ない方法です。

ポイント(大事)

  • 参照範囲は可能なら「必要行まで」に絞る(全列参照は重くなりやすい)
  • $A2 の「列だけ固定・行は相対」の形にする(範囲全体に正しく適用される)

後からの管理が圧倒的に楽:判定列を作って「確認済み/未確認」を出す

色付けは速いのですが、次の作業(未確認だけ担当者に渡す、件数を集計する、チェック状況を更新する)に進むと「列で持っておいた方が圧倒的に楽」になります。

そこでおすすめなのが、元IDの隣に判定列(例:B列)を作って、関数でラベルを出す方法です。

一番シンプルで壊れにくい:COUNTIFで判定する

Microsoft 365/Office 365でなくても動く基本形で、現場ではこれが最も安定します。

例:B2に入れて下までコピー

=IF(COUNTIF($D$2:$D$477,$A2)>0,"確認済み","未確認")

この形の良いところは次の通りです。

  • 外部ブック参照にしなくても動く(同一ブック内に貼り付けておけばOK)
  • 「確認済み/未確認」が文字で残るので、フィルター・集計が超簡単
  • 一致しない理由があるときも、後述の“データ整形”で改善しやすい

チェックマークにしたい場合

=IF(COUNTIF($D$2:$D$477,$A2)>0,"✓","")

チェックがある行だけフィルターで抽出する、という運用もしやすくなります。

Office 365なら高速:XMATCHで「見つかるか」を判定する

Microsoft 365/Office 365で使えるXMATCHは、見つかった位置を返せるため、判定用途にも向きます。

=IF(ISNUMBER(XMATCH($A2,$D$2:$D$477)),"確認済み","未確認")

件数がさらに増えていく運用(数千〜数万行)でも、COUNTIFより扱いやすい場面があります。とはいえ、まずはCOUNTIFでも十分なケースが多いので、環境に合わせて選ぶのが現実的です。

一致したら「情報」も引きたい:XLOOKUPで確認日・担当者を返す

確認済みファイル側に「確認日」「担当者」「メモ」などがある場合、XLOOKUPでそれらを元リストに引っ張ってくると、管理レベルが一段上がります。

例:確認済みIDがD列、確認日がE列にある場合(見つからなければ空欄)

=IFNA(XLOOKUP($A2,$D$2:$D$477,$E$2:$E$477),"")

例:見つからなければ「未確認」と表示する

=IFNA(XLOOKUP($A2,$D$2:$D$477,$D$2:$D$477),"未確認")

さらに実務では、判定列と情報列を分けると運用が綺麗になります。

  • B列:確認ステータス(確認済み/未確認)
  • C列:確認日(XLOOKUPで引く)
  • D列:担当者(XLOOKUPで引く)

関数の選び方がすぐ分かる比較表

関数できることメリット向いているケース
COUNTIF存在するか(件数)シンプル・互換性が高いまず確実に判定したい/共有環境で安定させたい
XMATCH存在するか(位置)判定が分かりやすい/比較的高速Microsoft 365で作業、範囲が大きい
XLOOKUP存在判定+情報取得確認日・担当者なども一緒に戻せる突合だけでなく、管理列を育てたい

共有ファイルで「自分が所有者ではない」場合の現実的な進め方

Office 365の共有ファイル(SharePoint/OneDrive上のExcelなど)だと、次の制約にぶつかりがちです。

  • 編集権限がなく、列追加や貼り付けができない
  • 勝手に書式を変えると嫌がられる(監査・運用ルール)
  • 外部ブック参照のリンクが切れる/更新が面倒

その場合でも、次の回避策があります。

編集できるなら:元ファイルに「作業用の列」を最小限だけ足す

編集権限があるなら、以下のどれかで十分です。

  • 空き列に確認済みIDを貼り、条件付き書式で色付け
  • 空き列に判定列(確認済み/未確認)を作る

特に判定列は、関係者が見ても意味が分かりやすく、後工程(フィルター・集計)が楽なのでおすすめです。

編集できない(閲覧のみ)なら:自分用にコピーして突合する

閲覧権限のみで元ファイルに手を入れられない場合は、次の方針が安全です。

  • 元ファイルのID列を自分のブックにコピー(またはエクスポート)
  • 確認済み476件も同じ自分のブックに貼る
  • 自分のブック上で照合して、結果(未確認一覧など)だけ共有する

「元ファイルを汚さない」「権限問題に引っかからない」という意味で、組織運用ではこの形が通りやすいです。

どうしても元ファイル側に反映が必要なら:「未確認一覧」だけ渡す

共有ファイルの所有者(または編集権限が強い担当者)が別にいるなら、あなたが作業しやすいのは次です。

  • 自分のブックで照合
  • 「未確認IDだけ」の一覧を抽出
  • その一覧を所有者に渡して、元ファイルに印を付けてもらう

元ファイル側を直接編集できないときの落とし所として、最も揉めにくい運用です。

突合がうまくいかない原因の大半は「IDの見た目は同じでも中身が違う」

「確かに同じIDのはずなのに、COUNTIFで0になる」「条件付き書式で一致しない」――この手のトラブルは珍しくありません。原因の多くは、IDの表記揺れ・空白・データ型の違いです。

よくある不一致パターン

症状原因対策例
見た目は同じなのに一致しない前後に空白が入っている(半角/全角)TRIMで前後空白を除去
一部だけ一致しない途中に見えない制御文字が混ざっているCLEANで制御文字を除去
0から始まるIDが一致しない片方が数値、片方が文字列(先頭0が消える)TEXTで文字列化/形式を統一
ハイフンあり/なしで一致しない記号の表記揺れSUBSTITUTEで記号を除去
英字の大文字小文字で一致しないケース違い(ID仕様による)UPPER/LOWERで統一

実務向け:突合前に「正規化(整形)ID」を作る

元IDと確認済みIDの両方に、同じ整形をかけた列(正規化列)を作ってから照合すると、ミスが激減します。例えば次のようにします。

空白と制御文字を除去して、文字列として扱う例

=TRIM(CLEAN(A2))

ハイフンを取り除く例(-を消す)

=SUBSTITUTE(TRIM(CLEAN(A2)),"-","")

英字を大文字に統一する例

=UPPER(TRIM(CLEAN(A2)))

照合は「整形した列同士」で行うのがコツです。元データは触りたくない場合でも、隣に正規化列を作るだけで済みます。

先頭ゼロが大事なIDの注意点

「00123」のようなIDは、Excelが数値として扱うと「123」になり、別ファイル側と一致しなくなります。次のどれかで統一してください。

  • ID列の表示形式を「文字列」にする(入力前が理想)
  • 正規化列でTEXTを使って桁数を固定する(仕様が決まっているなら強い)

例:5桁固定で文字列化

=TEXT(A2,"00000")

桁数が不定の場合は、表示形式の統一や、元データ仕様の確認が必要です(ここが曖昧なまま突合すると、後で必ず揉めます)。

未確認だけを一瞬で拾う:フィルター運用が最強

判定列(確認済み/未確認)が作れたら、次にやるべきは「未確認だけを抽出して作業対象を絞る」ことです。

  1. 判定列を含む表全体を選択
  2. 「データ」→「フィルター」
  3. 判定列で「未確認」だけを選択

これだけで、次の作業が速くなります。

  • 未確認分だけを関係者に依頼する
  • 未確認の件数をすぐ報告する
  • 未確認のIDだけ別シートにコピーする

おまけ:未確認だけ別シートに“一覧化”したい場合

Microsoft 365ならFILTER関数で一覧を作れます(元データに手を入れたくないときに便利です)。

=FILTER(A2:A1200, B2:B1200="未確認")

繰り返し突合するならPower Queryで「マージ」して自動化する

「今後も確認済みリストが増える」「毎週・毎月同じ突合をする」なら、Power Queryのマージ(結合)が強力です。やっていることはExcelの関数と同じ“突合”ですが、更新が圧倒的に楽になります。

Power Queryが向いているケース

  • 確認済みIDが今後も増減する
  • 元データが定期的に更新される
  • 突合の手順を固定して、ミスを減らしたい
  • 関数だらけのブックにしたくない

基本手順:2つの表を取り込んでマージする

ここでは「元ID一覧」と「確認済みID一覧」の2つがある想定で、最小構成の流れを示します。

  1. 元IDの範囲をテーブル化(範囲選択→Ctrl+T)し、テーブル名を付ける(例:tbl_master)
  2. 確認済みIDの範囲もテーブル化(例:tbl_verified)
  3. 「データ」→「テーブルまたは範囲から」それぞれをPower Queryに取り込む
  4. Power Queryエディターで「クエリの結合(マージ)」を選択
  5. 結合キー(ID列)を両方指定し、結合の種類は「左外部結合(第一をすべて、第二を一致)」を選ぶ
  6. 結合結果の列を展開し、「一致したかどうか」が分かる列を作る
  7. 「閉じて読み込む」でExcelに戻す

マージ後、「一致した行=確認済み」としてフラグ列を作れば、関数をコピーし続ける必要がなくなります。確認済みリストが更新されたら、基本は“更新”するだけです。

注意点

  • Power Queryは環境によってはExcelのデスクトップ版での作業が前提になることがあります
  • 共有ブックの運用ルールによっては、クエリの追加が嫌がられることもあるため、事前に確認できると安全です

現場でありがちな「やり直し」を防ぐ小ワザ集

確認済みIDの貼り付け列は、別シートに隔離すると揉めにくい

同じシートに貼ると見た目が崩れたり、他の人が誤って触るリスクが上がります。次のどちらかが安全です。

  • 「作業用」シートを作ってそこに貼る
  • 元シートの右端に貼って、列を非表示にする(編集権限・運用ルールが許すなら)

条件付き書式は「対象範囲」を絞るだけで軽くなる

列全体(A:A)にルールを当てると、共有環境では重くなりがちです。実データがある範囲に絞るだけで体感が変わります。

「一致したのに未確認」になったら、まず正規化列を疑う

突合ミスの原因の大半は、空白・データ型・表記揺れです。関数を疑う前に、次の順でチェックすると早いです。

  • LEN(文字数)で差がないか
  • TRIM/CLEANで改善するか
  • 先頭0や数値/文字列の混在がないか

例:文字数チェック(差分発見に便利)

=LEN(A2)

ステータスを固定したいなら「値貼り付け」もあり

一度きりの突合で、今後は変化しない(確認済みリストも更新しない)なら、判定列の結果をコピーして「値として貼り付け」して固定してしまうのも有効です。リンクや参照切れの心配がなくなります。

おすすめの結論:目的別の“最短ルート”はこれ

最後に、状況別におすすめの選び方をまとめます。

状況最適解理由
今すぐ確認済みを見分けたい(一次対応)条件付き書式(COUNTIF式)速くて正確、元IDだけ色付けできる
未確認だけ抽出して作業したい判定列(COUNTIF または XMATCH)+フィルター運用が楽、報告・依頼がしやすい
確認日・担当者も管理したいXLOOKUPで情報列も取得照合から“管理台帳化”まで一気に進む
突合を繰り返す/更新が前提Power Queryでマージ更新ボタンで再突合、手順が固定できる

まとめ:476件の確認済みIDは、Excelに判定させれば数分で片付く

「別ファイルに確認済みIDがあるのに、元ファイル側で印を付け忘れた」という状況でも、Excelなら一括照合で一気に解決できます。

  • 最速で見分けるなら、条件付き書式(COUNTIF式)で一致だけ色付け
  • 運用するなら、判定列を作ってフィルターで未確認だけ抽出
  • 確認日や担当者まで管理するなら、XLOOKUPで情報も引く
  • 繰り返し突合するなら、Power Queryでマージして更新型にする

まずは「同一ブック内に確認済み476件を貼って、COUNTIFで判定」から始めるのが、最短で失敗しにくい王道ルートです。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次