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

Excelで複数の条件を満たす場合は、行をカウントします

複数の基準に基づいて範囲内の行数をカウントします。その一部は行レベルで機能する論理テストに依存します。ExcelのSUMPRODUCT関数を使用すると便利な場合があります。

たとえば、計画販売と実際の販売を含む製品レポートがあります。次に、以下のスクリーンショットに示すように、実際の販売が計画販売よりも多いAppleを含む行をカウントします。 この課題を解決するために最も効果的な関数はSUMPRODUCT関数です。

SUMPRODUCT関数で複数の基準を満たす場合は行をカウントします


SUMPRODUCT関数で複数の基準を満たす場合は行をカウントします

ExcelのSUMPRODUCT関数を使用して、複数の条件を満たす場合に行をカウントするには、一般的な構文は次のとおりです。

=SUMPRODUCT((logical1)*(logical2))
  • logical1, logical2:値の比較に使用される論理式。

1。 実際の販売が計画された販売よりも多いApple行の数をカウントするには、次の式を適用してください。

=SUMPRODUCT(($C$2:$C$10>$B$2:$B$10)*($A$2:$A$10=E2))

Note:上記の式では、 C2:C10> B2:B10 列Cの値を列Bの値と比較する最初の論理式です。 A2:A10 = E2 は、セルE2が列Aに存在するかどうかをチェックするXNUMX番目の論理式です。

2。 次に、 入力します 必要な結果を得るためのキー。スクリーンショットを参照してください。


式の説明:

=SUMPRODUCT(($C$2:$C$10>$B$2:$B$10)*($A$2:$A$10=E2))

  • $ C $ 2:$ C $ 10> $ B $ 2:$ B $ 10:この論理式は、列Cの値を各行の列Bの値と比較するために使用されます。列Cの値が列Bの値より大きい場合はTRUEが表示され、そうでない場合はFALSEが表示されて戻ります。配列の値は次のとおりです:{TRUE; FALSE; TRUE; FALSE; FALSE; FALSE; FALSE; TRUE; TRUE}。
  • $ A $ 2:$ A $ 10 = E2:この論理式は、セルE2がA2:A10の範囲に存在するかどうかを確認するために使用されます。 したがって、次のような結果が得られます:{TRUE; FALSE; TRUE; FALSE; TRUE; TRUE; FALSE; TRUE; FALSE}。
  • ($C$2:$C$10>$B$2:$B$10)*($A$2:$A$10=E2):乗算演算を使用して、これら1つの配列を0つの単一配列に乗算し、結果を{1; 0; 0; 0; 0; 1; 0; XNUMX; XNUMX}として返します。
  • SUMPRODUCT(($C$2:$C$10>$B$2:$B$10)*($A$2:$A$10=E2))= SUMPRODUCT({1;0;1;0;0;0;0;1;0}):このSUMPRODUCTは配列内の数値を合計し、結果を返します:3。

使用される相対関数:

  • SUMPRODUCT:
  • SUMPRODUCT関数を使用して、XNUMXつ以上の列または配列を乗算し、積の合計を取得できます。

その他の記事:

  • 内部基準を満たしている場合は行をカウントする
  • 今年と昨年の製品売上高のレポートがあり、今、今年の売上高が昨年より多い、または今年の売上高が昨年より少ない製品を以下のように数える必要がある場合があります。示されているスクリーンショット。 通常、XNUMX年間の売上差を計算するためのヘルパー列を追加し、COUNTIFを使用して結果を取得できます。 ただし、この記事では、ヘルパー列を使用せずに直接結果を取得するSUMPRODUCT関数を紹介します。
  • XNUMXつの列間の一致をカウント
  • たとえば、列Aと列CにXNUMXつのデータリストがあるので、XNUMXつの列を比較して、下のスクリーンショットと同じ行の列Cに列Aの値が見つかったかどうかをカウントします。 この場合、SUMPRODUCT関数は、Excelでこのタスクを解決するのに最適な関数である可能性があります。
  • セルのカウント数が多くの値のXNUMXつに等しい
  • 列Aに製品のリストがあるとすると、次のスクリーンショットに示すように、列Aから範囲C4:C6にリストされているApple、Grape、Lemonの特定の製品の総数を取得したいとします。 通常、Excelでは、単純なCOUNTIF関数とCOUNTIFS関数はこのシナリオでは機能しません。 この記事では、SUMPRODUCT関数と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 (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
=SUMPRODUCT({Array of True/False}) doesn't count the True values in the array anymore (as of the SUM or COUNT formulaes).
But you can force the convertion of True/False to 1 and 0 by adding the '--' operator right before the array:
=SUMPRODUCT(--{Array of True/False}).
You can also type this operator right after the multiplication sign, giving the strange '*--' operator.

In this exemple, a working formulae would be:
=SUMPRODUCT(--($C$2:$C$10>$B$2:$B$10)*--($A$2:$A$10=E2))
This comment was minimized by the moderator on the site
Hello Professor X,

You are right in one way. The double negative (--) is one of several ways to coerce TRUE and FALSE values into their numeric equivalents, 1 and 0. Once we have 1s and 0s, we can perform various operations on the arrays with Boolean logic.

But our formula doesn't need the the double negative (--), making the formula more compact. This is because the math operation of multiplication (*) automatically converts the TRUE and FALSE values to 1s and 0s. Have a nice day.

Sincerely,
Mandy
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations