Excelで複数列からなる固有の組み合わせを抽出する計算式(UNIQUE関数、HSTACK関数)
固有の組み合わせを抽出するための概要
Excelでは、データセット内の固有の項目やその組み合わせを抽出することができます。例えば「重複の削除」や「UNIQUE関数」です。これらは、特に大きなデータセットから特定の情報をフィルタリングする際に役立ちます。
ただし「重複の削除」は動的機能を持っていないので、データの追加や削除にリアルタイム対応できません。また標準の「UNIQUE関数」はつながっている列にのみ対応しています。離れた列を組み合わせることはできません。
UNIQUE関数とHSTACK関数の組み合わせ
今回は、離れた複数の特定の列から固有の組み合わせをリアルタイム反映可能な状態で抽出するための計算式を詳しく解説します。「UNIQUE関数」と新関数「HSTACK関数」を組み合わせて使用することで対応します。※HSTACK関数は2023年現在、Excel 365でのみ使用できます。
UNIQUE関数は、指定された範囲または配列から重複する値を排除して固有の値を返します。一方、HSTACK関数は複数の範囲や配列を水平方向に結合します。これらの関数を組み合わせることで、異なる列の固有の組み合わせを抽出できます。
解説用のサンプルテーブルとして以下のもの(A1:E32)を使用します。存在する「商品分類」と「カラー」の組み合わせを出してみます。
商品番号 | 商品分類 | 価格 | メーカー | カラー |
---|---|---|---|---|
10001 | カラープリンター | 52000 | CEIRO | アイボリー |
10002 | デスクパソコン | 53000 | HERT | ブラック |
10003 | デスクパソコン | 58000 | HERT | アイボリー |
10004 | モノクロプリンター | 27000 | HERT | ブラック |
10005 | カラープリンター | 17000 | CEIRO | アイボリー |
10006 | ノートパソコン | 21000 | THOM | グレー |
10007 | モノクロプリンター | 53000 | CEIRO | アイボリー |
10008 | ノートパソコン | 39000 | HERT | ブラック |
10009 | デスクパソコン | 39000 | HERT | ブラック |
10010 | フルカラースキャナー | 58000 | HERT | アイボリー |
10011 | モノクロプリンター | 46000 | HERT | グレー |
10012 | ノートパソコン | 38000 | HERT | ブラック |
10013 | カラープリンター | 61000 | THOM | グレー |
10014 | カラープリンター | 63000 | THOM | ブラック |
10015 | モノクロプリンター | 21000 | HERT | ブラック |
10016 | モノクロプリンター | 16000 | CEIRO | グレー |
10017 | カラープリンター | 42000 | CEIRO | ホワイト |
10018 | ノートパソコン | 61000 | THOM | グレー |
10019 | カラープリンター | 36000 | THOM | グレー |
10020 | カラープリンター | 35000 | HERT | ホワイト |
10021 | ノートパソコン | 54000 | HERT | ホワイト |
10022 | モノクロプリンター | 48000 | THOM | ホワイト |
10023 | デスクパソコン | 63000 | HERT | ブラック |
10024 | ノートパソコン | 22000 | THOM | ブラック |
10025 | カラープリンター | 41000 | HERT | ブラック |
10026 | フルカラースキャナー | 52000 | HERT | グレー |
10027 | モノクロプリンター | 21000 | CEIRO | アイボリー |
10028 | ノートパソコン | 30000 | CEIRO | ホワイト |
10029 | フルカラースキャナー | 63000 | CEIRO | ブラック |
10030 | フルカラースキャナー | 45000 | HERT | ブラック |
10031 | フルカラースキャナー | 45001 | HERT | ブラック |
完成計算式の論理
標準の計算式(拡張非対応)
計算式
=UNIQUE(HSTACK(B2:B32,E2:E32))
は、以下の手順で動作します:
- HSTACK関数による結合:まず、HSTACK関数はB列(商品分類)とE列(カラー)の各行を横に結合します。これにより、商品分類とカラーがペアになった新しい配列が作成されます。
- UNIQUE関数による固有の抽出:次に、UNIQUE関数は結合された配列を受け取り、重複する組み合わせを排除して、固有の組み合わせのみを返します。
この計算式の結果は、商品分類とカラーのすべての固有の組み合わせのリストとなります。必要に応じてSORT関数などで囲んで並べ替え表示させることもできます。
テーブルを使った計算式(拡張に対応)
分析元を「テーブル」として登録しておけばレコードの追加にも対応します。例えば前述の表に「テーブル甲」という名前を付けた場合の計算式は下記のようになります。HSTACK内部を変更しています。
=UNIQUE(HSTACK(テーブル甲[商品分類],テーブル甲[カラー]))
テーブルでの列指定ならリアルタイム拡張に対応しています。新しいレコードを追加すれば、集計表に自動反映されます。
まとめ
ExcelのUNIQUE関数とHSTACK関数を組み合わせることで、データセット内の異なる列から固有の組み合わせを効率的に抽出することができます。この方法は、データ分析やレポート作成において非常に役立つツールとなります。
コメント