重複データの削除(もう少し詳しく)


Excel 2007には重複データを削除する機能が、標準機能として追加されました。おそらく、こうしたニーズが世界中で高かったのでしょうね。どんな機能かは、以前にレビューした「重複データの削除」をご覧ください。

さて、この[重複の削除]機能ですが、もう少し詳しく見てみましょう。

残るのは必ず先頭のデータ

たとえば次のようなリストを例にします。重複するデータは[Name]と[Area]です。わかりやすく、重複データには同じ色をつけています。

[データ]タブの[重複の削除]ボタンをクリックすると次のダイアログボックスが表示されます。今回重複をチェックしたいのは[Name]と[Area]ですから、[Age]のチェックボックスをオフにして[OK]ボタンをクリックします。

ここで注意しなければいけないのは、削除されるのは必ず下に存在するデータだということです。言い方を変えれば残されるのは必ず先頭のデータです。まったく同一のデータが重複していたのなら、どれを残しても問題はありません。しかし、今回のケースのように[Name]と[Area]は重複しているけど[Age]が異なっている場合、これを区別したいときもあるでしょう。完全に同一のデータを削除するとき以外は、慎重に操作する必要があります。

空いた位置には空白セルが挿入される

[重複の削除]機能は、重複しているセルを削除する機能です。では、削除されたセルはどうなるのでしょう。次のような実験をしてみました。

リストの下に、書式を変更したセルを置きました。[重複の削除]によってセルが削除されると、通常の[セルの削除]と同じように周辺のセルがシフトすると予想したからです。また、もしシフトせずに新しいセルが挿入されるのなら、その新しいセルの書式はどうなるのかを調べました。

結果はブランクセル(空白セル)が挿入されました。周辺のセルがシフトすることもありません。ちなみに、削除されるのはリスト内のセルだけです。行全体が削除されるわけではありませんので、リストの左右に別のデータが入力されていても影響を受けることはありません。

数式が入力されている場合は注意が必要

リスト内に数式が入力されていた場合はどうでしょう。結論から書くと、最下行でSUM関数やAVERAGE関数などを使っているセルは削除の対象範囲になりません。削除の対象範囲でないのですから、当然削除もされません。ただし、これは関数を使っていた場合です。その数式が、=A1+B1のようにセルの参照式だった場合は削除の対象範囲に含まれます

【関数を使っていた場合】

【参照式を使っていた場合】

削除されてしまったセルを参照式が参照しいた場合、その参照は変化します。リストの内部に数式が入力されていた場合も、理屈は同じです。ただし、削除されたセルを解決するようにインテリジェンスな処理は行われません。

【関数を使っていた場合】

【参照式を使っていた場合】

Excel 2007の新しい[重複の削除]機能は、計算式を含まないリストで実行した方がよさそうですね。カンですが、この機能はあまり使われないような気がします。用途が限定されて、汎用性が乏しいですからね。