
■ 重複行の削除
Excel2007から(だったかな?)搭載された、重複行を削除する機能がとっても便利です。
リボンから「データ」を選択して、対象となる表を範囲指定、データ ツール グループの「重複の削除」を選択します。

並べ替えに似た画面が表示されるので、そのまま「OK」を選択します。

重複している行が削除されて、スッキリしました。

■ 便利なのだが...
この機能、複数項目にも対応してくれるのはありがたいです。
私は、データを分析する仕事が多いので同じことをガリガリと手間を掛けて実現していたのですが、この機能のおかげでとっても楽になりました。
ということで重宝していたのですが、少し前に何故か重複行が削除されないという現象に遭遇しました。
・・・なぜ?
■ 試行錯誤
削除されない重複行を眺めていると、値が空白のセルが混じっていることが読み取れます。
ここで考えたのは、空白(に見える)セルに半角スペースと全角スペースが混在しているのではないかって事です。まぁ、基本ですよね。ところが、問題のセルには確かに何も入っていません。
結局、セルが空白の場合は半角スペースに置換することで対応しました。
てっきり、空白セルは重複行とみなしてくれないのかと思っていたのですが、この記事を書くにあたって再現テストをした結果、空白セルであっても問題なく動作してくれます。
うーん、なんだろ?
■ 後書き
問題になったデータですが、もともとは別のシステムから出力されたデータ(CSVファイル)が元ネタです。
それに対して、マクロ(VBA)でガリガリと編集する処理を作っている最中に発生しました。なので、最初はマクロ側のバグかと疑いもしたのですが、手動で実行しても結果は同じ。
ってことは、CSVデータ中にExcelで表現できない奇妙なデータが含まれていたとか、そんなことが理由なのかなぁと思う今日この頃です。
投稿記事の一覧:http://harikofu.web.fc2.com/
--- blog end ---
スポンサードリンク


