Excel Tips by pPoy

トップへ←Top    VBAへVBA  VBA基礎へVBA 基礎  一般へ一般  

配列数式  一行置きに合計する方法 《作業列・配列数式》
(Excel97,2000,2002)
Excel のワークシート内の数値を1行置きに合計したいときがあります。
以下は、標準のワークシート関数を使用して合計する方法と、
配列数式を使用して計算する方法です。
≪作業列を追加して計算する方法≫

以下のワークシートの D 列の 「参加人数」 を 1行置きに集計します。

行追加

右横に、「奇数行」 と 「偶数行」 を追加し、それぞれ以下の計算式を入力します。
奇数行 (E2セル): =IF(MOD(ROW(),2)=1,D2,"")
偶数行 (F2セル): =IF(MOD(ROW(),2)=0,D2,"")

それぞれの計算式を行の最後までコピーし、一番下の行に合計式を追加します。

奇数行の式の意味は、現在の行番号 (ROW関数) を2で割った余りが1の場合のみ、
D列の値を表示します。
偶数行の式は、余りが0の場合のみD列の値を表示します。
結果、偶数行と奇数行の値が交互に表示されています。
この頁のTOPへTop
≪配列数式を使用して計算する方法≫

配列数式

奇数行の合計: =SUM((MOD(ROW(D2:D23),2)=1)*D2:D23)
偶数行の合計: =SUM((MOD(ROW(D2:D23),2)=0)*D2:D23)
これらの式を正しく入力後、「Ctrl」 キーと 「Shift」 キーを同時に押しながらエンターを押します。

すると、式の前後に以下のように { } (波カッコ) がつきます。
奇数行配列数式: {=SUM((MOD(ROW(D2:D23),2)=1)*D2:D23)}
偶数行配列数式: {=SUM((MOD(ROW(D2:D23),2)=0)*D2:D23)}

単純にエンターを押すと、式がエラーになりますので注意してください。

偶数行の式の意味は、「行番号を2で割った余りが1」 の範囲の合計値を求めています。
奇数行の式は、余りが0の範囲の合計となります。

配列数式では、直接セル範囲を指定して計算しています。
作業列の結果と比較するため、G列とH列の下に入力しましたが、式の場所はどこでも構いません。
この頁のTOPへTop
≪配列数式の応用≫

上記の式の応用で、指定された条件に一致する参加人数の合計を求めます。

  • 「東京都」 のみの参加人数計
      {=SUM((B2:B23="東京都")*D2:D23)} → 237

  • 「東京都」 以外の参加人数計
      {=SUM((B2:B23<>"東京都")*D2:D23)} → 1873

  • 「東京都」 と 「埼玉県」 の参加人数計
      {=SUM((B2:B23="東京都")*D2:D23,(B2:B23="埼玉県")*D2:D23)} → 263

  • 上の2つの式は、SUMIF関数でも使用できます。
    例: =SUMIF(B2:B23,"東京都",D2:D23)


この頁のTOPへTop
【念の為の注意書きです。】
このページ(下位ページ含む)の全ての物の無断転載を禁止いたします。
又、当ページ(下位ページ含む)に記載されていることは、全て自己の責任において実行してください。

Copyright(C) pPoy 2005-2010