本文へスキップ
スキルアップカレッジ

関数の基本——SUM/IF/COUNTIF を「正しい場面で」使う

レッスン2:関数の基本——SUMIFCOUNTIF を「正しい場面で」使う

このレッスンで学ぶこと

  • 関数の基本構造(=関数名(引数))を理解する
  • セル参照の 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$1A$1$A1A1 の順に切り替わります(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)の使い分けを扱います。


確認クイズ

このレッスンの理解度をチェックしましょう。