エクセルで重複の一番上だけ残す方法|COUNTIFで確実に抽出する手順

エクセルで重複データがあると、「一番上だけ残したい」と思う場面は多いですよね。

でも、単純に削除してしまうと後の集計やVLOOKUPで困ることがあります。

この記事では、COUNTIF関数を使って重複の一番上だけを正確に抽出する方法から、名簿への連携、作業を5分に短縮する雛形戦法までをわかりやすく解説します。

実務でそのまま使える手順を、順番に整理していきましょう。

エクセルで重複データの一番上だけ残す方法とは

エクセルで「重複しているデータのうち、一番上だけ残したい」という場面は、実務で本当によくあります。

たとえば、同じ社員が複数回申請している場合に、最初の1件だけを正式データとして扱いたいケースです。

ここでは、COUNTIF関数を使ってエクセルで重複の一番上だけ残す方法を、仕組みから丁寧に解説します。

なぜ「一番上だけ残す」処理が必要なのか

まず結論から言うと、重複データの一番上だけを残すことで、後続の集計や検索が正確になるからです。

重複をそのままにしておくと、VLOOKUP関数や集計処理を行ったときに、意図しない値が表示されることがあります。

たとえば社員IDが同じデータが3件あると、どの回答を参照しているのか分からなくなります。

最初の申請だけを有効とするのか、最後の申請を有効とするのかを決めておくことが重要です。

社員ID申請日状態
10012024/04/01未提出
10012024/04/03提出済
10022024/04/02提出済

このような場合、「一番上だけ残す」と決めておけば、1001は4月1日のデータだけを使用できます。

ルールを明確にすることがデータ処理の第一歩です。

COUNTIF関数で一番上だけを抽出する仕組み

一番上だけ残すには、COUNTIF関数を使います。

COUNTIF関数とは、「指定した範囲の中に、条件に一致するデータがいくつあるか数える関数」です。

書き方は次の通りです。

=COUNTIF(E$3:E3,E3)

この数式の意味は、「E列の先頭行から現在の行までの間で、同じ値が何回出てきたか」を数えています。

最初に出てきたデータは「1」になります。

2回目は「2」、3回目は「3」と増えていきます。

社員IDCOUNTIF結果
10011
10012
10021

ここで「1」だけをフィルターすれば、一番上のデータだけが残ります。

とてもシンプルですが、実務ではかなり使えるテクニックです。

注意点として、先頭行は絶対参照(E$3のように$をつける)にする必要があります。

これを忘れると、正しくカウントされません。

数式の意味をやさしく分解して解説

「E$3:E3」という部分が少しややこしく見えますよね。

これは、データの一番上から今いる行までを範囲指定するという意味です。

$がついている3行目は固定されています。

一方で後ろのE3は、下にコピーするとE4、E5と動きます。

つまり、下にコピーするたびに「チェック範囲が少しずつ広がる」仕組みです。

イメージとしては、上から順番に「これ何回目かな」と指折り数えている感じです。

行番号式の範囲
3行目E$3:E3
4行目E$3:E4
5行目E$3:E5

こうして最初の登場だけが「1」になります。

エクセルで重複の一番上だけ残す最も基本で確実な方法が、このCOUNTIFの使い方です。

一度仕組みを理解すれば、応用も簡単になります。

重複の一番下だけ残す場合との違い

ここまでで、エクセルで重複の一番上だけ残す方法は理解できましたね。

では逆に、「一番下だけ残したい」と言われたらどうすればよいのでしょうか。

この章では、一番上を残す場合との違いと、実務での使い分けを分かりやすく整理します。

一番下を残すCOUNTIFの書き方

結論から言うと、範囲の取り方を逆にします。

一番下だけを残す場合の数式はこちらです。

=COUNTIF(E3:E$8,E3)

これは「現在の行からデータの一番下までの間で、同じ値がいくつあるか」を数えています。

データの最終行は絶対参照(E$8のように$を付ける)にします。

社員IDCOUNTIF結果(下からカウント)
10012
10011
10021

この場合、同じ社員IDの最後の行だけが「1」になります。

「1」だけを抽出すれば、一番下のデータだけを残せます。

最終行をしっかり固定しないと、正しく動かないので注意が必要です。

上を残す場合と下を残す場合の数式比較

上を残す式と下を残す式は、見た目はよく似ています。

違いは「どこを固定しているか」です。

目的数式固定している行
一番上を残す=COUNTIF(E$3:E3,E3)先頭行
一番下を残す=COUNTIF(E3:E$8,E3)最終行

上を残す場合は「スタート地点を固定」します。

