テクニカルライター きたみあきこ のホームページ
Office Kitami

Office Kitami内の講座ページは閉鎖予定です。
今後は、きたみあきこのOfficeブログ Officeのチカラ をご利用ください。

公開日:2009/12/07 | 最終更新日:2009/12/07
数学/三角関数(2)

指数関数
POWER, EXP

対数関数
LOG, LOG10, LN

円周率や角度を求める関数
PI, RADIANS, DEGREES

三角関数、逆三角関数
SIN, COS, TAN, ASIN, ACOS, ATAN, ATAN2

双曲線関数、逆双曲線関数
SINH, COSH, TANH, ASINH, ACOSH, ATANH

行列や行列式を計算する関数
MEDTERM, MINVERSE, MMULT

階乗、組み合わせ(二項係数)、多項係数に関する関数
FACT, FACTDOUBLE, COMBIN, MULTINOMIAL

べき級数を求める関数
SERIESSUM

数値計算に関する基礎知識
アドイン関数

関数 構文 / 使用例
パワー
POWER
べき乗を計算する
func404
POWER
=POWER(数値, 指数)
数値のべき乗(指数乗)を返す。指数に「1/x」を指定するとべき乗根(x乗根)、「-x」を指定するとx乗の逆数が得られる。LOG関数の逆関数
=POWER(2,3)  →  8  (「=2^3」「func401」と同じ)
=POWER(8, 1/3)  →  2  (「=8^(1/3)」「func402」と同じ)
=POWER(2,-3)  →  0.125  (「=2^-3」「func403」と同じ)
エクスポーネンシャル
EXP
eのべき乗を計算する
func405
EXPonential
=EXP(数値)
自然対数の底e(ネピア数、2.71828182845904)の数値乗を求める。LN関数の逆関数
=EXP(1)  →  2.718281828  (ネピア数eの近似値)
=EXP(2)  →  7.389056099  (ネピア数eの2乗)
関数 構文 / 使用例
ログ
LOG
対数を求める
func406
LOGarithm
=LOG(数値, 底)
指定したにおける数値の対数を求める。を省略すると10を指定したとみなされ、常用対数が返される。POWER関数の逆関数
=LOG(10)  →  1 (10の常用対数)
=LOG(8,2)  →  3 (2を底とする8の対数)
ログ10
LOG10
常用対数を求める
func407
LOGarithm 10
=LOG10(数値)
指定した数値の常用対数(10を底とする対数)を求める
=LOG10(10)  →  1 (10の常用対数)
=LOG10(1000)  →  3 (1000の常用対数)
ログナチュラル
LN
自然対数を求める
func408
Logarithm Natural
=LN(数値)
指定した数値の自然対数(ネピア数eを底とする対数)を求める
=LN(10)  →  2.302585 (10の自然対数)
=LN(EXP(1))  →  1 (ネピア数eの自然対数)

赤字の引数は必須、青字の引数は省略可能です。

関数 構文 / 使用例
パイ
PI
円周率パイを求める
PI
=PI()
円周率πの近似値3.14159265358979(精度15桁)を返す
=PI()  →  3.14159265358979
※戻り値の桁は、セルの小数点以下の桁数の設定によって異なります
ラジアン
RADIANS
度をラジアンに変換する
RADIANS
=RADIANS(角度)
度単位の角度をラジアン単位の数値に変換する
=RADIANS(90)  →  1.5707963267949 (「=90*PI()/180」と同じ)
ディグリーズ
DEGREES
ラジアンを度に変換する
DEGREES
=DEGREES(角度)
ラジアン単位の角度を度単位の数値に変換する
=DEGREES(2)  →  114.591559026165 (「=2*180/PI()」と同じ)
関数 構文 / 使用例
サイン
SIN
正弦を求める
SINe
=SIN(数値)
ラジアン単位で指定した数値の正弦(サイン)を求める
=SIN(5)  →  -0.958924274663138 (5ラジアンのサイン)
=SIN(PI()/2)  →  1 (π/2ラジアンのサイン)
=SIN(RADIANS(30))  →  0.5 (30度のサイン)
コサイン
COS
余弦を求める
COSine
=COS(数値)
ラジアン単位で指定した数値の余弦(コサイン)を求める
=COS(5)  →  0.283662185463226 (5ラジアンのコサイン)
=COS(PI())  →  -1 (πラジアンのコサイン)
=COS(RADIANS(60))  →  0.5 (60度のコサイン)
タンジェント
TAN
正接を求める
TANgent
=TAN(数値)
ラジアン単位で指定した数値の正接(タンジェント)を求める
=TAN(5)  →  -3.38051500624659 (5ラジアンのタンジェント)
=TAN(PI()/4)  →  1 (π/4ラジアンのタンジェント)
=TAN(RADIANS(60))  →  1.73205080756888 (60度のタンジェント)
アークサイン
ASIN
逆正弦を求める
ArcSINe
=ASIN(数値)
指定した数値の逆正弦(アークサイン)を求める。戻り値は、-π/2〜π/2の範囲のラジアン単位の角度。数値に-1〜1の範囲を超える数値を指定すると、エラー値「#NUM!」が返る。SIN関数の逆関数
■0.5のアークサインを求める
=ASIN(0.5)  →  0.523598775598299 (ラジアン単位)
=DEGREES(ASIN(0.5))  →  30 (度単位)
アークコサイン
ACOS
逆余弦を求める
ArcCOSine
=ACOS(数値)
指定した数値の逆余弦(アークコサイン)を求める。戻り値は、0〜πの範囲のラジアン単位の角度。数値に-1〜1の範囲を超える数値を指定すると、エラー値「#NUM!」が返る。COS関数の逆関数
■0.5のアークコサインを求める
=ACOS(0.5)  →  1.0471975511966 (ラジアン単位)
=DEGREES(ACOS(0.5))  →  60 (度単位)
アークタンジェント
ATAN
逆正接を求める
ArcTANgent
=ATAN(数値)
指定した数値の逆正接(アークタンジェント)を求める。戻り値は、-π/2〜π/2の範囲のラジアン単位の角度。TAN関数の逆関数
■1のアークタンジェントを求める
=ATAN(1)  →  0.785398163397448 (ラジアン単位)
=DEGREES(ATAN(1))  →  45 (度単位)
アークタンジェント2
ATAN2
逆正接を求める
ArcTANgent 2
=ATAN2(x座標, y座標)
x座標y座標で指定した座標の逆正接(アークタンジェント)を求める。戻り値は-π〜π(ただし-πを除く)の範囲のラジアン単位の角度で、原点と座標(x, y)を通る直線がx軸との間でなす角度になる。
ATAN2(x, y) = ATAN(y/x) (ただしx≠0)
■座標(2, 2)のアークタンジェントを求める
=ATAN2(2,2)  →  0.785398163397448 (ラジアン単位)
=DEGREES(ATAN2(2,2))  →  45 (度単位)

