エクセルでユニークな値をカウントする方法:条件付き、空白を無視する

  • これを共有
Michael Brown

このチュートリアルでは、新しい動的配列関数を活用して、Excelで一意の値をカウントする方法を紹介します。複数の基準で、空白を無視して、列の一意のエントリをカウントする式などです。

数年前に、Excelでユニークな値を数える様々な方法を紹介しました。 しかし、他のソフトウェアと同様に、Microsoft Excelは絶えず進化しており、ほとんどすべてのリリースで新しい機能が登場しています。 今日は、最近登場した動的配列関数を使ってExcelでユニークな値を数える方法を紹介します。 これらの関数をまだ使ったことがない場合、次のことを行ってください。は、数式がいかにシンプルに構築され、使い勝手がよくなるかに驚かされることでしょう。

注意:このチュートリアルで説明するすべての数式は、Excel 365とExcel 2021でのみ使用できるUNIQUE関数に依存しています。 Excel 2019、Excel 2016またはそれ以前のバージョンを使用している場合は、この記事で解決策を確認してください。

    列の一意な値を数える

    列のユニーク値を数える最も簡単な方法は、UNIQUE関数とCOUNTA関数を一緒に使うことです。

    COUNTA(UNIQUE() レンジ ))

    UNIQUEはユニークなエントリーの配列を返し、COUNTAはその配列のすべての要素を数えるという単純なロジックでこの数式は動作します。

    例として、範囲B2:B10に含まれる一意の名前を数えてみましょう。

    =counta(一意(b2:b10))

    計算式から、当選者リストには5種類の名前があることがわかる。

    ヒント:この例では、一意のテキスト値をカウントしていますが、この式は、数字、日付、時間など、他のデータ型にも使用できます。

    一度だけ発生するユニークな値を数える

    前の例では、ある列の異なる(distinct)エントリーをすべて数えたが、今回は ワンスオンリーワンス それを実現するためには、このように数式を構築します。

    一度だけ発生するリストを得るには、UNIQUE の第3引数を TRUE に設定する。

    一意(b2:b10,,true))

    一度だけ発生するユニークなものを数えるには、ROW関数のUNIQUEをネストします。

    rows(unique(b2:b10,,true))

    COUNTAはエラー値も含めて空白でないセルをすべてカウントするので、この場合うまくいかないことに注意してください。 つまり、結果が見つからなかった場合、UNIQUEはエラーを返し、COUNTAはそれを1としてカウントするので、間違っているのです

    エラーが発生した場合は、IFERROR 関数で数式を囲み、0 を出力するように指示します。

    =iferror(rows(unique(b2:b10,,true)), 0)

    その結果、ユニークというデータベースの概念に基づいたカウントが得られます。

    Excelでユニークな行を数える

    列のユニークセルの数え方はわかったので、ユニーク行の数を求める方法について何かアイデアはありますか?

    これが解決策です。

    ROWS(UNIQUE()の場合 レンジ ))

    UNIQUEは、複数の列の値の一意な組み合わせを見つけるため、範囲全体を「フィード」します。 その後、ROWS関数で数式を囲み、行数を計算するだけです。

    例えば、範囲A2:C10のユニークな行を数えるには、以下の数式を使用します。

    =rows(unique(a2:c10))

    空白セルを無視したユニークエントリーのカウント

    Excelで空白を無視してユニークな値を数えるには、FILTER関数で空のセルをフィルタリングし、すでにおなじみのCOUNTA UNIQUE式でワープさせます。

    counta(ユニーク(フィルタ( レンジ , レンジ "")))

    ソースデータがB2:B11の場合、数式は次のような形になります。

    =counta(ユニーク(フィルタ(b2:b11, b2:b11"")))

    下のスクリーンショットはその結果です。

    条件を指定してユニークな値を数える

    ある条件に基づいてユニークな値を抽出するために、この例でもUNIQUE関数とFILTER関数を一緒に使います。 そして、ROWS関数でユニークなエントリーを数え、IFERRORであらゆる種類のエラーをトラップして0に置き換えます。

    iferror(rows(unique( レンジ , クライテリア・レンジ = クライテリア ))), 0)

    例えば、特定のスポーツで何種類の勝者がいるかを調べるには、次の式を使います。

    =iferror(rows(unique(filter(a2:a10,b2:b10=e1))), 0)

    ここで、A2:A10は一意な名前を検索するための範囲です( レンジ )、B2:B10は勝者が出場するスポーツ( クライテリア・レンジ )、E1が注目のスポーツ( クライテリア ).

    複数の基準でユニークな値を数える

    複数の基準に基づいてユニークな値をカウントする式は、上記の例とほぼ同じですが、基準の構成が少し異なります。

    iferror(rows(unique( レンジ , ( criteria_range1 = クライテリア1 ) * ( criteria_range2 = クライテリア2 )))), 0)

    この式のロジックについては、「複数の条件からユニークな値を見つける」をご覧ください。

    この例では、F1の特定のスポーツで何種類の優勝者がいるのかを調べます( 基準1 )、F2で年齢を下回る( 基準2 このため、この式を用いています。

    =ferror(rows (unique(filter(a2:a10, (b2:b10=f1) * (c2:c10)

    ここで、A2:B10は名前のリスト( レンジ )、C2:C10はスポーツ( criteria_range 1 )、D2:D10は年齢( criteria_range 2 ).

    以上、新しい動的配列関数を使ったExcelのユニークバリューの数え方でした。 すべての解決策がシンプルになったことをご理解いただけたと思います。 とにかく、お読みいただきありがとうございました。また来週のブログでお会いしましょう

    練習用ワークブック(ダウンロード

    一意な値を数える計算式の例(.xlsxファイル)

    Michael Brown は、ソフトウェア ツールを使用して複雑なプロセスを簡素化することに情熱を注ぐ熱心なテクノロジー愛好家です。テクノロジー業界で 10 年以上の経験があり、Microsoft Excel と Outlook、さらに Google Sheets と Docs のスキルを磨いてきました。 Michael のブログは、彼の知識と専門知識を他の人と共有することに特化しており、生産性と効率を向上させるためのわかりやすいヒントとチュートリアルを提供しています。経験豊富なプロフェッショナルであろうと初心者であろうと、Michael のブログでは、これらの重要なソフトウェア ツールを最大限に活用するための貴重な洞察と実践的なアドバイスを提供しています。