目的のセルに「=SUMIF(範囲,検索条件,合計範囲)」を入力

 支出の一覧表から,「交通費」「通信費」といった費目別の小計を算出したい……。こんなとき,いちいち費目ごとに金額を手作業で抜き出すのは時間がかかる。なんとか簡単に,小計を計算できないだろうか。

 そこで役に立つのが,Excelnの「SUMIF(サムイフ)関数」だ。「SUM(サム)関数」が単純な合計を求めるための関数であるのに対し,「SUMIF関数」は,その名の通り,ある条件を満たす項目の合計を求める関数だ。条件の設定も簡単なので,これまで関数を使ったことのない人も,ぜひ試してほしい(図1)。

図1●支出の一覧表から,交通費の金額だけを自動で算出したい。これは「SUMIF(サムイフ)関数」を使うことで,簡単に実現できる

 ここでは,まず「交通費」の小計を求めてみよう。小計を表示させるセルに「=SUMIF(B2:B7,B10,C2:C7)」のように入力する(図2)。最初の「B2:B7」は,「交通費」などの費目を入力した範囲で,最初と最後のセル名を「:」(コロン)でつなげる。次の「B10」は「交通費」と入力したセルで,検索条件を指す。セル名の代わりに「"交通費"」のように,検索条件を直接指定してもかまわない。最後の「C2:C7」は,「1527」「4558」などの金額が入力された範囲だ。これで「交通費」の金額だけが合計される。

図2●SUMIF関数を使い,「条件として設定する範囲(この例ではB2~B7セル)」「検索条件(B10セル)」「合計する範囲(C2~C7セル)」の順に入力すれば,簡単に交通費だけを合計できる

 「交通費」以外に,「通信費」「資料代」などの小計も求めるときは,数式に一工夫が必要だ。「交通費」の小計欄をドラグして計算式をコピーすると,「条件として設定する範囲」「検索条件」「合計する範囲」ともに,範囲やセルが一つずつ下がってしまう。「検索条件」は一つずつ下がると好都合だが,「条件として設定する範囲」と「合計する範囲」は,それでは困る。そこで,これらのセルは,列番号と行番号の前に「$」を付けて,絶対参照にしておくとよい(図3~図5)。なお,絶対参照については,以前紹介した記事『「絶対参照」を使って数式コピー時の“ズレ”を防ぐ 』でやさしく解説しているので,そちらを参考にしてほしい。

図3●「通信費」「資料代」などの小計も求めるときは,最初に入力した「交通費」を求める数式をコピーすればよい。ただしその際には,「条件として設定する範囲」と「合計する範囲」を絶対参照にしておく(この2つのセル範囲はどの費目に対しても変わらないため)。数式内のセル参照を“絶対参照”にするには,これらの列番号と行番号の前に「$」を付けておけばよい

図4●セルの右下を下方向にドラグして数式をコピー

図5●これで,「通信費」「資料代」も正しく求められる

※この記事はExcel 2002(Office XP)をもとに執筆しています。

■岡野 幸治 (おかの こうじ)

フリーランスライター。「日経PC21」「日経PCビギナーズ」などでパソコン関連の活用記事を中心に執筆中。