Excel - 数学関数

提供: MochiuWiki : SUSE, EC, PCB

📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

概要

Excelの数学関数は、数値データの計算や分析において基本的かつ重要な機能である。
四則演算、合計、平均、カウント、丸め処理等の基本的な計算から、三角関数、対数関数、べき乗計算等の高度な数学関数まで、幅広い計算機能を提供している。

主な機能として、データの集計 (SUM、AVERAGE系)、条件付き集計 (SUMIF、COUNTIF系)、丸め処理 (ROUND系)、三角関数 (SIN、COS系)、その他の数学関数 (POWER、SQRT、MOD等)がある。

これらの関数は、財務計算、統計分析、工学計算、データ集計等、様々な業務シーンで活用される。


基本的な四則演算

Excelでは、セル内で四則演算を直接記述できる。

数式は必ず = から始め、以下に示す演算子を使用する。

  • +
    加算
  • -
    減算
  • *
    乗算
  • /
    除算
  • ^
    べき乗


使用例

  • =A1+B1
    A1とB1の合計
  • =A1-B1
    A1からB1を減算
  • =A1*B1
    A1とB1の積
  • =A1/B1
    A1をB1で除算
  • =A1^2
    A1の2乗


演算の優先順位

  1. 括弧 ()
  2. 冪乗 ^
  3. 乗算 * と 除算 /
  4. 加算 + と 減算 -


例えば、=(A1+B1)*C1 のように括弧を使用して計算順序を制御できる。


合計関数 (SUM系)

SUM関数

指定した範囲の数値を合計する最も基本的な関数である。

構文:

=SUM(数値1, [数値2], ...)


使用例:

  • =SUM(A1:A10)
    A1からA10までの合計
  • =SUM(A1:A10, C1:C10)
    複数範囲の合計
  • =SUM(A1, A3, A5)
    個別セルの合計


※注意

  • 文字列や空白セルは無視される
  • エラー値が含まれる場合はエラーを返す


SUMIF関数

条件に一致するセルのみを合計する関数である。

構文:

=SUMIF(範囲, 条件, [合計範囲])


使用例:

  • =SUMIF(A1:A10, ">=100", B1:B10)
    A列が100以上の行のB列を合計
  • =SUMIF(A1:A10, "東京", B1:B10)
    A列が「東京」の行のB列を合計
  • =SUMIF(B1:B10, ">0")
    B列の正の数のみを合計


SUMIFS関数

複数の条件に一致するセルを合計する関数である。

構文:

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


使用例:

  • =SUMIFS(C1:C10, A1:A10, "東京", B1:B10, ">=100")
    A列が「東京」かつB列が100以上の行のC列を合計


注意

  • SUMIFと引数の順序が異なる。(合計範囲が最初)
  • 最大127組の条件を指定可能。


SUBTOTAL関数

フィルタ適用時に非表示行を除外して集計する関数である。

構文:

=SUBTOTAL(集計方法, 範囲1, [範囲2], ...)


集計方法の番号:

  • 1 または 101
    AVERAGE (平均)
  • 2 または 102
    COUNT (数値のカウント)
  • 3 または 103
    COUNTA (空白以外のカウント)
  • 4 または 104
    MAX (最大値)
  • 5 または 105
    MIN (最小値)
  • 9 または 109
    SUM (合計)
  • 番号100台は手動で非表示にした行も除外する。


使用例:

  • =SUBTOTAL(9, B2:B100)
    B列の合計 (フィルタ時は表示行のみ)
  • =SUBTOTAL(109, B2:B100)
    手動非表示も除外した合計



平均・カウント関数

AVERAGE関数

数値の平均を計算する関数である。

構文:

=AVERAGE(数値1, [数値2], ...)


使用例:

  • =AVERAGE(A1:A10)
    A1からA10までの平均
  • =AVERAGE(A1:A10, C1:C10)
    複数範囲の平均


※注意

  • 空白セルや文字列は無視される。
  • 0は計算に含まれる。


AVERAGEIF / AVERAGEIFS関数

条件に一致するセルの平均を計算する関数である。

構文:

=AVERAGEIF(範囲, 条件, [平均範囲])
=AVERAGEIFS(平均範囲, 条件範囲1, 条件1, [条件範囲2, 条件2], ...)


