メインコンテンツへスキップ

Excelの基準で一意の値を数える

別の列で指定された基準に基づいて一意の値のみをカウントするには、SUM、FREQUENCY、MATCH、およびROW関数に基づいて配列数式を適用できます。 このステップバイステップガイドは、フォーミュラの最も神経を痛める使用法を理解するのに役立ちます。


Excelで基準を使用して一意の値をカウントする方法は?

以下の商品表に示すように、同じショップから異なる日付で販売された重複商品がいくつかあります。ここで、ショップAから販売された商品の一意の数を取得したいので、以下の式を適用できます。

一般的な式

{=SUM(--(FREQUENCY(IF(range=criteria,MATCH(vals,vals,0)),ROW(vals)-ROW(vals.firstcell)+1)>0))}

Arguments

レンジ:セルの範囲には、基準に反する値が含まれています。
基準:一意の値をカウントする基準。
ワルツ:一意の値をカウントするセルの範囲。
Vals.firstcell:一意の値をカウントする範囲の最初のセル。

注:この数式は、配列数式として入力する必要があります。 数式を適用した後、数式を中括弧で囲んでいる場合は、配列数式が正常に作成されます。

これらの式の使い方は?

1.空白のセルを選択して結果を配置します。

2.以下の式を入力して、を押します。 Ctrlキー + シフト + 入力します 同時にキーを押して結果を取得します。

=SUM(--(FREQUENCY(IF(E3:E16=H3,MATCH(D3:D16,D3:D16,0)),ROW(D3:D16)-ROW(D3)+1)>0))

ノート:この数式では、E3:E16は基準に反する値を含む範囲、H3は基準を含み、D3:D16はカウントする一意の値を含み、D3はD3:D16の最初のセルです。 必要に応じて変更できます。

この式はどのように機能しますか?

{=SUM(--(FREQUENCY(IF(E3:E16=H3,MATCH(D3:D16,D3:D16,0)),ROW(D3:D16)-ROW(D3)+1)>0))}

  • IF(E3:E16=H3,MATCH(D3:D16,D3:D16,0)):
1) E3:E16 = H3:ここで、値Aが範囲E3:E16に存在するかどうかを確認し、存在する場合はTRUEを返し、存在しない場合はFALSEを返します。 このような配列を取得します{TRUE; FALSE; FALSE; TRUE; FALSE; FALSE; TRUE; FALSE; FALSE; TRUE; FALSE;}。
2) MATCH(D3:D16、D3:D16,0):MATCH関数は、範囲D3:D16内の各アイテムの最初の位置を取得し、次のような配列を返します{1; 2; 3; 2; 1; 1; 3; 2; 1; 1; 1; 2; 3; 2}。
  • IF({TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;},{1;2;3;2;1;1;3;2;1;1;1;2;3;2}):配列1のTRUE値ごとに、配列2の対応する位置を取得し、FALSEの場合はFALSEを取得します。 ここでは、新しい配列を{1; FALSE; FALSE; 2; FALSE; FALSE; 3; FALSE; FALSE; 1; FALSE; FALSE; 3; FALSE}として取得します。
  • ROW(D3:D16)-ROW(D3)+1:ここで、ROW関数は参照D3:D16およびD3の行番号を返し、{3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16}を取得します。 -{3} +1。
  • 配列内の各数値は、数値3を減算し、次に1を加算し、最後に{1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14}を返します。
  • FREQUENCY({1;FALSE;FALSE;2;FALSE;FALSE;3;FALSE;FALSE;1;FALSE;FALSE;3;FALSE},{1;2;3;4;5;6;7;8;9;10;11;12;13;14}):ここで、FREQUENCY関数は、指定された配列内の各数値の頻度を返します:{2; 1; 2; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0}。
  • =SUM(--({2;1;2;0;0;0;0;0;0;0;0;0;0;0}>0)):
