Excelの明細表に重複が混ざると、集計の二重計上や名寄せミスにつながります。ここでは、ピボットテーブルを使って「重複の有無を可視化」し、「ユニーク(重複なし)リスト」を素早く作る実践手順を、前処理(クレンジング)や運用のコツまで含めて詳しく解説します。
なぜピボットでユニーク化するのか(利点と使いどころ)
- 関数不要:ドラッグ操作だけで「重複をまとめた一覧」が作れる
- 件数も同時に把握:各値の出現回数(個数)で“重複の程度”を即確認
- 明細ドリルダウン:集計値をダブルクリックすると元行を抽出でき、原因追跡が速い
- 運用に強い:元表が更新されても[更新]だけで再計算できる
下準備:元データを“表形式”に整える
- 見出しは1行、項目は列で管理(縦持ち・空白行/空白列なし)
- セル結合は使わない(フィルターやピボットの範囲認識を阻害)
- データ型の統一:数値は数値、日付は日付、コードは文字列にそろえる
- 不要な空白・全角/半角の混在・大文字/小文字の揺れに注意
できれば元データは[テーブル](Ctrl+T)に変換しておくと、範囲の自動拡張や書式の一括適用が楽になります。
ユニークリストの作り方:基本のピボット構築
- 表内の任意セルを選択 → [挿入]→[ピボットテーブル]
- 範囲を確認し、配置先を選択(新規/既存シート)→[OK]
- 右側のフィールド一覧から、ユニーク化したい列(例:商品コード)を[行]へドラッグ
この時点で「重複のない行ラベル一覧」が完成します。行ラベル列をコピーして、必要な場所へ貼り付ければユニークリストとして利用できます。
重複の度合いを数える(個数カウント)
- 同じフィールド(例:商品コード)を[値]エリアにもドラッグ → 「個数」が自動表示
- 出現回数が2以上の項目=重複あり。個数の列を降順に並べ替えると多重重複が一目瞭然
“固有の数”を厳密に数える(データモデル活用)
- ピボット作成ダイアログで「このデータをデータモデルに追加」にチェック
- [値フィールドの設定]→[集計の方法]から<固有の数>を選択(重複を除いた件数)
列方向の単純なユニーク化だけでなく、複合キー(例:商品コード×ロット)ごとの固有件数を出したいときにも有効です。
不揃いデータのあぶり出しとクレンジング
見た目は同じでも、末尾空白や全角空白が混じると別物として扱われます。ピボットで「同一に見える値が複数並ぶ」場合は、次の手順で原因特定と修正を行います。
原因行の特定(ドリルダウン)
- 対象項目の「個数」セルをダブルクリック → 該当明細が別シートに抽出
- 値の前後でキャレットを動かし、見えない空白・文字コードの違いを確認
代表的な整形テクニック(関数で標準化)
- 前後と重複空白の除去:
=TRIM(SUBSTITUTE(A2," "," "))
(全角空白を半角に置換 → TRIM)
- 制御文字の除去:
=CLEAN( … )
- 全角/半角統一:
=ASC( … )
(全角→半角)、=JIS( … )
(半角→全角)
- 大小統一:
=UPPER( … )
/ =LOWER( … )
整形後の列をピボットのキーに用いれば、揺れを吸収したユニーク化が可能です。修正を元表に反映後、ピボットは[更新]で再計算します。
検索と置換で一括手当て
- Ctrl+H → 全角空白(コピー&ペーストで入力)を半角空白へ、二重空白を単一空白へ
- 「セル内容全体に一致」や「大文字と小文字を区別する」の条件を活用
複数列の重複を同時に判定する
- ピボット:[行]に複数フィールド(例:商品コード、得意先)を上下に積む → その組合せでユニークに
- 関数:組合せキー列を作る(例:
=A2&"|"&B2
)→ COUNTIF/COUNTIFSで出現回数を確認
- Power Query:複数列を選択 →[行の削除]→[重複行の削除]でユニーク抽出
見やすさ・運用を高める設定
- 並べ替え:個数を降順に、行ラベルを昇順に
- レイアウト:[レポートのレイアウト]→「表形式」「アイテム見出しの繰り返し」で一覧性UP
- スライサー:対象列のスライサーを追加して、問題領域を素早く切り替え
- 更新の自動化:ピボットを右クリック→[ピボットテーブルオプション]→[データ]→「ファイルを開くときにデータを更新」
- データソース管理:元表は必ず[テーブル]化し、行追加で範囲が自動拡張するようにする
大規模データでの注意点
- 数十万行規模は「データモデル」(Power Pivot)利用が安定。ピボット作成時に追加チェック
- Power Queryで前処理(型の強制、トリム、重複削除)→ ピボットで可視化、の2段構えが効果的
- レイアウト更新の保留:フィールド配置後に[更新]でまとめて反映(操作が軽くなる)
よくあるつまずきと対処
- 行ラベルの順序が想定と違う:数値が文字列扱い。左寄り表示・先頭に「’」がないか確認し、VALUE関数や書式で正す
- 重複が統合されない:末尾/先頭空白、全角空白、別の類似文字(例:ハイフン種別)を疑い、関数で正規化
- 元表を直したのに反映されない:ピボットの[更新]、または[すべて更新]を実行
- 複数列のユニーク一覧が欲しい:複数フィールドを[行]に積むか、Power Queryで複数列重複削除
他手段との比較(使い分けの目安)
- UNIQUE関数(Microsoft 365 / 2021以降):
=UNIQUE(範囲)
で即ユニーク。可読性抜群、動的配列
- 重複の削除コマンド:元データを書き換えるため「バックアップ必須」。小規模かつ一回限りの掃除に
- フィルターオプション(詳細設定):ユニーク抽出を別場所へ出力可能。古いバージョンでも使える
- ピボット:重複チェック+件数把握+ドリルダウンに最適。運用更新が簡単
データ検証や名寄せへの展開
- ユニーク化した列を「入力規則(リスト)」のソースに設定→入力値の統一で将来の重複を未然防止
- ユニーク一覧にキーを加え、VLOOKUP/XLOOKUPの参照テーブルとして活用
仕上げのチェックリスト(最短5ステップ)
- ① 元表をテーブル化し、結合/空白を除去
- ② 揺れ(空白・全半角・大/小)をTRIM/ASC/JISで標準化
- ③ ピボットでキー列を[行]、必要なら[値]に配置して個数を確認
- ④ 個数セルをダブルクリックし、誤り行を特定→元表修正→[更新]
- ⑤ 行ラベルをコピーしてユニークリストとして配布/連携(入力規則にも活用)
ピボットテーブルは「集計ツール」という枠を超えて、データ品質の点検・是正にも強力です。まずは小さな範囲で手を動かし、流れを掴むところから始めてみてください。慣れてくると、重複チェックから名寄せ、可視化までを短時間で回せるようになります。
ABOUT ME