下を残す場合は「ゴール地点を固定」します。

まるでスタートから数えるか、ゴールから数えるかの違いのようなものです。

考え方は同じで、カウントの向きを変えているだけです。

実務での使い分けポイント

では、どちらを使うべきなのでしょうか。

これは業務ルールによって決まります。

ケース選ぶ方法理由
最初の申請を有効とする一番上を残す初回提出を正式記録とするため
最新の申請を有効とする一番下を残す上書き更新が前提のため
履歴管理が必要削除しない全件保持が必要

多くのアンケートや申請管理では「最新データを採用する」ケースが多いです。

その場合は一番下を残す方法が適しています。

ただし、VLOOKUPを使う場合は基本的に「上から最初に見つかったデータ」を返します。

そのため、後続処理との整合性も必ず考えましょう。

重複処理は「どのデータを正とするか」を先に決めることが最重要です。

数式よりも、まず業務ルールを確認することが失敗しないコツです。

重複を削除するだけならもっと簡単な方法もある

ここまでCOUNTIF関数で重複の一番上だけ残す方法を解説してきました。

ただし、「とにかく重複を消せればいい」という場面もありますよね。

この章では、エクセルの標準機能を使ったもっとシンプルな方法を紹介します。

データタブの「重複の削除」機能の使い方

結論から言うと、重複を物理的に削除するだけなら、データタブの「重複の削除」が最速です。

操作はとても簡単です。

  • ① 対象データを選択する
  • ② 「データ」タブをクリックする
  • ③ 「重複の削除」をクリックする
  • ④ 基準にする列を選んでOK

これだけで、同じ値がある行は自動的に1行だけ残して削除されます。

基本的には「上にあるデータが優先」されます。

項目内容
処理内容重複行を削除
残るデータ上にある行
数式の必要不要

ただしこの方法は、元に戻せなくなる可能性があるので注意が必要です。

バックアップを取ってから実行するのが安全です。

COUNTIFとの違いと注意点

「重複の削除」とCOUNTIFには大きな違いがあります。

それは「データを消すかどうか」です。

比較項目重複の削除COUNTIF
データ保持削除する削除しない
可逆性元に戻しにくいフィルター解除で戻せる
応用性低い高い

COUNTIFは「印をつけるだけ」です。

フィルターで1だけ表示することもできますし、全件表示に戻すこともできます。

まるで付箋を貼っているようなイメージです。

後続でVLOOKUPや分析に使うなら、COUNTIFの方が安全で応用が効きます。

ピボットテーブルで確認する方法

重複チェックだけをしたい場合は、ピボットテーブルも便利です。

社員IDを行ラベルに入れ、値に件数を設定すると、何件あるかが一目で分かります。

社員ID件数
10012
10021

件数が2以上なら重複していると判断できます。

ただし、ピボットはあくまで確認用途です。

抽出やVLOOKUP連携まで考えるなら、別途加工が必要になります。

重複を消すだけなら標準機能、活用まで考えるならCOUNTIFと覚えておくと迷いません。

抽出したデータをVLOOKUPで活用する方法

重複の一番上だけ残せるようになったら、次にやることがあります。

それは、そのデータを名簿や管理表に反映させることです。

ここでは、COUNTIFで抽出したデータをVLOOKUP関数で活用する具体的な方法を解説します。

KEY列の作り方(IF関数の使い方)

まずは、VLOOKUPで使うためのキー列を作ります。

やることはシンプルで、「COUNTIFが1の行だけ社員IDを表示させる」だけです。

使用する式はこちらです。

=IF(C3=1,E3,””)

この式の意味は、「C列が1ならE列(社員ID)を表示し、それ以外は空白にする」です。

社員ID(E列)COUNTIF結果(C列)KEY列
100111001
10012
100211002

これで、一番上のデータだけにキーが立ちます。

VLOOKUPはこのKEY列を基準に検索させるのがポイントです。

元の社員ID列をそのまま使うと、重複データがヒットしてしまう可能性があります。

VLOOKUPで名簿にデータを反映する手順

次に、対象者名簿のシートに移動します。

名簿の社員IDをキーとして、ダウンロード表を参照します。

基本形は次の通りです。

=VLOOKUP(A2,回答シート!$F$3:$K$100,6,FALSE)

ここで重要なのは、検索範囲の左端にKEY列を置くことです。

VLOOKUPは「検索範囲の一番左の列」から探すというルールがあります。

項目ポイント
検索値名簿の社員ID
検索範囲KEY列を含める
列番号取得したい列番号
検索方法FALSE(完全一致)

KEY列を使えば、一番上だけ残したデータだけが正しく取得できます。

