関数の基本——SUM/IF/COUNTIF を「正しい場面で」使う
レッスン2:関数の基本——SUM/IF/COUNTIF を「正しい場面で」使う
このレッスンで学ぶこと
- 関数の基本構造(=関数名(引数))を理解する
- セル参照の 2 種類(相対参照・絶対参照)を区別する
- 集計の基本関数(SUM・AVERAGE・MAX・MIN・COUNT)を使い分けられる
- IF・SUMIF・COUNTIF・AVERAGEIF を正しい場面で使う発想を持つ
- 関数のネスト(入れ子)の考え方を理解する
- エラー値(#DIV/0!・#N/A・#VALUE!・#REF!・#NAME?・#NUM!)の意味と対処を整理する
前のレッスンでは、データの形が業務効率を決めるという発想と、集計しやすいデータの 4 条件を整理しました。今回のレッスンでは、いよいよ関数に踏み込みます。本レッスンは「関数のリスト」ではなく、「関数の構造を理解して、正しい場面で正しい関数を選ぶ」発想を伝えることが目的です。
関数の基本構造
Excel/Google スプレッドシートの関数は、すべて同じ構造で書かれます。
=関数名(引数1, 引数2, ...)
- =:「これは数式」を Excel に伝える記号。先頭の
=がないと、ただの文字として扱われる - 関数名:行いたい計算の種類(SUM、AVERAGE、IF など)
- ( ) 括弧:引数を囲む
- 引数:関数に渡す情報(セル範囲、条件、固定値など)
- ,(カンマ):引数同士の区切り。日本語版でも英語のカンマを使う
例:
=SUM(A1:A10)
=IF(B2>=80, "合格", "不合格")
=COUNTIF(C1:C100, "東京都")
関数名の覚え方より「構造」の理解を優先
関数名は数百あります。すべて覚える必要はありません。重要なのは、
- 関数は「何かを計算する道具」
- 引数で「何を、どんな条件で計算するか」を指定する
- 結果が「セルに表示される値」になる
という構造の理解です。構造がわかれば、知らない関数も使い方の見当が付きます。
💡 ポイント 関数の中で何が起きているかわからなくなったら、まず構造を声に出して読みます。「=SUM(A1:A10) は、A1 から A10 のセル範囲を合計する」と言葉に直すと、整理されます。
セル参照——相対参照と絶対参照
関数で最もよく使うのが「セル参照」です。A1 のように、特定のセルを指す書き方です。セル参照には 2 種類あります。
相対参照
A1 のように $ を付けない書き方が「相対参照」です。数式をコピーすると、コピー先に応じて参照先が自動で動きます。
| セル | 数式 | 結果 |
|---|---|---|
| B1 | =A1*2 |
A1 を 2 倍 |
| B2 | =A2*2 |
A2 を 2 倍(B1 から B2 にコピーすると自動で A2 を参照) |
| B3 | =A3*2 |
A3 を 2 倍 |
相対参照は「列ごとに、行ごとに同じ計算を繰り返す」場面で便利です。
絶対参照
$A$1 のように $ を付ける書き方が「絶対参照」です。数式をコピーしても、参照先が固定されます。
| セル | 数式 | 結果 |
|---|---|---|
| B1 | =A1*$D$1 |
A1 × D1 |
| B2 | =A2*$D$1 |
A2 × D1(D1 は固定) |
| B3 | =A3*$D$1 |
A3 × D1(D1 は固定) |
「全行に共通する係数」「税率」「為替レート」のように、1 つの値を複数の計算で使う場面で便利です。
複合参照
A$1(列だけ相対、行だけ絶対)や $A1(列だけ絶対、行だけ相対)の書き方も可能です。「複合参照」と呼びます。九九の表のように、縦と横の両方向に同じ計算をする場面で使います。
F4 キーで切り替える
Excel ではセル参照を選択した状態で F4 キーを押すと、A1 → $A$1 → A$1 → $A1 → A1 の順に切り替わります(Google スプレッドシートも同様)。
⚠️ 注意 相対参照と絶対参照の使い分けは、関数で最も多いトラブル源です。「数式をコピーしたら結果がおかしい」と感じたら、まず参照の
$を確認します。
集計の基本関数
最もよく使う関数群が、集計の基本関数です。
| 関数 | 役割 |
|---|---|
| SUM | 数値の合計 |
| AVERAGE | 平均 |
| MAX | 最大値 |
| MIN | 最小値 |
| COUNT | 数値の入ったセルの数 |
| COUNTA | 空でないセルの数 |
例:
=SUM(B2:B100) … B2 から B100 までの合計
=AVERAGE(B2:B100) … 平均
=MAX(B2:B100) … 最大値
=COUNT(B2:B100) … 数値の入ったセルの個数
=COUNTA(A2:A100) … 空でないセルの個数
COUNT と COUNTA の違い
- COUNT:数値だけを数える
- COUNTA:数値・文字列を含めて、空でないセルを数える
「売上金額の入った件数」を数えるなら COUNT、「顧客名が入った件数」を数えるなら COUNTA、と使い分けます。
📝 補足 集計の基本関数は、Excel/Google スプレッドシート両方で同じ名前で使えます。本コースで紹介するほとんどの関数は両方互換ですが、互換性が違う関数は都度注釈を入れます。
条件付き集計——IF・SUMIF・COUNTIF・AVERAGEIF
集計の基本関数を「条件付きで」使えるのが、IF 系の関数です。
IF——条件で結果を変える
=IF(条件, 真の場合, 偽の場合)
例:
=IF(B2>=80, "合格", "不合格")
… B2 が 80 以上なら「合格」、そうでなければ「不合格」
「条件を満たす行に印を付ける」「閾値で表示を切り替える」場面で使います。
COUNTIF——条件に合うセルの数を数える
=COUNTIF(範囲, 条件)
例:
=COUNTIF(C2:C100, "東京都")
… C2 から C100 で「東京都」の数を数える
=COUNTIF(B2:B100, ">=80")
… B2 から B100 で 80 以上の数を数える
SUMIF——条件に合う数値だけを合計する
=SUMIF(条件の範囲, 条件, 合計する範囲)
例:
=SUMIF(A2:A100, "東京都", B2:B100)
… A 列が「東京都」の行の、B 列を合計する
引数の順序に注意:「条件の範囲、条件、合計する範囲」です。3 番目が「合計する範囲」、1 番目とは違うことがポイントです。
AVERAGEIF——条件に合う数値だけを平均する
=AVERAGEIF(条件の範囲, 条件, 平均する範囲)
SUMIF と同じ引数構造で、平均を計算します。
複数条件の場合:SUMIFS・COUNTIFS・AVERAGEIFS
複数の条件を組み合わせるときは、末尾に S が付いた SUMIFS/COUNTIFS/AVERAGEIFS を使います。
=SUMIFS(合計する範囲, 条件1の範囲, 条件1, 条件2の範囲, 条件2, ...)
例:
=SUMIFS(B2:B100, A2:A100, "東京都", C2:C100, "2026/4")
… A 列が「東京都」かつ C 列が「2026/4」の行の、B 列を合計
SUMIFS は引数の順序が SUMIF と違うので注意:1 番目が「合計する範囲」、2 番目以降が「条件の範囲、条件」のペアです。
💡 ポイント SUMIF と SUMIFS で引数順序が違うのは Excel の歴史的経緯です。1 つ覚えるなら、複数条件にも対応できる SUMIFS だけでも実務は回ります。
関数のネスト
関数の引数の中に、別の関数を入れることを「ネスト(nesting:入れ子)」と呼びます。
例:
=IF(SUM(B2:B10)>=100, "達成", "未達")
… B2 から B10 の合計が 100 以上なら「達成」、未満なら「未達」
=IF(COUNTIF(A2:A100, "東京都")>=10, "東京シェア大", "東京シェア小")
… 「東京都」の数が 10 以上なら「東京シェア大」と表示
ネストは「内側から読む」
ネストした関数を読むときは、内側から計算結果を順に組み立てます。
=IF(SUM(B2:B10)>=100, "達成", "未達")
↑ ① SUM(B2:B10) を計算
↑ ② その結果が >=100 か判定
↑ ③ 結果に応じて「達成」か「未達」を返す
ネストは深くしすぎない
ネストを深くすると(3 段以上)、可読性が大きく落ちます。「動くけど誰も読めない式」になりやすいので、
- 2 段までに抑える
- 中間結果を別セルに分けて、段階的に計算する
- LET 関数(レッスン 7)を使って読みやすくする
を意識します。
⚠️ 注意 「ネストを深くするほどスキルが高い」は誤解です。読みやすい数式のほうが、長期的に業務資産として残ります。
エラー値の意味と対処
数式が正しく計算できないとき、Excel は「エラー値」を返します。それぞれの意味を理解すると、すぐに修正の糸口が見えます。
| エラー値 | 意味 | よくある原因 |
|---|---|---|
#DIV/0! |
0 で割っている | 分母が 0 または空のセル |
#N/A |
値が見つからない | VLOOKUP などで検索値が範囲にない |
#VALUE! |
引数の型が違う | 数値が必要なのに文字列が入っている |
#REF! |
セル参照が無効 | 参照しているセルや列が削除された |
#NAME? |
関数名や名前が不明 | 関数名のスペルミス、定義していない名前 |
#NUM! |
数値計算で失敗 | 巨大すぎる数値、計算不可能な値 |
#NULL! |
セル範囲の指定が不正 | スペースで区切られたセル範囲が交差しない |
エラー値の対処
#DIV/0!:分母を確認、または IFERROR で 0 や空白に置き換える#N/A:検索値の表記揺れ、範囲の指定ミス、検索方式(完全一致か近似か)の確認#VALUE!:引数のセルに数値ではなく文字が入っていないか#REF!:削除された参照を新しいセルに付け直す#NAME?:関数名のスペル確認、または名前定義を確認#NUM!:計算範囲が大きすぎないか、ループ計算になっていないか
IFERROR でエラーを「ハンドルする」
エラー値が出る可能性のある式は、IFERROR で包むと、エラー時の表示を制御できます。
=IFERROR(VLOOKUP(A2, データ範囲, 2, FALSE), "見つからず")
… 見つからないときは「見つからず」と表示
#N/A のような技術的なエラーが画面に出るより、業務的に意味の通る文字列を出すほうが見やすくなります。
💡 ポイント エラー値はバグではなく Excel からのメッセージです。「何が問題か」を伝えています。慌てて IFERROR で全部隠さず、まず原因を確認しましょう。
講師の現場メモ:「絶対参照を知らないまま 3 年が経った先輩」
私(水田)が生命保険会社のリスク管理部門にいた頃の話です。配属 1 年目に、私は税率を計算する月次シートを引き継ぎました。先輩が作ったシートで、税率は固定値です。
先輩の作った数式は、こうでした:
=B2*0.1
=B3*0.1
=B4*0.1
… (30 行ぶん、すべて 0.1 が直接書かれている)
税率が 0.1 から変わったら、30 行すべてを書き換える必要があります。3 年経った先輩は、毎月「税率変更があったらどうするんですか」と聞かれて、苦笑いするのが常でした。
私は同じ計算を、絶対参照で書き直しました:
… D1 セルに税率 0.1 を入れる
=B2*$D$1
=B3*$D$1
=B4*$D$1
… (30 行ぶん、すべて D1 を参照)
税率が変わったら、D1 セルだけ書き換えます。先輩は驚いて「絶対参照ってこういう使い方をするんだ」と感心していました。
その先輩は、関数の名前は私より多く知っていました。SUMPRODUCT も使えるし、INDEX/MATCH もこなせる。でも、相対参照と絶対参照の使い分けという「基本中の基本」を知らないまま、3 年が経っていたのです。Excel スキルは関数の数ではなく、基本構造の理解で決まる——私はこのとき強く実感しました。
本コースで関数の基本構造と参照を最初に扱うのは、この先輩の例のような「数を覚えてもスキルが上がらない」状態を皆さんに体験してほしくないからです。基本構造を抑えてから、関数を増やしていきましょう。
まとめ
このレッスンでは、以下のことを学びました。
- 関数の基本構造:
=関数名(引数1, 引数2, ...)。=で始まり、引数をカンマで区切る - 関数の数を覚えるより、構造の理解が優先
- セル参照は相対参照(
A1)と絶対参照($A$1)と複合参照(A$1/$A1)の 3 種類 - 数式をコピーすると、相対参照は自動で動き、絶対参照は固定。F4 キーで切り替え
- 集計の基本関数:SUM・AVERAGE・MAX・MIN・COUNT・COUNTA。Excel/Google スプレッドシート両方で同名
- COUNT は数値だけ、COUNTA は空でないセルを数える
- 条件付き集計:IF・COUNTIF・SUMIF・AVERAGEIF と、複数条件の SUMIFS・COUNTIFS・AVERAGEIFS
- SUMIF と SUMIFS で引数順序が違う点に注意
- ネストは「内側から読む」。2 段までに抑え、深くしすぎない
- エラー値の意味と原因を理解すれば、修正の糸口がすぐに見える
- IFERROR でエラー時の表示を制御できるが、まず原因を確認するのが基本
次のレッスンでは、検索の関数(VLOOKUP・XLOOKUP・INDEX/MATCH)の使い分けを扱います。
確認クイズ
このレッスンの理解度をチェックしましょう。