1) {2;1;2;0;0;0;0;0;0;0;0;0;0;0}>0:配列内の各数値は0と比較され、0より大きい場合はTRUEを返し、それ以外の場合はFALSEを返します。 そして、次のようなTRUEFALSE配列を取得します{TRUE; TRUE; TRUE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE};
2) -{TRUE; TRUE; TRUE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE}:これらの1つのマイナス記号は、「TRUE」を0に、「FALSE」を1に変換します。ここでは、新しい配列を{1; 1; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0として取得します。 ; 0; XNUMX}。
3) SUM{1;1;1;0;0;0;0;0;0;0;0;0;0;0}:SUM関数は、配列内のすべての数値を合計し、最終結果を3として返します。

関連機能

ExcelSUM関数
ExcelSUM関数は値を追加します

Excelの周波数関数
ExcelのFREQUENCY関数は、値の範囲内で値が発生する頻度を計算し、数値の垂直配列を返します。

ExcelのIF関数
Excel IF関数は、比較結果に応じて単純な論理テストを実行し、結果がTRUEの場合はXNUMXつの値を返し、結果がFALSEの場合は別の値を返します。

ExcelMATCH関数
Excel MATCH関数は、セル範囲内の特定の値を検索し、この値の相対位置を返します。

ExcelROW関数
ExcelのROW関数は、参照の行番号を返します。


関連式

フィルターされたリスト内の表示可能な行の数を数える
このチュートリアルでは、SUBTOTAL関数を使用して、Excelでフィルター処理されたリストに表示されている行の数をカウントする方法について説明します。

範囲内の一意の値をカウントします
このチュートリアルでは、指定された数式を使用して、Excelのリスト内の重複の中で一意の値のみをカウントする方法について説明します。

条件付きで表示されている行を数える
このチュートリアルでは、表示されている行を基準でカウントするのに役立つ詳細な手順を説明します。

連続していない範囲でCOUNTIFを使用する
このステップバイステップガイドは、Excelの非連続範囲でcountif関数を使用する方法を示しています。


最高のオフィス生産性ツール

Kutools forExcel-群衆から目立つのに役立ちます

🤖 Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行   |  コードを生成  |  カスタム数式の作成  |  データを分析してグラフを生成する  |  Kutools関数を呼び出す...
人気の機能: 重複を検索、強調表示、または識別する  |  空白行を削除する  |  データを失わずに列またはセルを結合する  |  数式なしのラウンド ...
スーパーVルックアップ: 複数の基準  |  複数の値  |  複数のシートにわたって  |  ファジールックアップ...
上級ドロップダウンリスト: 簡単なドロップダウンリスト  |  依存関係のドロップダウン リスト  |  複数選択のドロップダウンリスト...
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  列を比較する 同じセルと異なるセルを選択する ...
注目の機能: グリッドフォーカス  |  デザインビュー  |  ビッグフォーミュラバー  |  ワークブックとシートマネージャー | リソースライブラリ (自動テキスト)  |  日付ピッカー  |  ワークシートを組み合わせる  |  セルの暗号化/復号化  |  リストごとにメールを送信する  |  スーパーフィルター  |  特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト ツール (テキストを追加, 文字を削除する ...)  |  50+ チャート 種類 (ガントチャート ...)  |  40+ 実用的 (誕生日に基づいて年齢を計算する ...)  |  19 挿入 ツール (QRコードを挿入, パスから画像を挿入 ...)  |  12 変換 ツール (数字から言葉へ, 通貨の換算 ...)  |  7 マージ&スプリット ツール (高度な結合行, Excelのセルを分割する ...)  |  ... もっと

Kutools for Excelは300以上の機能を誇り、 必要なものをワンクリックで手に入れることができます...

説明


Officeタブ-MicrosoftOffice(Excelを含む)でタブ付きの読み取りと編集を有効にする

  • 数十の開いているドキュメントを切り替えるのにXNUMX秒!
  • マウスの手に別れを告げて、毎日何百ものマウスクリックを減らしてください。
  • 複数のドキュメントを表示および編集する際の生産性が 50% 向上します。
  • Chrome、Edge、Firefox と同様に、効率的なタブを Office (Excel を含む) にもたらします。
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Looking for the same formula but with one more criteria... I tried adding AND() after the IF() to have my two criterias but it didn't work. Do you have a solution?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations