「Excel - 数学関数」の版間の差分

提供: MochiuWiki : SUSE, EC, PCB

270行目: 270行目:
<br>
<br>
使用例:
使用例:
* =TRUNC(123.456, 2) 123.45
* =TRUNC(123.456, 2)
* =TRUNC(123.456) 123(桁数省略時は整数に)
*: 123.45
* =TRUNC(-123.456) -123(負の数も0に近い方へ切り捨て)
* =TRUNC(123.456)
*: 123 (桁数省略時は整数に)
* =TRUNC(-123.456)
*: -123 (負の数も0に近い方へ切り捨て)
<br>
<br>
違い:
INT関数との違いは、負の数の扱いである。<br>
* INT関数との違いは負の数の扱い
* TRUNC(-123.456)
* TRUNC(-123.456) -123
*: -123
* INT(-123.456) -124
* INT(-123.456)
*: -124
<br>
<br>
==== CEILING / FLOOR関数 ====
==== CEILING / FLOOR関数 ====
指定した基準値の倍数に丸める関数である。<br>
指定した基準値の倍数に丸める関数である。<br>
<br>
<br>
構文:
構文:<br>
  =CEILING(数値, 基準値)
  =CEILING(数値, 基準値)
  =FLOOR(数値, 基準値)
  =FLOOR(数値, 基準値)
<br>
<br>
使用例:
使用例:<br>
* =CEILING(123, 10) 130(10の倍数に切り上げ)
* =CEILING(123, 10)
* =FLOOR(123, 10) 120(10の倍数に切り捨て)
*: 130 (10の倍数に切り上げ)
* =CEILING(1.23, 0.5) 1.5(0.5の倍数に切り上げ)
* =FLOOR(123, 10)
*: 120 (10の倍数に切り捨て)
* =CEILING(1.23, 0.5)
*: 1.5 (0.5の倍数に切り上げ)
<br>
<br>
応用例:
応用例:<br>
* 時間を15分単位に丸める: =CEILING(A1, "0:15")
* 時間を15分単位に丸める
* 価格を100円単位に切り上げ: =CEILING(A1, 100)
*: =CEILING(A1, "0:15")
* 価格を100円単位に切り上げ
*: =CEILING(A1, 100)
<br>
<br>
==== MROUND関数 ====
==== MROUND関数 ====
指定した倍数の最も近い値に丸める関数である。<br>
指定した倍数の最も近い値に丸める関数である。<br>
<br>
<br>
構文:
構文:<br>
  =MROUND(数値, 倍数)
  =MROUND(数値, 倍数)
<br>
<br>
使用例:
使用例:<br>
* =MROUND(123, 10) 120(10の倍数に四捨五入)
* =MROUND(123, 10)
* =MROUND(127, 10) 130
*: 120 (10の倍数に四捨五入)
* =MROUND(1.23, 0.5) 1.0(0.5の倍数に四捨五入)
* =MROUND(127, 10)
<br>
*: 130
<br>
* =MROUND(1.23, 0.5)
*: 1.0 (0.5の倍数に四捨五入)
<br><br>


== 三角関数 ==
== 三角関数 ==

2025年12月5日 (金) 23:22時点における版

概要

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(サインが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.71828...(eの値)
  • =EXP(2) → 7.389...(e²)


LN / LOG / LOG10関数

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

構文:

=LN(数値)        ← 自然対数(底e)
=LOG10(数値)     ← 常用対数(底10)
=LOG(数値, [底]) ← 任意の底の対数


使用例:

  • =LN(EXP(1)) → 1
  • =LOG10(100) → 2(10²=100)
  • =LOG(8, 2) → 3(2³=8)



絶対値・符号・剰余関数

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の余り)


応用例:

  • 偶数判定: =MOD(A1, 2)=0(TRUEなら偶数)
  • 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と定義)


COMBIN / PERMUT関数

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

構文:

=COMBIN(総数, 抜き取り数) ← 組み合わせ(nCr)
=PERMUT(総数, 抜き取り数) ← 順列(nPr)


使用例:

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


違い:

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


SUMPRODUCT関数

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

構文:

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


使用例:

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


応用例:

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



実用的な使用例

消費税込み価格の計算

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

=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分単位に切り上げられる。