■三角関数と逆三角関数

func409

SIN(θ) = y
COS(θ) = x
TAN(θ) = y / x

θ = ASIN(y)
θ = ACOS(x)
θ = ATAN(y/x) = ATAN2(x,y)

関数 構文 / 使用例
ハイパーボリックサイン
SINH
双曲線正弦を求める
func410
SINe Hyperbolic
=SINH(数値)
指定した数値の双曲線正弦(ハイパーボリックサイン)を求める
=SINH(1)  →  1.1752011936438
ハイパーボリックコサイン
COSH
双曲線余弦を求める
func411
COSine Hyperbolic
=COSH(数値)
指定した数値の双曲線余弦(ハイパーボリックコサイン)を求める
=COSH(1)  →  1.54308063481524
ハイパーボリックタンジェント
TANH
双曲線正接を求める
func412
TANgent Hyperbolic
=TANH(数値)
指定した数値の双曲線正接(ハイパーボリックタンジェント)を求める
=TANH(1)  →  0.761594155955765
ハイパーボリックアークサイン
ASINH
双曲線逆正弦を求める
ArcSINe Hyperbolic
=ASINH(数値)
指定した数値の双曲線逆正弦(ハイパーボリックアークサイン)を求める。SINH関数の逆関数
=ASINH(1)  →  0.881373587019543
ハイパーボリックアークコサイン
ACOSH
双曲線逆余弦を求める
ArcCOSine Hyperbolic
=ACOSH(数値)
指定した数値の双曲線逆余弦(ハイパーボリックアークコサイン)を求める。COSH関数の逆関数
=ACOSH(1)  →  0
ハイパーボリックアークタンジェント
ATANH
双曲線逆正接を求める
ArcTANgent Hyperbolic
=ATANH(数値)
指定した数値の双曲線逆正接(ハイパーボリックアークタンジェント)を求める。TANH関数の逆関数
=ATANH(0.5)  →  0.549306144334055
関数 構文 / 使用例
エムデターム
MDETERM
行列式を求める
Matrix DETERMinant
=MDETERM(配列)
指定した配列の行列式を求める。配列には行数と列数が等しい数値配列(正方行列)をセル範囲や配列定数で指定する。計算の精度は約16桁
func413
=MDETERM(A1:C3)  →  25 (セル範囲で行列を指定)
=MDETERM({1,2,3;3,1,3;2,4,1})  →  25 (配列定数で行列を指定)
※「=MDETERM(A1:C3)」の戻り値は「=A1*B2*C3+B1*C2*A3+C1*A2*B3-C1*B2*A3-B1*A2*C3-A1*C2*B3」の結果同じ
エムインバース
MINVERSE
逆行列を求める
Matrix INVERSE
=MINVERSE(配列)
指定した配列の逆行列を求める。配列には行数と列数が等しい数値配列(正方行列)をセル範囲や配列定数で指定する。逆行列がない行列(行列式の値が0の行列)を指定した場合、エラー値「#NUM!」が返る。計算の精度は約16桁。
得られる結果は行列になるので、配列と同じ大きさのセル範囲をあらかじめ選択しておき、MINVERSE関数を入力して、【Ctrl】+【Shift】+【Enter】キーで確定する。すると式が「{ }」で囲まれ、配列数式になる
func414
{=MINVERSE(A2:C4)}  →  (上図のセル範囲E2:G4)
エムマルチ
MMULT
行列の積を求める
Matrix MULTiplication
=MMULT(配列1, 配列2)
配列1配列2の積を求める。配列1の列数と配列2の行数は等しくなければならない。
得られる結果は行列になるので、配列1と同じ行数、配列2と同じ列数のセル範囲をあらかじめ選択しておき、MMULT関数を入力して、【Ctrl】+【Shift】+【Enter】キーで確定する。すると式が「{ }」で囲まれ、配列数式になる
func415
{=MMULT(A2:C3,E2:E4)}  →  (上図のセル範囲G2:G3)
※セルG2の値は、「=A2*E2+B2*E3+C2*E4」の結果と同じ
※セルG3の値は、「=A3*E2+B3*E3+C3*E4」の結果と同じ
関数 構文 / 使用例
ファクト
FACT
階乗を求める
FACTorial
=FACT(数値)
数値の階乗「n !」を求める。階乗とは、1から数値の範囲にある整数の積のこと
n ! = n × (n-1) × (n-2) ×・・・× 2 × 1
=FACT(5)  →  120 (5×4×3×2×1)
=FACT(0)  →  1
=FACT(-2)  →  #NUM!
ファクトダブル
FACTDOUBLE
二重階乗を求める
=FACTDOUBLE(数値)
数値の二重階乗「n !!」を求める
数値 n が偶数のとき  :  n !! = n × (n-2) × (n-4) ×・・・× 4 × 2
数値 n が奇数のとき  :  n !! = n × (n-2) × (n-4) ×・・・× 3 × 1
数値 n が0のとき  :  n !! = 1
=FACTDOUBLE(7)  →  105 (7×5×3×1)
=FACTDOUBLE(8)  →  384 (8×6×4×2)
=FACTDOUBLE(0)  →  1
=FACTDOUBLE(-2)  →  #NUM!
コンビネーション
COMBIN
組み合わせの数を求める
func421
COMBINation
=COMBIN(総数, 抜き取り数)
総数の中から指定した個数(抜き取り数)を抜き出すときの組み合わせの数を求める。
左の公式は、総数n、抜き取り数k としたときの組み合わせの総数を求める式

