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

Excel・VBA

Excelで、たくさんのデータが含まれたリストの中から、重複を除いたリストを作る方法を紹介します。
例として、このようなデータが羅列されただけのリストを使います。

前回は簡単で早い方法を2つ紹介したので、今回は手間のかかる方法を1つ紹介します。
何故わざわざこのようなことをするかというと、アイディア次第でどうにかなるということを知ってもらいたいのと、回り道した方が機能をいっぱい使って覚えられることが多いからです。
お時間ある方は前回の記事も見てみて下さい♪

【Excel】重複を除いたリストを作る方法【簡単ver】

作業手順

回り道すぎて順を追っていくだけではわかりづらいと思うので、先に箇条書きで手順を説明します。

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

完成です!!
ここで満足した方はブラウザバックを

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

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

まずはデータを並べ替えます。

並べ替えられました

「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]

完成!!!

おわりに

長かったですね……◯+<

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

無駄に回り道して色々な機能を使いましたね。
でもこの中に、別な機会に使えそうなものはありませんでしたか?
そういう気付きをしてもらうのが狙いでした。この方法でやれとは言いませんが、この過程の何かしらの処理が誰かの役に立てれば嬉しいです。

スポンサードリンク

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