使用例:

  • =AVERAGEIF(A1:A10, ">=60")
    60以上の値の平均
  • =AVERAGEIFS(C1:C10, A1:A10, "東京", B1:B10, ">=100")
    複数条件での平均


COUNT / COUNTA関数

セルの個数をカウントする関数である。

構文:

=COUNT(値1, [値2], ...)
=COUNTA(値1, [値2], ...)


COUNT関数 / COUNTA関数の違い:

  • COUNT
    数値が入力されているセルをカウント
  • COUNTA
    空白以外のセルをカウント (文字列も含む)


使用例:

  • =COUNT(A1:A10)
    A1からA10の数値セル数
  • =COUNTA(A1:A10)
    A1からA10の空白以外のセル数


COUNTIF / COUNTIFS関数

条件に一致するセルの個数をカウントする関数である。

構文:

=COUNTIF(範囲, 条件)
=COUNTIFS(条件範囲1, 条件1, [条件範囲2, 条件2], ...)


使用例:

  • =COUNTIF(A1:A10, ">=60")
    60以上のセル数
  • =COUNTIF(A1:A10, "東京")
    「東京」と一致するセル数
  • =COUNTIFS(A1:A10, "東京", B1:B10, ">=100")
    複数条件でのカウント


MAX / MIN関数

範囲内の最大値・最小値を取得する関数である。

構文:

=MAX(数値1, [数値2], ...)
=MIN(数値1, [数値2], ...)


使用例:

  • =MAX(A1:A10)
    A1からA10の最大値
  • =MIN(A1:A10)
    A1からA10の最小値



丸め処理関数

ROUND関数

指定した桁数で四捨五入する関数である。

構文:

=ROUND(数値, 桁数)


桁数の指定:

  • 正の数
    小数点以下の桁数
  • 0
    整数に丸める
  • 負の数
    小数点より左側の桁数


使用例:

  • =ROUND(123.456, 2)
    123.46 (小数第2位まで)
  • =ROUND(123.456, 0)
    123 (整数に丸める)
  • =ROUND(1234.56, -2)
    1200 (百の位に丸める)


ROUNDUP関数

指定した桁数で切り上げる関数である。

構文:

=ROUNDUP(数値, 桁数)


使用例:

  • =ROUNDUP(123.456, 2)
    123.46
  • =ROUNDUP(123.001, 0)
    124
  • =ROUNDUP(123.456, -2)
    200


ROUNDDOWN関数

指定した桁数で切り捨てる関数である。

構文:

=ROUNDDOWN(数値, 桁数)


使用例:

  • =ROUNDDOWN(123.456, 2)
    123.45
  • =ROUNDDOWN(123.999, 0)
    123
  • =ROUNDDOWN(1234.56, -2)
    1200


INT関数

小数点以下を切り捨てて整数部分を返す関数である。

構文:

=INT(数値)


使用例:

  • =INT(123.456)
    123
  • =INT(-123.456)
    -124 (負の数は小さい方に丸める)


※注意

  • 負の数の場合、ROUNDDOWN(数値, 0)とは結果が異なる。


TRUNC関数

指定した桁数で数値を切り捨てる関数である。

構文:

=TRUNC(数値, [桁数])


使用例:

  • =TRUNC(123.456, 2)
    123.45
  • =TRUNC(123.456)
    123 (桁数省略時は整数に)
  • =TRUNC(-123.456)
    -123 (負の数も0に近い方へ切り捨て)


INT関数との違いは、負の数の扱いである。

  • TRUNC(-123.456)
    -123
  • INT(-123.456)
    -124


CEILING / FLOOR関数

指定した基準値の倍数に丸める関数である。

構文:

=CEILING(数値, 基準値)
=FLOOR(数値, 基準値)


使用例:

  • =CEILING(123, 10)
    130 (10の倍数に切り上げ)
  • =FLOOR(123, 10)
    120 (10の倍数に切り捨て)
  • =CEILING(1.23, 0.5)
    1.5 (0.5の倍数に切り上げ)


応用例:

  • 時間を15分単位に丸める
    =CEILING(A1, "0:15")
  • 価格を100円単位に切り上げ
    =CEILING(A1, 100)