CONBIN関数は、二項係数の計算にも使える。「func422」において、「func423」の係数は「=CONBIN(n,k)」で求められる
func430
=COMBIN(4,2)  →  6  func424
  (4個の中から2個抜き出す組み合わせの数、「func425」における「func426」の係数)
=COMBIN(5,3)  →  10  func427
  (5個の中から3個抜き出す組み合わせの数、「func428」における「func429」の係数)
マルチノミアル
MULTINOMIAL
多項係数を求める
=MULTINOMIAL(数値1, 数値2, ・・・)
数値の和の階乗と数値の階乗の積との比、すなわち多項係数を求める。引数は、2003以前のExcelでは29個、2007以降のExcelでは255個まで指定できる。
たとえば数値を3つ指定した場合の多項係数(「func431」における「func432」の係数)は次式で求められる
func433
=MULTINOMIAL(2,3)  →  10  (「func428」における「func429」の係数)
  (COMBIN(5,3)と同じ)
=MULTINOMIAL(1,1,0)  →  2  (「func434」における「ab」の係数)
=MULTINOMIAL(2,0,0)  →  1  (「func434」における「func435」の係数)
=MULTINOMIAL(1,1,1)  →  6  (「func436」における「abc」の係数)
=MULTINOMIAL(1,2,0)  →  3  (「func436」における「func437」の係数)

赤字の引数は必須、青字の引数は省略可能です。

関数 構文 / 使用例
シリーズサム
SERIESSUM
べき級数を求める
=SERIESSUM(x, n, m, 係数)
次の式で定義されるべき級数を返す。(「i」は係数の個数とする)
func438
x にはべき級数の変数xの値、n には x のべき乗の初期値、m には x のべき乗の増分値を指定する。また、係数には各項の係数をセル範囲や配列定数で指定する。係数の個数がべき級数の項数になる
func439
=SERIESSUM(A2,1,2,B2:E2)  →  0.479425533234127
func440 の結果と同じ

「アドイン」とは、Excelに組み込んで使用する追加機能のことです。Excel 2003までは、「分析ツール」というアドインを組み込まないと次の関数を使用できません。

FACTDOUBLE, MULTINOMIAL, SERIESSUM

「分析ツール」アドインを組み込むには、[ツール]メニューの[アドイン]を選択して[アドイン]ダイアログボックスを表示し、[分析ツール]をオンにして[OK]ボタンをクリックします。

■[アドイン]ダイアログボックス
func114

なお、Excel 2007では、アドインを組み込みまなくても、上記の関数を使用できます。