
OS
Windows、macOS、iPhone、iPad、Android
無料トライアル
1ヶ月
Microsoft 365 には、最大 5 台のデバイスでの Word、Excel、PowerPoint などの Office アプリへのアクセス、1 TB の OneDrive ストレージなどが含まれます。
Excel の UNIQUE 関数は、データをクリーンアップする革新的な関数ですが、隣接する列でのみ機能するというイライラする制限があります。ただし、その中に追加の関数をネストすることで、含めたくない列を無視する動的なカスタム リストを作成できます。
Excel の UNIQUE 関数は、2021 年以降にリリースされたスタンドアロン バージョンの Excel、Excel for Microsoft 365、Excel for the web、および最新のモバイル アプリやタブレット アプリを使用しているユーザーが利用でき、次の構文を使用します。
=UNIQUE(array,(by_col),(exactly_once))
どこ:
UNIQUE 関数は動的配列ファミリーの一部です。つまり、単一のセルに数式を入力するだけでも、結果は自動的に隣接するセルに広がります。結果 (流出範囲) の周りに細い青い境界線があり、何かが邪魔になる場合は #SPILL! が表示されます。エラー。

動的配列関数はゲームチェンジャーでした。
T_Expenses という名前の Excel テーブルで家計支出を追跡しており、支払いカテゴリと店舗の一意の組み合わせすべてのリストを生成したいとします。
これらはテーブル内で隣接する列であるため、コロンを使用してそれらをリンクできます。 配列 口論:
=UNIQUE(T_Expenses((Category):(Store)))
ここで、テーブル内の隣接しない列であるカテゴリと支払い方法の一意の組み合わせのリストを生成するとします。
UNIQUE 式の個別の引数として特定の列のみを選択しようとすると、#VALUE! が表示されます。エラー。これは、UNIQUE が単一の連続した配列を必要とするために発生します。カンマで区切って 2 つの別々の列を選択すると、Excel は 2 番目の列を by_col 引数を指定しますが、これには TRUE または FALSE が必要なため、数式がクラッシュします。
この問題を解決する 2 つの方法を次に示します。
列をスキップするには、必要なデータのみを含む仮想テーブルを UNIQUE 関数に提供する必要があります。 CHOSECOLS 関数は、まさにこれを行うように設計されており、インデックス番号を使用して、より大きな範囲またはテーブルから特定の列を抽出できます。
T_Expenses テーブルでは、Category が 2 列目、Method が 4 列目です。したがって、その一意のリストを取得するには、次のように CHOOSECOLS 関数をネストします。
=UNIQUE(CHOOSECOLS(T_Expenses,2,4))
CHOSECOLS は、T_Expenses テーブル全体を調べ、列 2 と列 4 を除くすべてを無視します。次に、この新しい 2 列の仮想テーブルを UNIQUE 関数に渡し、チェックを実行して結果を出力します。
CHOSECOLS メソッドは完全に機能しますが、ハードコーディングされたインデックス番号に依存しているという欠点が 1 つあります。 T_Expenses テーブルに新しい列を挿入すると、列 4 は Method 列ではなくなるため、数式には間違ったデータが表示されます。
数式を破壊不能にするには、代わりに MATCH 関数を使用して名前で列を検索します。
=UNIQUE(
CHOOSECOLS(
T_Expenses,
MATCH(G1,T_Expenses(#Headers),0),
MATCH(H1,T_Expenses(#Headers),0)
))
数式バーに数式を入力するときに Alt+Enter を押して改行を作成します。これにより、式の構築と読み取りが容易になります。
ここでは、2 と 4 を手動で入力するのではなく、MATCH 関数が自動的に処理を行います。最初の MATCH は、セル G1 (「カテゴリ」) のテキストを調べ、テーブルのヘッダー行でそれを検索します。末尾の 0 は、完全に一致するものを見つけるように Excel に指示します。次に、メモリ内の選択された範囲に関連する数値を返します。Category が 2 番目の列の場合、結果は 2 になります。次に、2 番目の MATCH がセル H1 (「メソッド」) のテキストに対して同じことを実行し、4 を返します。
これは次の理由による完全な修正です。

セルまたは名前付き範囲を参照することが今後の方法です。
ペアリングをさらに直感的に行うために、セル G1 と H1 をドロップダウン メニューに変えることができます。これにより、単純なタイプミスによる数式の破損を防ぐことができます。
ただし、技術的なハードルがあります。Excel のデータ検証ツールは、構造化参照 (T_Expenses(#Headers) など) をネイティブにサポートしていません。 INDIRECT 関数を使用すると、これを回避できます。この関数は、テキスト文字列をデータ検証が理解できる有効な参照に変換します。
まず、動的ヘッダーの選択を配置するセル (この場合は G1 と H1) を選択し、[データ]タブで[データ検証]アイコンをクリックします。
次に、[許可]ドロップダウン メニューで[リスト]を選択し、次の間接数式を[ソース]フィールドに入力します。
=INDIRECT("T_Expenses(#Headers)") [OK]をクリックするとダイアログ ボックスが閉じ、セル G1 と H1 には、T_Expenses テーブルのすべてのヘッダーを表示するクリック可能な矢印が含まれます。
リストから新しい列名を選択すると、MATCH 関数がその新しい位置を見つけ、CHOOSECOLS がデータを取得し、UNIQUE がリストを即座に更新します。また、INDIRECT 関数は特にテーブル ヘッダーを参照するため、T_Expenses テーブルに追加した新しい列は、データ検証設定を更新しなくても、ドロップダウン メニューに自動的に表示されます。

どの方法を使用するかは、データの形式によって異なります。
UNIQUE 関数は動的配列に依存しているため、情報を永続的に上書きする昔ながらの重複削除ツールよりもはるかに安全で効率的にデータを処理する方法です。この設定を使用すると、スプレッドシートをどれだけ再配置しても、マスター リストはそのまま残り、独自の概要は正確なままになります。

Microsoft 365 には、最大 5 台のデバイスでの Word、Excel、PowerPoint などの Office アプリへのアクセス、1 TB の OneDrive ストレージなどが含まれます。