ExcelのSUMPRODUCT(ISEVEN(ROW(F123:F233))*(F123:F233))の意味を解説|偶数行だけを合計する数式の仕組み

Excel

Excelでは、条件に合うデータだけを集計するためにSUMPRODUCT関数が使われることがあります。その中でも「SUMPRODUCT(ISEVEN(ROW(F123:F233))*(F123:F233))」のような数式は、一見すると複雑に見えますが、各関数の役割を分解すると仕組みを理解できます。

この記事では、この数式が何をしているのか、ROW関数・ISEVEN関数・SUMPRODUCT関数がどのように連携しているのかを具体例を交えて解説します。

SUMPRODUCT(ISEVEN(ROW(F123:F233))*(F123:F233))の基本的な意味

この数式を簡単に説明すると、「F123:F233の範囲の中から、行番号が偶数のセルだけを取り出して合計する」という処理を行っています。

つまり、F123からF233までのすべてのセルを単純に合計するのではなく、セルが存在する行番号を確認し、偶数行にあるデータだけを集計しています。

例えば、F123:F127に以下のようなデータがある場合を考えます。

セル 行番号 対象かどうか
F123 123 10 対象外
F124 124 20 対象
F125 125 30 対象外
F126 126 40 対象

この場合、数式の結果は20+40となり、合計値は60になります。

ROW関数はセルの行番号を取得する

まず「ROW(F123:F233)」の部分を確認します。ROW関数は、指定したセルの行番号を返す関数です。

例えば「=ROW(F123)」と入力すると結果は123になります。また、範囲を指定すると複数の行番号を配列として取得します。

そのため「ROW(F123:F233)」では、次のような行番号の一覧が作られます。

123、124、125、126、127……233

この行番号の一覧を利用して、どのセルを計算対象にするか判断しています。

ISEVEN関数で偶数行かどうかを判定する

次に「ISEVEN(ROW(F123:F233))」の部分を見ていきます。ISEVEN関数は、数字が偶数かどうかを判定する関数です。

偶数の場合はTRUE、奇数の場合はFALSEを返します。

例えば以下のような結果になります。

行番号 ISEVENの結果
123 FALSE
124 TRUE
125 FALSE
126 TRUE

この判定によって、偶数行だけを選択するための条件が作られます。

TRUEとFALSEが計算で使える理由

Excelでは、TRUEとFALSEは計算式の中で数値として扱われることがあります。

計算時には、TRUEは1、FALSEは0として処理されます。そのため、以下のような状態になります。

判定 数値としての扱い
TRUE 1
FALSE 0

そのため「ISEVEN(ROW(F123:F233))*(F123:F233)」では、偶数行の値だけが1倍され、奇数行の値は0倍されます。

例えばF124の値が20の場合、TRUE×20となるため20が残ります。一方、F123の値が10の場合、FALSE×10となるため0になります。

SUMPRODUCT関数が最後に合計する

SUMPRODUCT関数は、配列同士を掛け合わせ、その結果を合計する関数です。

一般的には商品の数量と単価を掛けて合計金額を出すような場面で使われますが、条件付き合計を作るためにも利用できます。

今回の場合は、ISEVENによって作られた0または1の配列と、F123:F233の値を掛け合わせています。

結果として、偶数行のデータだけが残り、それらをSUMPRODUCTが合計します。

この数式を使うメリットと注意点

この方法を使うと、補助列を作らずに特定の行だけを集計できます。例えば、売上データが1行おきに配置されている場合や、偶数行だけに必要なデータが入っている表で便利です。

一方で、データの途中に行を追加した場合や、必ずしも偶数行が対象ではない表では意図した結果にならないことがあります。

例えば、見出し行や空白行が途中に追加されると、行番号による判定がずれる可能性があります。その場合は別の条件式やSUMIFS関数などを利用する方法も検討できます。

まとめ

「SUMPRODUCT(ISEVEN(ROW(F123:F233))*(F123:F233))」は、F123:F233の範囲から偶数行にあるセルだけを合計する数式です。

ROW関数で行番号を取得し、ISEVEN関数で偶数か判定し、その結果をSUMPRODUCT関数で集計するという流れになっています。

一見複雑なExcel数式でも、各関数を分けて考えることで処理内容を理解できます。条件付き集計や特殊なデータ整理を行う際には、SUMPRODUCTと配列計算の考え方を覚えておくと便利です。

コメント

タイトルとURLをコピーしました