image

私のブログの多くで述べたように、SUMPRODUCTは非常に用途の広い関数であり、複数の目的に使用できます。この記事では、この関数を使用して、複数のOR基準を持つ値をカウントする方法を説明します。

一般的な SUMPRODUCT

複数または基準でカウントする式

=SUMPRODUCT(–(((criteria1)(criteria2*)…​)>0)

基準1:これは、TRUEとFALSEの配列を返す基準です。

基準2:これはあなたがチェックしたい次の基準です。

同様に、必要な数の基準を持つことができます。

上記の一般的な式は、複数のOR基準でカウントする要件に合うように頻繁に変更されます。しかし、基本的な公式はこれです。最初に例を通してこれがどのように機能するかを見て、その後、この式を少し変更する必要がある他のシナリオについて説明します。

例:SUMPRODUCTを使用してディーラーコードまたはYearMatchesの場合にユーザーをカウントする

image

ここに、営業担当者のデータセットがあります。データには多くの列が含まれています。コードが「INKA」であるか、年が「2016」であるユーザーの数を数える必要があります。誰かが両方(「inka」と2016年のコード)を持っている場合は、1としてカウントする必要があることを確認してください。

したがって、ここには2つの基準があります。上記のSUMPRODUCT式を使用します:

=SUMPRODUCT(–(Code=I3)+(Year=K3>0))

ここで、コードと年は範囲と呼ばれます。

これは7を返します。データには、INKAコードの5つのレコードと2016年の4つのレコードがあります。

ただし、2つのレコードには、コードと年としてそれぞれ「INKA」と2016の両方が含まれています。

これらのレコードは1としてカウントされます。これが7を取得する方法です。

image

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

それでは、数式がどのように解決されるかを段階的に見ていきましょう。次に、それがどのように機能するかについて説明します。

=SUMPRODUCT*(–(Code=I3)+(Year=K3>0))

1⇒`SUMPRODUCT*`(–\{TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;…​}+\{FALSE;FALSE;FALSE;TRUE;TRUE;…​})>0

2⇒`SUMPRODUCT*`(–\{1;0;1;2;2;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0})>0

3⇒`SUMPRODUCT*`(–(\{TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;…​})

4⇒`SUMPRODUCT*`(\{1;0;1;1;1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0})

5⇒7

最初のステップでは、I3( “INKA”)の値がコード範囲内の各セルと比較されます。これは、TRUEとFALSEの配列を返します。一致するたびにTRUE。スペースを節約するために、すべてのTRUE-FALSEを示したわけではありません。同様に、K3(2016)の値は、年の範囲の各セルと一致します。

次のステップでは、これら2つの配列を追加して、数値の新しい配列を作成します。ご存知かもしれませんが、ExcelではTRUEは1として扱われ、FALSEは0として扱われます。したがって、TRUEとTRUEを追加すると、2が得られ、残りは理解できます。

次のステップでは、配列内のどの値が0より大きいかを確認します。

これにより、配列が再び真の偽の配列に変換されます。取得した0の値ごとに、Falseとrestはtrueとして変換されます。これで、配列内のTRUE値の数が答えになります。しかし、どのようにそれらを数えるのでしょうか?方法は次のとおりです。

`link:/ Tips-the-double-negatives-in-excel [二重否定(-)記号]`は、ブール値を1と0に変換するために使用されます。

したがって、配列内の各TRUE値は1に変換され、FALSEは0に変換されます。最後のステップで、SUMPRODUCTはこの配列を合計し、7として答えを取得します。

SUMPRODUCTを使用してカウントする基準をさらに追加するしたがって、カウントする基準をさらに追加する必要がある場合は、関数に+記号を使用して基準を追加するだけです。たとえば、上記の式に別の基準を追加して、5つ以上の製品を販売した従業員の数を追加する場合です。

SUMPRODUCTの式は次のようになります。

=SUMPRODUCT(–(Code=I3)(Year=K3)(Sales>5>0))

シンプル!そうですね。

しかし、Code *の範囲から2つの基準が必要だとします。 「INKB」を数えたいとしましょう。では、これをどのように行うのですか? 1つの方法は上記の手法を使用することですが、それは繰り返しになります。同じ範囲からさらに10個の基準を追加したいとします。このような場合、この手法はSUMPRODUCTでカウントするのにそれほど賢くはありません。

このように配置されたデータがあるとしましょう。

image

基準コードは1行I2:J2にあります。ここでは、データの配置が重要です。 3つのOR基準カウント設定のSUMPRODUCT式は次のようになります。

=SUMPRODUCT(–(Code=I2:J2)+(Year=I3:J3>0))

_これは、1つの範囲からの複数の基準が連続して書き込まれるときに複数の基準でカウントするSUMPRODUCT式です。_これは、10である正解を返します。

J3に年を入力すると、数式によってそのカウントも追加されます。

image

これは、基準が1行にある場合に使用されます。基準が同じ範囲の1つの列にある場合、機能しますか?いいえ、ありません。

この例では、カウントするコードが複数ありますが、これらのタイプコードは1つの列に記述されています。上記のSUMPRODUCT式を使用すると、#N / Aエラーが発生します。この記事が長くなりすぎるため、このエラーがどのように発生したかについては説明しません。これを機能させる方法を見てみましょう。

image

この数式を機能させるには、コード基準を「link:/ mathematical-functions-excel-transpose-function [TRANSPOSEfunction]」でラップする必要があります。これにより、数式が機能します。

=SUMPRODUCT(–(Code=TRANSPOSE(H3:H4+(Year=TRANSPOSE(I3:I4)))>0))

image

これは、基準が列にリストされている場合に、同じ範囲内の複数または条件でカウントするための式です。

そうそう、仲間、私は十分に明確であり、それが理にかなっていることを願っています。それがあなたのここにいるという目的に役立つことを願っています。この式で問題が解決しなかった場合は、以下のコメントセクションで要件をお知らせください。どんな形であれ、喜んでお手伝いさせていただきます。 Excel / VBAに関連する疑問について言及することができます。それから学び続けるまで、卓越し続けなさい。

関連記事

link:/ summary-excel-sumproduct-function [ExcelでSUMPRODUCT関数を使用する方法]:Excelの複数の配列の値を乗算した後のSUMを返します。この関数は、複数のタスクを実行するために使用できます。これは最も用途の広い機能の1つです。

link:/ counting-countifs-with-dynamic-criteria-range [COUNTIFS with Dynamic Criteria Range]:動的基準範囲でカウントするには、単にINDIRECT関数を使用します。この関数は、 link:/ counting-countifs-with-or-for-multiple-criteria [COUNTIFS With OR For Multiple Criteria]:OR関数を使用して一致する複数の基準を持つセルをカウントできます。 COUNTIFS関数にORロジックを配置するために、OR関数を使用する必要はありません。

link:/ Tips-using-the-if​​-and-or-functions-together-in-microsoft-excel-2010-2013 [MicrosoftExcelのAND / OR関数でのIFの使用]:これらの論理関数は次の目的で使用されます。複数の基準計算を実行します。 IFでは、OR関数とAND関数を使用して、一致を含めたり除外したりします。

link:/ logical-excel-or-function [MicrosoftExcelでOR関数を使用する方法]:この関数は、複数の基準にすべてのTRUE値を含めるために使用されます。 link:/ logical-formulas-count-cells-that-c​​ontain-this-or-that [ExcelのExcelでこれまたはそれを含むセルをカウントする方法]:これまたはそれを含むセルには、 SUMPRODUCT関数。これらの計算を行う方法は次のとおりです。

人気の記事:

link:/ keyboard-formula-shortcuts-50-excel-shortcuts-to-increase-your-productivity [生産性を高めるための50のExcelショートカット] |あなたの仕事をより速くしてください。これらの50のショートカットにより、Excelでの作業がさらに高速になります。

ExcelVLOOKUP関数の使用方法 |これは、さまざまな範囲やシートから値を検索するために使用される、Excelの最も使用され人気のある関数の1つです。 link使用方法

link:/ forms-and-functions-introduction-of-vlookup-function [Excel]

COUNTIF関数 |この驚くべき関数を使用して、条件付きの値をカウントします。

特定の値をカウントするためにデータをフィルタリングする必要はありません。ダッシュボードを準備するには、Countif関数が不可欠です。

link:/ excel-formula-and-function-excel-sumif-function [ExcelでSUMIF関数を使用する方法] |これは、ダッシュボードのもう1つの重要な機能です。これは、特定の条件で値を合計するのに役立ちます。