列固定・行固定のコツ

実務では、式を横や下にコピーする場面が多いですよね。

そのときに重要なのが絶対参照($を付けること)です。

固定方法意味
列固定$B3列だけ固定
行固定D$1行だけ固定
完全固定$B$3列も行も固定

たとえば、列番号を1行目に入力しておけば、横にコピーするだけで取得列を変えられます。

これはちょっとしたテクニックですが、作業効率が一気に上がります。

絶対参照を忘れると、コピーした瞬間に式が崩れるので注意しましょう。

重複処理とVLOOKUPを組み合わせることで、データ連携が一気に自動化できます。

ここまでできれば、実務レベルではかなり強いです。

毎回の作業を5分に短縮する「雛形戦法」

ここまでの内容を毎回ゼロからやっていると、正直かなり時間がかかりますよね。

進捗確認のたびにCSVをダウンロードして、COUNTIFを書いて、IFを書いて、VLOOKUPを書くのは非効率です。

そこでおすすめなのが「雛形戦法」です。

雛形を作るメリット

結論から言うと、最初に式まで完成させたテンプレートを作っておけば、あとは貼り付けるだけになります。

これはまるで、料理の仕込みを最初に全部終わらせておくようなイメージです。

あとは材料を入れ替えるだけで完成します。

通常作業雛形戦法
毎回式を書く最初に式を完成させる
ミスが起きやすいミスが減る
10〜20分かかる約5分で完了

作業時間を削減することで、分析や改善に時間を使えるようになります。

具体的な手順と更新フロー

やり方はシンプルです。

最初に「名簿シート」と「ダウンロード貼り付け用シート」にすべての式を書き込みます。

  • ① COUNTIFで一番上(または下)だけに1を付ける
  • ② IF関数でKEY列を作る
  • ③ VLOOKUPで名簿に連携する

そして次回以降は、ダウンロードしたデータを決められた場所に貼り付けるだけです。

増えた行には式をコピーします。

更新手順内容
ステップ1CSVデータを貼り付け
ステップ2式を下までコピー
ステップ3名簿が自動更新

「一番下だけ残す」式を使う場合は、最終行を少し多めに指定しておくと安心です。

将来行が増えても対応できるようにしておくのがコツです。

貼り付けるだけで更新される状態を作ることが、雛形戦法の本質です。

IFERRORで見やすく整える方法

VLOOKUPを使うと、該当データがない場合に「#N/A」と表示されます。

このままだと少し見づらいですよね。

そこでIFERROR関数を組み合わせます。

=IFERROR(VLOOKUP(…),”未提出”)

状況表示結果
データあり回答内容を表示
データなし未提出

これで、名簿がぐっと見やすくなります。

エラー表示をそのまま放置すると、誤解や問い合わせの原因になることがあります。

雛形を作って自動化することで、重複処理から名簿更新までを最短ルートで回せるようになります。

この仕組みを一度作れば、あとは作業が驚くほど軽くなります。

まとめ|エクセルで重複の一番上だけ残す最適解

ここまで、エクセルで重複の一番上だけ残す方法を中心に解説してきました。

COUNTIF関数からVLOOKUP連携、そして雛形戦法まで、実務で使える流れを一通り整理しました。

最後に、大事なポイントをコンパクトにまとめます。

一番上だけ残す基本ステップ

まずは基本形です。

最もよく使う数式はこちらでした。

=COUNTIF(E$3:E3,E3)

この式で「最初に出てきたデータ」に1を付けます。

そして1だけをフィルターすれば、一番上だけが残ります。

ステップ内容
COUNTIFで出現回数をカウント
1だけ抽出
必要ならKEY列を作成

エクセルで重複の一番上だけ残すなら、まずCOUNTIFが基本解です。

状況別のおすすめ手法

目的によって使う方法は変わります。

ここで整理しておきましょう。

目的おすすめ方法
単純に重複を消したいデータタブ「重複の削除」
後続処理に使うCOUNTIFでフラグ付け
名簿に反映するKEY列+VLOOKUP
毎回更新する雛形戦法

何となく削除するのではなく、後工程まで考えて方法を選ぶことが重要です。

最終結論

重複処理はテクニックの問題ではありません。

「どのデータを正とするか」を決めるのが本質です。

一番上を残すのか、一番下を残すのかは業務ルール次第です。

ルールを決める → COUNTIFでフラグ付け → 必要に応じてVLOOKUP連携。

この流れを覚えておけば、重複データで迷うことはほぼなくなります。

ぜひ一度、雛形まで作ってみてください。

データ処理のスピードが一段階上がります。

コメントを残す