Excelの配列数式で合計を一発で計算する方法Tech TIPS

見積表などの合計を一発で計算できる「配列数式」をマスターしよう。これを覚えておくと、1行置きに合計を計算するといった技も使える。本稿では、「配列数式」の基本的な使い方を紹介する。

» 2017年08月31日 05時00分 公開
[小林章彦デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象ソフトウェア:Excel 2007/2010/2013/2016


 製品名と単価、個数を並べて合計を計算する、といった表は見積などでごく一般的なものだ。例えば、下画面のような表だ。

合計を計算する表の例 合計を計算する表の例

 このような表で合計を計算する場合、単価と個数を掛けた値を小計として別の列に計算しておき、それを合計するといった方法を使うかもしれない。その際、小計を計算するために、D1のセルに「=単価*個数」という式を入力して、それをD列全体にコピーをするという手間が必要になる。小さな表であれば、それでもいいが、行が多い表となると結構面倒な作業となる。

 このような表の合計を計算する場合、「配列数式」と呼ばれる式を使うと、小計を計算せずに、1つの式で簡単に合計を計算できる。単価と個数の合計を計算する配列数式は、以下のように記述できる。

=SUM(単価の範囲*個数の範囲)

合計を計算する式

 最初の画面の例で配列数式を書くと、具体的には次のようになる。

=SUM(B2:B7*C2:C7)

配列数式の例

 範囲の指定は、「=sum(」まで入力後に、マウスでB2からB7まで選択、「*」を入力してから、C2からC7まで選択すればよい。計算するために必要だった途中の計算をするセルが不要になり、行を追加した場合も、範囲を修正するだけで合計が計算できる。

配列数式を使って計算した例 配列数式を使って計算した例

 ただ注意が必要なのは、式を入力後、[Enter]キーではなく、[Ctrl]+[Shift]+[Enter]キーを押して確定することだ(式の確定に[Ctrl]+[Shift]+[Enter]キーを使うことからキーの頭文字を取って「CSE数式」とも呼ばれる。CSE数式と覚えておくと、式を確定するキーを忘れにくいだろう)。

 単に[Enter]キーで確定すると、「#VALUE!」エラーとなる。この場合は、式を入力したセルを選択してから、数式バーに入力されている式の途中をマウスカーソルで選び、[Ctrl]+[Shift]+[Enter]キーを押せばよい。数式が「{}」で囲まれて、Excelが配列数式として扱われていることが示される(手入力で式を{ }で囲んでも配列数式としては認識されないので注意)。

[Enter]キーだけで式を確定してエラーになった場合の対処方法 [Enter]キーだけで式を確定してエラーになった場合の対処方法

1行置きの合計も配列数式で

 配列数式を使うと、指定した範囲に条件などを付けて計算するといったことも可能になる。各営業所の前期と後期の売上から、全社の前期と後期の売上を計算するといったような使い方だ。例えば、下画面のような表だ。

1行置きの計算が必要な例 1行置きの計算が必要な例

 このような場合、以下のようにIF文を使って、B列が「前期」の場合のみを合計するという配列数式を使えばよい。

=SUM(IF(B2:B15="前期",C2:C15,0))

B列が「前期」の場合のみを合計する式

 この例ではB列に「前期」「後期」という項目名が入っていたため、それを判別材料に合計を計算できたが、このような項目がない場合は、行番号の偶数奇数で判別して合計を計算すればよい。

前期(行番号が偶数)
=SUM(IF(MOD(ROW(C2:C15),2)=0,C2:C15,0))

後期(行番号が奇数)
=SUM(IF(MOD(ROW(C2:C15),2)=1,C2:C15,0))

行番号が偶数/奇数の場合のみを合計する式

行番号から1行置きの合計計算を行う例 行番号から1行置きの合計計算を行う例

 「ROW」は指定したセルの行番号を返す関数で、MODは指定した数(上の例では2)で割ったときの余りを計算する関数だ。2行おきにしたいのであれば、3で割って、余りの「0」「1」「2」で判別すればよい。

=SUM(IF(MOD(ROW(C2:C15),3)=0,C2:C15,0))

2行おきに合計する式

 このように配列数式を活用すると、少々複雑な合計計算も1つの式で表すことが可能だ。Excelの計算テクニックとして配列数式をマスターしておくとよいだろう。

「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。