【Excel】重複を除いたリストを作る方法【回り道ver】

Excel・VBA

Excelで、重複を除いたリストを作る方法を紹介します。
例えばたくさんのデータの中から、マスターデータ(一意なデータ)を作るときなんかに使える機能ですね。

※こちらの記事は、あえて回り道をしながら重複データを除いたリストを作る方法です。
簡単にやりたい場合は、こちらの記事をご覧ください。

ちなみに、何故回り道の方法まで紹介するかというと、
アイディア次第で実現する方法は色々あって、答えは1つじゃないことを知ってもらいたいからです。
回り道した方が、機能をいっぱい使って覚えられることも多いですからね。

例として、このようなデータが羅列されただけのリストを使います。

作業手順

先に箇条書きで手順を説明しておきます。
回り道するため、わかりづらい可能性があるためです。

  • リストを並び替え
  • 1行前と文字列比較して、違ったらデータを表示するif関数を書く
  • それをオートフィルでコピー
  • ↑をコピーしてメモ帳に貼り付け
  • 貼り付けたらコピーし直す
  • Excelに戻って貼り付け
  • 空白セルを選択
  • 削除して上にシフト

これで完成です!!
この手順を見ただけで嫌になった方はブラウザバックを。m(_ _)m 笑

重複を除いたリストを作る方法詳細

まずはデータを並べ替えます。
リストを範囲選択 → リボンの[データ] → 並べ替えとフィルターの[昇順]をクリック

並べ替えられました

「if」関数を使って、1行前と文字列比較して違ったらデータを表示する
リストを作成する場所(D2)に、以下のような式を打ち込みます。
=IF(A2<>A1,A2,"")

すると、見出し行の「食ったもん」と「うどん」を比較するので、結果はTrue(真)になり、「うどん」が表示されます。

これをオートフィル機能で、データと同じ行まで引っ張る
選択セルの右下あたりにカーソルを持ってくると、十字アイコンに変わります。
この状態で、データと同じ行まで引っ張ります。

このようになりました。
これで一応重複は消えたリストになりましたが、(1)表示されているデータは値そのものでなく関数の計算結果で、(2)さらに空白が間に入っていて邪魔です。

ここから(1)と(2)の問題を解消します。

コピー([Ctrl] + [C]) → メモ帳に貼り付け([Ctrl] + [V])
ここで突然のメモ帳!貼り付けると↓このようになります。
実はExcelの関数の入ったセルをコピーしてテキストエディタに貼り付けると、関数ではなくその結果の値そのものが貼付けされるのです

全選択([Ctrl] + [A]) → コピー([Ctrl] + [C])
再度コピーし直します。
このステップは一見すると無駄な作業に見えますが、クリップボードの中身がこれで値そのものに変わるのです。
この作業をしないと、Excelに貼り付けてもコピー元の関数が入るだけになってしまいます。

Excelに戻って貼り付け([Ctrl] + [V])
パット見は変わっていませんが、D2の式の部分を見ると、関数から値そのものに変わっているのがわかると思います。
※次のステップのために範囲指定はそのままにして下さい

[Ctrl] + [G] → [セル選択]をクリック
このような特定セルにジャンプするウィンドウが出てきます

[空白セル]をクリック → [OK]

空白だけが選択された状態になりました。

右クリック → [削除]をクリック

[上方向にシフト]を選択 → [OK]

完成です!!!

おわりに

長かったですね……◯+< やっていることをまとめると

並び替えてデータをグループ化して最初に出てきたデータのみ表示。
それによって出来た空白セルを削除して上に詰める…です。

無駄に回り道して、色々な機能を使うことができました。
この中に、もしかしたら別な機会に使えそうなものがあったかもしれません。

そういう気付きがあったなら嬉しいです!

以上、Excelで重複を除いたリストを作る方法の回り道verでした。
読んでいただきありがとうございました。

スポンサードリンク

ITリテラシー・プログラミングのまとめ記事