MROUND関数

指定した倍数の最も近い値に丸める関数である。

構文:

=MROUND(数値, 倍数)


使用例:

  • =MROUND(123, 10)
    120 (10の倍数に四捨五入)
  • =MROUND(127, 10)
    130
  • =MROUND(1.23, 0.5)
    1.0 (0.5の倍数に四捨五入)



三角関数

SIN / COS / TAN関数

基本的な三角関数を計算する関数である。

構文:

=SIN(角度)
=COS(角度)
=TAN(角度)


※注意

  • 角度の単位は、ラジアンで指定する必要がある。
  • 度数法の角度を使用する場合は、RADIANS関数で変換する。


使用例:

  • =SIN(RADIANS(30))
    0.5 (30度のサイン)
  • =COS(RADIANS(60))
    0.5 (60度のコサイン)
  • =TAN(RADIANS(45))
    1 (45度のタンジェント)


ASIN / ACOS / ATAN関数

逆三角関数 (アークサイン、アークコサイン、アークタンジェント) を計算する関数である。

構文:

=ASIN(数値)
=ACOS(数値)
=ATAN(数値)


※注意

  • 結果はラジアンで返される。
  • 度数法に変換する場合は、DEGREES関数を使用する。


使用例:

  • =DEGREES(ASIN(0.5))
    30 (sin(0.5)は、30度)
  • =DEGREES(ACOS(0.5))
    60
  • =DEGREES(ATAN(1))
    45


RADIANS / DEGREES関数

角度の単位を変換する関数である。

構文:

度数法からラジアンへ変換
=RADIANS(角度)

ラジアンから度数法へ変換
=DEGREES(角度)


使用例:

  • =RADIANS(180)
    3.14159... (π)
  • =DEGREES(PI())
    180


PI関数

円周率πの値を返す関数である。

構文:

=PI()


使用例:

  • =PI()
    3.14159265358979...
  • =2*PI()*A1
    円周の計算 (A1セルに半径を入力)
  • =PI()*A1^2
    円の面積の計算 (A1セルに半径を入力)



べき乗・対数・指数関数

POWER関数

冪乗 (累乗) を計算する関数である。

構文:

=POWER(数値, 指数)


使用例:

  • =POWER(2, 3)
    8 (2の3乗)
  • =POWER(10, -2)
    0.01 (10の-2乗)
  • =POWER(4, 0.5)
    2 (4の平方根)


※注意
=A1^2 のように演算子 ^ でも同じ計算が可能である。

SQRT関数

平方根を計算する関数である。

構文:

=SQRT(数値)


使用例:

  • =SQRT(16)
    4
  • =SQRT(2)
    1.414...


