edubun
日本語

SUM、AVERAGE、COUNT、MIN、MAX

生徒6人、点数5つ、そして「absent」という語。AVERAGEはここで6ではなく4で割ります。文字列と空のセルは飛ばしますが、0は数えるからです。

欠席1人、未採点1人の成績表

下の実験室の成績表を思い浮かべてください。Anaは82点、Chloeは91点、Eliは0点、Fayは77点です。Benは欠席だったので、だれかがabsentと入力しました。Devのテストはまだ採点されていないので、セルは空です。クラスの平均点はいくつでしょうか。セルを数えると6で割りたくなるかもしれません。AVERAGEは4で割って62.5を出します。電卓でBenとDevを飛ばして計算した人と同じ答えです。

この答えのもとになる規則は短いものです。SUMは足し算、AVERAGEは算術平均、MINとMAXは最小と最大の数、COUNTは数値がいくつあるかを返します。五つとも、B2:B7のような範囲や、コンマで区切った複数の範囲を受け取ります。そして五つとも、範囲の中の数値だけを読みます。MicrosoftのAVERAGEのページははっきり書いています。範囲の中の文字列、論理値、空のセルは無視されますが、値が0のセルは含まれます。Googleのヘルプもスプレッドシートについて同じことを書いています。ですからBenのabsentとDevの空欄は外れ、Eliの0は残ります。

空欄とゼロが同じではないのはこのためです。0点の生徒は平均を下げます。まだ点数のない生徒は平均に影響しません。Microsoft自身の例では、10、7、9、27、2の平均が11になります。2つ目の引数として5を加え、=AVERAGE(A2:A6, 5) とすると、60 ÷ 6 = 10 なので10になります。では、数値がまったくない範囲は? AVERAGEは割る数がないので#DIV/0!を返します。

数値を数えるか、入力済みのセルを数えるか

COUNTは数値だけを数えます。Microsoftの例の列には日付、19、22.24、TRUE、#DIV/0!が入っていて、=COUNT(A2:A6) は3になります。日付は数値として保存されているので数えられます。TRUEとエラーは数えられません。COUNTAは空でないセルを、中身に関係なくすべて数えるので、同じ列で5になります。GoogleのCOUNTAのヘルプは、知っておきたい落とし穴を付け加えています。長さ0の文字列やスペースも数えられるのです。ですから、数式が "" を返すセルは空に見えても数えられます。

関数返す値範囲の中の文字列空のセル
SUM合計無視無視
AVERAGE合計 ÷ 数値の個数無視無視
COUNT数値の個数数えない数えない
COUNTA空でないセルの個数数える数えない
MIN / MAX最小の数 / 最大の数無視無視

平均値はいつも「真ん中」を表すのにふさわしい値でしょうか。そうではありません。MicrosoftのAVERAGEのページは2、3、3、5、7、10を使っています。平均値は5、中央値(真ん中の値)は4、最頻値(いちばん多く出てくる値)は3です。どちらのソフトにもこれを求めるMEDIANとMODEがあります。80点台の点数の中に0が一つだけあるように、極端な数がデータに一つあるときは、平均値より中央値のほうがふつうの生徒をよく表します。

二つのソフトは一つの小さな点で違います。関数が受け取れる引数の数です。Excelの制限のページでは255です。GoogleのAVERAGEとCOUNTAのヘルプでは、スプレッドシートはいくつでも受け取れるとしています。範囲を使っていれば、どちらの制限にも気づくことはないでしょう。上で説明した数値・文字列・空欄の扱いは両方で同じなので、一方で作ったシートはもう一方でも同じ答えになります。

MINとMAXも同じ規則に従います。範囲に数値がないと、どちらもエラーではなく0を返し、その0は本物の結果のように見えます。価格表の最低価格が0と出たら、本当に無料の品物があるのか、それとも列に数値が一つもないだけなのか確かめましょう。

読み込み中

ドラッグで回転、スクロールまたはピンチで拡大・縮小。

Devはまだ点数がなく、Benは欠席でした。あとでDevの欄に70と入力し、平均と二つの個数が変わるのを見てみましょう。
よくある間違い
  • まだ採点していないテストに0と入力する。 AVERAGEは0を数えるので、平均が下がります。本当の点数が出るまでセルは空にしておきましょう。
  • 名前や「Yes」の答えを数えるのにCOUNTを使う。 COUNTは数値しか見ないので、文字列の列では0になります。入力済みのセルを数えるのはCOUNTAです。
  • "" を返す数式の列でCOUNTAを信用する。 Googleのヘルプによると長さ0の文字列も数えられるので、空に見えるセルも合計に加わります。
  • 一つが文字列のセルを+で足す。 B3にabsentがあると、=B2+B3 は#VALUE!になりますが、=SUM(B2:B3) は文字列を飛ばします。Microsoftの#VALUE!のページが、このためにSUMのような関数を勧めています。
