Note: The other languages of the website are Google-translated. Back to English

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 for Excel は、300 の強力な高度な機能 (ワークブックの結合、色による合計、セルの内容の分割、日付の変換など) を提供し、80% の時間を節約します。

  • 1500 の作業シナリオ用に設計されており、80% の Excel の問題を解決するのに役立ちます。
  • 毎日何千ものキーボードとマウスのクリックを減らし、疲れた目と手を和らげます。
  • 3分でExcelのエキスパートになります。 面倒な数式やVBAコードを覚えておく必要はもうありません。
  • 30日間無制限の無料トライアル。 60日間の返金保証。 2年間の無料アップグレードとサポート。
Excelのリボン(Kutools for Excelがインストールされている)

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

  • 数十の開いているドキュメントを切り替えるのにXNUMX秒!
  • マウスの手に別れを告げて、毎日何百ものマウスクリックを減らしてください。
  • 複数のドキュメントを表示および編集する際の生産性が 50% 向上します。
  • Chrome、Firefox、新しいInternet Explorerと同じように、効率的なタブをOffice(Excelを含む)にもたらします。
Excelのスクリーンショット(Officeタブがインストールされている場合)
コメントを並べ替える
コメント (0)
まだ評価はありません。 最初に評価してください!
ここにはまだコメントが投稿されていません
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所

フォローする

著作権©の2009 - WWW。extendoffice.com。 | | 全著作権所有。 搭載 ExtendOffice。 | サイトマップ
MicrosoftおよびOfficeのロゴは、米国MicrosoftCorporationの米国およびその他の国における商標または登録商標です。
SectigoSSLで保護