この記事では Excel で三角関数と逆三角関数を計算する方法について解説します。VBA の三角関数については、こちらの記事を参照してください。
三角関数の定義と基本公式
下の図にあるように、直交座標に単位円 (半径 $1$ の円) を描き、円周上に適当な点 $P(x,y)$ をとります。
このとき、余弦関数 (cosine function) と正弦関数 (sine function) を
\[\begin{align*}&\cos\theta=x\tag{1}\\[6pt]&\sin\theta=y\tag{2}\end{align*}\]
と定義します。$(\cos\theta,\:\sin\theta)$ は円周上の点なので、円の方程式 $x^2+y^2=1$ より
\[\cos^2\theta+\sin^2\theta=1\tag{3}\]
が成り立ちます (ピタゴラスの基本三角関数公式)。またこのとき、正接関数 (tangent function) を
\[\tan\theta=\frac{x}{y}=\frac{\sin\theta}{\cos\theta}\tag{4}\]
と定義します ($\tan\theta$ は線分 $OP$ の傾きです)。また、余弦関数、正弦関数、正接関数の逆数をそれぞれ正割関数 (secant function)、余割関数 (cosecant function)、余接関数 (cotangent function) とよび、それぞれ $\sec\theta,\:\csc\theta,\:\cot\theta$ で表します:
\[\begin{align*}&\sec\theta=\frac{1}{\cos\theta}\tag{5}\\[6pt]&\csc\theta=\frac{1}{\sin\theta}\tag{6}\\[6pt]&\cot\theta=\frac{1}{\tan\theta}\tag{7}\end{align*}\]
Excel で $\sin 30^\circ=\sin\cfrac{\pi}{6}$ を計算してみましょう。Excel には正弦関数を計算する SIN 関数が用意されています。引数には弧度法の角度 (ラジアン) を渡します。適当なセルに
=SIN(PI()/6)
と入力すると「0.5」が得られます。同様に、$\cos 30^\circ=\cos\cfrac{\pi}{6}$ を計算するときは
=COS(PI()/6)
と入力します (戻り値は 0.866025404)。$\tan 30^\circ=\tan\cfrac{\pi}{6}$ を計算するときは
=TAN(PI()/6)
と入力します (戻り値は「0.577350269」)。
角度を度数法で扱いたいこともあるでしょう。そのようなときは、RADIANS 関数で度数法の角度をラジアンに変換してから三角関数に渡します。たとえば、$30^\circ$ の正弦関数を計算するときは、
=SIN(RADIANS(30))
と入力します (戻り値は 0.5)。Excel で計算するうえでは、こちらのほうが見た目がスマートな表記といえるかもしれません。
$\theta=\cfrac{\pi}{6}$ のときに、ピタゴラスの基本三角関数公式 (3) が成立していることを確認してみましょう。
=COS(RADIANS(30))^2+SIN(RADIANS(30))^2
と入力すると「1」が返ります。
Excel に用意されている 6 種類の 三角関数 (SIN, COS, TAN, SEC, CSC, COT) について、以下で簡単に使い方を解説しておきます。
【Excel】SIN
Excel の SIN は受け取った数値の正弦値 (sine) を返します。数値はラジアンで指定します。たとえば、
=SIN(PI())
と入力すると 1.22515E-16 が返ります。値が 0 にはならないのは PI関数が円周率の近似値を返すからです。ただし、
=SIN(PI()/2)
と入力すると sin(π/2) が計算されて「 1 」が返ります。これは内部処理によって、このような値を返すように設定されているからです。このように、Excel で三角関数を扱うときには正確な値を返す場合と、そうでない場合があるので十分に注意する必要があります。角度を度数法で指定したいときは「度」から「ラジアン」へ変換する RADIANS関数をネストします。たとえば
=SIN(RADIANS(45))
とすると、sin45°が計算されて「0.7071…」が返ります。
【Excel】COS
Excel の COS は受け取った数値の余弦値 (cosince) を返します。数値はラジアンで指定します。たとえば、
=COS(PI())
と入力すると cosπ が計算されて「-1」が返ります。角度を度数法単位で指定したいときは「度」から「ラジアン」へ変換する RADIANS関数を併用します。たとえば
=COS(RADIANS(30))
とすると、cos30°が計算されて「0.8660…」が返ります。
【Excel】TAN
Excel のTAN は、受け取った数値の正弦値 (tangent) を計算します。数値はラジアンで指定します。たとえば、
=TAN(PI()/4)
と入力すると tan(π/4) が計算されて「1」が返ります。角度を度数法単位で指定したいときは「度」から「ラジアン」へ変換する RADIANS 関数をネストしてください。たとえば
=TAN(RADIANS(60))
とすると、tan60°が計算されて「1.7320…」が返ります。
【Excel】SEC
Excel の SEC は受け取った数値の正割値 (secant) を計算します。SEC 関数は COS 関数の逆数関係にあり、
=1/COS(数値)
と同じ値を返します。数値はラジアンで指定します。たとえば、
=SEC(PI()/4)
と入力すると sec(π/4) が計算されて「1.4142…」が返ります。角度を度数法で指定したいときは RADIANS 関数を併用します。たとえば
=SEC(RADIANS(45))
とすると、sec45°が計算されて「1.4142…」が返ります。
【Excel】CSC
Excel の CSC は受け取った数値の余割値を計算します。CSC 関数は SIN 関数の逆数として定義されていて、
=1/SIN(数値)
と同じ値を返します。数値はラジアンで指定します。たとえば、
=CSC(PI()/2)
と入力すると csc(π/2) が計算されて「1」が返ります。角度を度数法単位で指定したいときは RADIANS 関数をネストします。たとえば
=CSC(RADIANS(90))
とすると、csc90°が計算されて「1」が返ってきます。
【Excel】COT
Excel の COT は受け取った数値の余接値を計算します。COT 関数は TAN 関数の逆数として定義されていて、
=1/TAN(数値)
と同じ値を返します。数値はラジアンで指定します。たとえば、
=COT(PI()/6)
と入力すると csc(π/6) が計算されて「1.7320…」が戻ります。角度を度数法単位で指定するときは RADIANS 関数をネストしてください。たとえば
=COT(RADIANS(30))
とすると、cot30°が計算されて「1.7320…」が返ります。
逆三角関数
逆三角関数は三角関数の逆関数として定義されます。たとえば、逆正弦関数 (arcsine)
\[y=\arcsin{x}\]
において、$x$ と $y$ は $x=\sin{y}$ の関係を満たすものとします。同様に逆余弦関数 (arccosine)
\[y=\arccos{x}\]
は $x=\cos{y}$ を満たす関数であり、逆正接関数 (arctangent)
\[y=\arctan{x}\]
は $x=\tan{y}$ を満たす関数です。
以下で、Excel に用意されている 4 種類の逆三角関数について解説します。
【Excel】ASIN
Excel の ASIN は正弦値 (sinx) から角度 x を求める関数です。
=ASIN(数値)
数値は -1 ~ 1 の範囲で指定します。戻り値の角度は –π/2 ~ π/2 ラジアンとなります。たとえば
=ASIN(1)
とすると sinx=1 を満たす角度「1.571」が戻ります。戻り値を度数法で表示したい場合は [ラジアン] から [度] に変換する DEGREES 関数をネストします。たとえば
=DEGREES(ASIN(1))
と入力すると sinx=1 を満たす角度「90」を得ます。
【Excel】ACOS
Excel の ACOS は余弦値 (cosx) から角度 x を求める関数です。
=ACOS(数値)
数値は -1 ~ 1 の範囲で指定します。戻り値は 0 ~ π ラジアンです。たとえば
=ACOS(0.5)
とすると sinx = 1/2 を満たす角度「1.047」が戻ります。戻り値を度数法単位で表示する場合は [ラジアン] から [度] に変換する DEGREES 関数を用います。たとえば
=DEGREES(ACOS(1))
と入力すると cosx = 0.5 を満たす角度「60」を得ます。
【Excel】ATAN
Excel の ATAN は正接値 (tanx) から角度 x を求める関数です。
=ATAN(数値)
任意の数値が指定できます。戻り値は –π/2 ~ π/2 ラジアンです。たとえば
=ATAN(1)
とすると tanx=1 を満たす角度「0.785」が戻ります。戻り値を度数法で表示する場合はDEGREES関数を併用します。たとえば
=DEGREES(ATAN(1))
と入力すると tanx=1 を満たす角度「45」が返ります。
【Excel】ATAN2
Excel の ATAN2 は xy直交座標で示される座標点から角度 x を求める関数です。
=ATAN2(x座標,y座標)
戻り値は –π ~ πラジアンです。たとえば
=ATAN(1,1)
とすると、原点 O と座標 (1, 1) を結ぶ直線が x 軸となす角度「0.785」を得ます。戻り値を度数法で表示する場合は DEGREES 関数を使ってください。たとえば
=DEGREES(ATAN2(1,1))
と入力すると角度「45」が返ってきます。
エクセルや数学に関するコメントをお寄せください