Excelの式「=SUMPRODUCT((MOD(COLUMN(D6*H6),2)=0)*D6:H6)」は一見複雑に見えますが、関数がどのように動作するかを理解することで、その目的と効果を簡単に把握できます。この記事では、この式の各部分の意味を分かりやすく解説し、実際にどのように使用するかについて詳しく説明します。
SUMPRODUCT関数とは?
「SUMPRODUCT」は、配列の積を合計する関数です。つまり、指定した範囲内で対応する値を掛け算し、その結果を全て足し合わせることができます。この関数は、条件を設定した計算にも非常に便利です。
「=SUMPRODUCT(A1:A5*B1:B5)」のように使うと、A列とB列の対応するセルの積を合計することができます。では、この式でどのように使われているのか見ていきましょう。
MOD関数とCOLUMN関数の役割
次に登場するのが「MOD」と「COLUMN」の関数です。まず「MOD」は、ある数を指定した数で割った余りを返す関数です。この式では、「MOD(COLUMN(D6*H6),2)」という部分がありますが、ここでは列番号の偶数・奇数を判定しています。
「COLUMN(D6*H6)」は、D6とH6セルを掛け合わせた結果の列番号を取得します。そして「MOD(…, 2)」は、その列番号を2で割った余りを返します。これによって、偶数列の場合にだけ条件が成立するように設定されています。
式全体の流れと動作
この式「=SUMPRODUCT((MOD(COLUMN(D6*H6),2)=0)*D6:H6)」の全体的な流れは次のようになります。
- 「MOD(COLUMN(D6*H6), 2)」で、偶数列かどうかを判定。
- 偶数列の場合、「(MOD(…) = 0)」がTRUEとなり、1が返されます。奇数列の場合はFALSEとなり、0が返されます。
- その後、TRUEまたはFALSEの結果を、D6:H6の値に掛け算します。
- 最後に、「SUMPRODUCT」で積の合計を求めます。
つまり、この式は、指定した範囲内の偶数列に対応する値だけを掛け算して、その合計を出すというものです。
実例で見る式の使い方
例えば、D6:H6の範囲に数値が入っているとします。この場合、偶数列(D列、F列)の値だけを掛け算して、その合計を求めることができます。
例えば、D6=2、E6=3、F6=4、G6=5、H6=6だとすると、この式は次のように計算されます。
- MOD(COLUMN(D6*H6), 2) は、D6とF6が偶数列なので、1となり計算が成立。
- それに対して、掛け算が行われ、D6とF6の値(2と4)が掛け算され、その合計がSUMPRODUCTによって求められます。
まとめ
「=SUMPRODUCT((MOD(COLUMN(D6*H6),2)=0)*D6:H6)」という式は、Excelで特定の列(この場合は偶数列)のデータだけを計算するためのものです。MOD関数とCOLUMN関数を組み合わせて、偶数列に対応するデータを選択し、SUMPRODUCTでその合計を求めることができます。このような式を使うことで、効率的にデータを集計することができます。

コメント