PR

 Excel 2007へのバージョンアップでは久々に新しいワークシート関数が追加された。中でも特に「~IFS」関数と「IFERROR」関数に注目している。今まで苦労して作成していた数式がいとも簡単に作成できるようになる魅力的な関数だ。

 まず、今回追加されたワークシート関数は次の通り。

●Excel 2007で追加されたワークシート関数
AVERAGEIF
AVERAGEIFS
COUNTIFS
CUBEKPIMEMBER
CUBEMEMBER
CUBEMEMBERPROPERTY
CUBERANKEDMEMBER
CUBESET
CUBESETCOUNT
CUBEVALUE
IFERROR
SUMIFS

 新しい関数の中で注目したいのは、「AVERAGEIF」「AVERAGEIFS」「COUNTIFS」「IFERROR」「SUMIFS」の5つだ。上の表では太い文字にしてある。

 「CUBE」で始まる関数はSQL Serverからデータを抽出して、ピボットテーブルを作成するときなどに使用する「キューブ」を操作するための関数だ。一般的にはあまり使われないだろう。

AVERAGEIFS,COUNTIFS,SUMIFS

 従来からある「SUMIF」「COUNTIF」など、指定した条件に一致するデータだけ計算する「~IF」関数は、条件をひとつしか指定できなかった。Excel 2007では複数の条件を指定して計算する「~IFS」関数が追加された。基本的な使い方は同じなので、ここではSUMIFS関数を例にして使い方を紹介しよう。

SUMIFS関数の引数は次の通り。

=SUMIFS(合計対象範囲,条件範囲1,条件1,[条件範囲2,条件2],[条件範囲3,条件3]...)

図1 複数の条件を指定できるSUMIFS関数

 最初の引数には、条件に一致したとき合計する数値が入力されているセル範囲を指定する。上図ではセル範囲C2:C10だ。条件は「条件が入力されているセル範囲」と「条件」を対にして指定する。ここでは「セル範囲A2:A10(名前)」が「田中である」と、「セル範囲B2:B10(住所)」が「横浜である」という2つの条件を指定した。該当するセルはC2とC8なので、計算結果は「1294」となる。

 SUMIFS関数で注意しなければならないのは、複数の条件を「かつ(AND)」で指定する点だ。SUMIFS関数では「または(OR)」による計算はできない。指定できる条件の数は、引数を見る限り制限がなさそうだ。

AVERAGEIF

 AVERAGEIFは、条件に一致したセルの平均を求める関数だ。今まで合計を求めるSUMIF関数と、データの個数を数えるCOUNTIF関数はあったが、なぜか平均を求めるAVERAGEIF関数は用意されていなかった。

図2 指定した条件に一致したセルの平均を求めるAVERAGEIF関数

 実はAVERAGEIF関数を使わなくても、SUMIF関数/COUNTIF関数で同様の計算が行えたのだが、新しいAVERAGEIF関数なら手間がひとつ軽減できる。