先生からひとことつまずきやすいのは、空欄と0は違うデータであって、「何もない」の二通りの書き方ではない、という考えです。数式を入力する前に平均を予想させ、そのあとDevの点数を入れて、AVERAGE、COUNT、COUNTAがいっしょに変わるのを見せましょう。伝えておきたい習慣が一つあります。シートを確かめるときは、=AVERAGE(...) のすぐ隣に必ず =COUNT(...) を置くことです。個数を見れば、その平均が実際にいくつの値を使ったかがわかります。中央値は、空欄とゼロの違いが身についてから取り上げましょう。
  1. B2:B7に82、absent、91、(空)、0、77が入っています。=AVERAGE(B2:B7) は何を返しますか?
  2. 同じセルです。=COUNT(B2:B7) は何を返しますか?
  3. 同じセルです。=COUNTA(B2:B7) は何を返しますか?
  4. 同じセルです。=MIN(B2:B7) は何を返しますか?
  5. A2:A6に10、7、9、27、2が入っています。=AVERAGE(A2:A6) は何を返しますか?
  6. では =AVERAGE(A2:A6, 5) は?
  7. 列に日付、19、22.24、TRUE、#DIV/0!が入っています。COUNTは何を返しますか?
  8. B2:B4には文字列しかありません。=AVERAGE(B2:B4) は何を返しますか?
    • #DIV/0!
    • 0
    • #VALUE!
    • #N/A
  9. 2、3、3、5、7、10の中央値はいくつですか?
  10. 空欄の点数はAVERAGEを下げないのに、0は下げるのはなぜですか?
    • 空のセルは無視され、0は数値なので含まれるから
    • 0は文字列だから
    • 空欄は平均として数えられるから
    • AVERAGEは空欄を切り上げるから
  11. Excelの関数は引数をいくつまで受け取れますか?
ポイント
  • SUM、AVERAGE、MIN、MAX、COUNTは範囲の中の数値だけを読みます。
  • 空のセルは無視され、0は数えられます。
  • COUNTは数値を、COUNTAは空でないセルを "" も含めてすべて数えます。
  • 数値がないときのAVERAGEは#DIV/0!です。
このコースの出典 (19)
  • Microsoft Support, "Switch between relative, absolute, and mixed references" (support.microsoft.com/en-us/office/dfec08cd-ae65-4f56-839e-5f0d8d0baca9: $ before column and row, F4 to switch, copying two down and two right: $A$1 stays, A$1 to C$1, $A1 to $A3, A1 to C3)
  • Microsoft Support, "AVERAGE function" (support.microsoft.com/en-us/office/047bac88-d466-426c-a32b-8f33eb960cf6: text, logical values and empty cells in a reference ignored, zeros included; 10, 7, 9, 27, 2 gives 11, with 5 gives 10; mean 5, median 4, mode 3 for 2 3 3 5 7 10)
  • Microsoft Support, "COUNT function" (support.microsoft.com/en-us/office/a59cd7fc-b623-4d93-87a4-d23bf411294c: only numbers counted, dates count, errors and text do not)
  • Microsoft Support, "ROUND function" (support.microsoft.com/en-us/office/c018c5d8-40fb-4053-90b1-b3e7f61a213c: num_digits required; 2.15 to 2.2, -1.475 to -1.48, 626.3 to 1000, 1.98 to 0, -50.55 to -100)
  • Microsoft Support, "IF function" (support.microsoft.com/en-us/office/69aed7c9-4e8a-4755-a9bc-aa8bbff73be2: value_if_false optional, text in quotes except TRUE and FALSE, 0 and #NAME? problems)
  • Microsoft Support, "VLOOKUP function" (support.microsoft.com/en-us/office/0bbc8083-26fe-4963-8ab8-93a18ad188a1: range_lookup TRUE by default, sorted first column, #N/A, #REF!, #VALUE!, absolute table range, wildcards with FALSE)
  • Microsoft Support, "XLOOKUP function" (support.microsoft.com/en-us/office/b7fd680e-6d10-43e6-84f9-88eae8bf5929: not in Excel 2016 and Excel 2019, exact match by default)
  • Microsoft Support, "How to correct a #VALUE! error" (support.microsoft.com/en-us/office/15e1b616-fbf2-4147-9c0b-0a11a20e409e: + and * may not calculate cells with text, use SUM instead, IFERROR hides all errors)
  • Microsoft Support, "Excel specifications and limits" (15 digits, 64 nested levels, 255 arguments)
  • Google Docs Editors Help, "VLOOKUP" (support.google.com/docs/answer/3093318: is_sorted TRUE by default, FALSE recommended, search down to a larger value, " Apple" and "Apple " differ, wildcards, IFNA, absolute range)
  • Google Docs Editors Help, "XLOOKUP" (support.google.com/docs/answer/12405947)
  • Google Docs Editors Help, "ROUND" (support.google.com/docs/answer/3093440: places optional, 0 by default, rounding by magnitude)
  • Google Docs Editors Help, "IF" (support.google.com/docs/answer/3093364: order of the answers is the most common problem, IFS)
  • Google Docs Editors Help, "AVERAGE" (support.google.com/docs/answer/3093615: text ignored, any number of arguments)
  • Google Docs Editors Help, "COUNTA" (support.google.com/docs/answer/3093991: zero-length strings and spaces count)
  • Google Docs Editors Help, "Keyboard shortcuts for Google Sheets" (support.google.com/docs/answer/181110: F4 and Fn+F4 while entering a formula, F4 as Redo)
  • Pryor Learning and Exceljet (F4 cycle A1, $A$1, A$1, $A1; = comparison not case-sensitive)
  • Ablebits (IF without value_if_false returns FALSE)
  • Spreadsheet Class (Sheets circular dependency shows #REF!)

確認日: 2026-10-19