※注意

  • 負の数を指定するとエラー (#NUM!) になる。
  • これは、=POWER(A1, 0.5) と同じ結果である。


EXP関数

自然対数の底e (ネイピア数) の冪乗を計算する関数である。

構文:

=EXP(数値)


使用例:

  • =EXP(1)
    2.718281... (eの値)
  • =EXP(2)
    7.389... (e2)


LN / LOG / LOG10関数

対数を計算する関数である。

構文:

自然対数 (底e)
=LN(数値)

常用対数 (底10)
=LOG10(数値)

任意の底の対数
=LOG(数値, [底])


使用例:

  • =LN(EXP(1))
    1
  • =LOG10(100)
    2
  • =LOG(8, 2)
    3



絶対値・符号・剰余関数

ABS関数

絶対値を返す関数である。

構文:

=ABS(数値)


使用例:

  • =ABS(-5)
    5
  • =ABS(5)
    5
  • =ABS(A1-B1)
    差の絶対値


SIGN関数

数値の符号を判定する関数である。

構文:

=SIGN(数値)


戻り値:

  • 1
    正の数
  • 0
    ゼロ
  • -1
    負の数


使用例:

  • =SIGN(10)
    1
  • =SIGN(0)
    0
  • =SIGN(-10)
    -1


MOD関数

除算の剰余(余り)を返す関数である。

構文:

=MOD(数値, 除数)


使用例:

  • =MOD(10, 3)
    1 (10÷3の余り)
  • =MOD(15, 4)
    3 (15÷4の余り)


応用例:

  • 偶数判定
    TRUEなら偶数である。
    =MOD(A1, 2)=0
  • N行おきに色を付ける条件付き書式
    =MOD(ROW(), 2)=0



その他の数学関数

PRODUCT関数

指定した数値の積 (乗算の結果) を計算する関数である。

構文:

=PRODUCT(数値1, [数値2], ...)


使用例:

  • =PRODUCT(2, 3, 4)
    24 (2×3×4)
  • =PRODUCT(A1:A5)
    A1からA5までの積


QUOTIENT関数

除算の商の整数部分を返す関数である。

構文:

=QUOTIENT(分子, 分母)


使用例:

  • =QUOTIENT(10, 3)
    3 (10÷3の商)
  • =QUOTIENT(15, 4)
    3 (15÷4の商)


関連:

  • MOD関数と組み合わせて、商と余りを両方求めることができる。


GCD / LCM関数

最大公約数と最小公倍数を求める関数である。

構文:

最大公約数
=GCD(数値1, [数値2], ...)

最小公倍数
=LCM(数値1, [数値2], ...)


使用例:

  • =GCD(12, 18)
    6 (12と18の最大公約数)
  • =LCM(12, 18)
    36 (12と18の最小公倍数)
  • =GCD(24, 36, 48)
    12 (複数の数値も可能)


FACT関数

階乗を計算する関数である。

構文:

=FACT(数値)


使用例:

  • =FACT(5)
    120 (5! = 5×4×3×2×1)
  • =FACT(0)
    1 (0! = 1と定義)


PERMUT / COMBIN関数

組み合わせと順列の数を計算する関数である。

構文:

順列(nPr)
=PERMUT(総数, 抜き取り数)

組み合わせ(nCr)
=COMBIN(総数, 抜き取り数)


使用例:

  • =PERMUT(5, 2)
    20 (5個から2個選ぶ順列)
  • =COMBIN(5, 2)
    10 (5個から2個選ぶ組み合わせ)


PERMUT関数とCOMBIN関数の違い:

  • PERMUT
    順序を考慮する。(AB ≠ BA)
  • COMBIN
    順序を考慮しない。(AB = BA)


SUMPRODUCT関数

配列の対応する要素の積を合計する関数である。

構文:

=SUMPRODUCT(配列1, [配列2], ...)


使用例:

  • =SUMPRODUCT(A1:A5, B1:B5)
    (A1×B1) + (A2×B2) + ... + (A5×B5)


応用例:

  • 単価×数量の合計を1度に計算する場合に使用する。
  • 複雑な条件付き集計にも使用可能。



実用的な使用例

消費税込み価格の計算

消費税を含めた価格を計算し、適切に丸める例。

=ROUNDDOWN(A1*1.1, 0)


A1の価格に10%の消費税を加算し、小数点以下を切り捨てる。

成績処理

テストの合計点と平均点を計算する例。

合計:

=SUM(B2:E2)


平均:

=AVERAGE(B2:E2)

または

=ROUND(AVERAGE(B2:E2), 1)


小数第1位まで表示する場合は、ROUND関数を併用する。

条件付き集計

特定の条件を満たすデータのみを集計する例。

売上が10万円以上の合計:

=SUMIF(B2:B100, ">=100000")


東京支店の売上合計:

=SUMIF(A2:A100, "東京", B2:B100)


東京支店かつ10万円以上の売上合計:

=SUMIFS(C2:C100, A2:A100, "東京", B2:B100, ">=100000")


割引計算

購入金額に応じた割引率を適用する例。

10%引き後の価格(端数切り捨て):

=ROUNDDOWN(A1*0.9, 0)


1000円単位に切り上げ:

=CEILING(A1, 1000)


エラー回避

除算でゼロ除算エラーを回避する例。

=IF(B1=0, 0, A1/B1)

または

=IFERROR(A1/B1, 0)


B1がゼロの場合にエラーではなく0を表示する。

偶数・奇数の判定

MOD関数を使って偶数・奇数を判定する例。

=IF(MOD(A1, 2)=0, "偶数", "奇数")


時間の丸め処理

勤務時間を15分単位に切り上げる例。

=CEILING(A1, "0:15")


A1に時刻データが入っている場合、15分単位に切り上げられる。