ExcelでSIN関数を使ったら、期待した値にならなくて戸惑ったことはありませんか。たとえば「=SIN(90)」と入力しても、結果は1になりません。「0.8939…」という想定外の値が返ってきます。
原因は、ExcelのSIN関数が「ラジアン」という角度の単位を使うからです。度数法の90をそのまま渡すと、90ラジアンのサインを計算してしまいます。RADIANS関数と組み合わせれば、度数法のまま直感的に入力できます。
この記事では、SIN関数の基本構文から、度数法での使い方、代表角のサイン早見表、よくあるエラーの対処法まで解説します。
ExcelのSIN関数とは?基本構文と引数
SIN関数は、指定した角度のサイン(正弦)を返すExcelの関数です。読み方は「サイン」です。
サインとは、直角三角形の「対辺÷斜辺」にあたる三角比のことです。戻り値は必ず-1から1の範囲に収まります。
構文:=SIN(数値)
=SIN(数値)
引数は「数値」の1つだけです。シンプルな構文ですね。
引数はラジアン単位――度数ではないことに注意
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| 数値 | 必須 | サインを求めたい角度をラジアン(弧度法)で指定します |
ラジアンとは、円の半径と同じ長さの弧に対する中心角のことです。360度が2π(約6.2832)ラジアンに相当します。
ここが最大の注意点です。引数に「90」と入力しても、90度のサインにはなりません。Excelは「90ラジアン」として計算します。度数法で入力したい場合は、次のセクションで紹介するRADIANS関数を使ってください。
対応バージョン
Excel 2007以降のすべてのバージョンで使えます。Microsoft 365やExcel for the Web(Web版)でも同じ動作です。
SIN関数の使い方:度数法で角度を指定する方法
RADIANS関数を組み合わせる(推奨)
度数法の角度からサインを求めるには、RADIANS関数で変換してからSIN関数に渡します。
=SIN(RADIANS(30))
この数式は0.5を返します。RADIANS(30)で30度をラジアン(約0.5236)に変換し、その値をSIN関数に渡しています。
PI()×角度÷180で直接計算する
RADIANS関数を使わずに、PI関数で手計算する方法もあります。
=SIN(30*PI()/180)
結果は同じく0.5です。ただし数式が長くなるので、RADIANSを使うほうが読みやすくておすすめです。
セル参照を使った実践例
角度をセルに入力して、SIN値をまとめて計算する方法です。A列に角度を入力し、B1セルに次の数式を入れます。
=SIN(RADIANS(A1))
B1をコピーして下方向に貼り付ければ、各角度のサインを一括で求められますよ。
代表角のサイン計算結果一覧(0度〜360度)
よく使う角度のSIN値早見表
主な角度でSIN関数を使った結果をまとめました。
| 角度 | 数式 | 結果 | 数学的な値 |
|---|---|---|---|
| 0° | =SIN(RADIANS(0)) | 0 | 0 |
| 30° | =SIN(RADIANS(30)) | 0.5 | 1/2 |
| 45° | =SIN(RADIANS(45)) | 約0.7071 | √2/2 |
| 60° | =SIN(RADIANS(60)) | 約0.8660 | √3/2 |
| 90° | =SIN(RADIANS(90)) | 1 | 1 |
| 120° | =SIN(RADIANS(120)) | 約0.8660 | √3/2 |
| 135° | =SIN(RADIANS(135)) | 約0.7071 | √2/2 |
| 150° | =SIN(RADIANS(150)) | 0.5 | 1/2 |
| 180° | =SIN(RADIANS(180)) | 約1.22E-16 | 0 |
| 270° | =SIN(RADIANS(270)) | -1 | -1 |
| 360° | =SIN(RADIANS(360)) | 約-2.45E-16 | 0 |
30度と150度がどちらも0.5になる点に注目してください。SIN関数は0度〜180度の範囲で左右対称(sin(θ) = sin(180°-θ))だからです。
0度・180度・360度が厳密に0にならない理由
180度と360度の結果が0ではなく「1.22E-16」のような極小値になっています。これは浮動小数点誤差(コンピュータの小数計算で生じるわずかなズレ)が原因です。
コンピュータはπなどの無理数を2進数で正確に表現できません。RADIANS(180)の時点でπにごくわずかな誤差が含まれ、SIN関数の出力も厳密に0にならないのです。
この値は実質ゼロなので計算への影響はありません。対処法は「よくあるエラーと対処法」で紹介します。
よくあるエラーと対処法
=SIN(90)で1にならない(ラジアン誤解)
SIN関数でもっとも多いミスは、度数法の角度をそのまま渡してしまうことです。
=SIN(90)
この数式は「90ラジアン」のサインを計算します。結果は「0.8939…」で、90度のサイン(1)とはまったく違う値です。
度数法で指定したい場合は、必ずRADIANS関数で変換しましょう。
=SIN(RADIANS(90))
こちらなら結果は1になります。
#VALUE!エラーが出るとき
SIN関数に文字列を渡すと、#VALUE!エラーが発生します。
=SIN("九十") → #VALUE!エラー
=SIN(A1) → A1が文字列の場合は#VALUE!エラー
数値以外のデータが混在する場合は、ISNUMBER関数で事前にチェックすると安全です。
=IF(ISNUMBER(A1), SIN(RADIANS(A1)), "数値を入力してください")
なお、SIN関数には引数の範囲制限がありません。どんな数値を渡しても#NUM!エラーは発生しません。
浮動小数点誤差でほぼ0になるとき
=SIN(RADIANS(180))は数学的には0ですが、Excelでは「1.22464E-16」のような極小値が返ります。
セルに0と表示したい場合や、IF文で0と比較したい場合は、ROUND関数で丸めてください。
=ROUND(SIN(RADIANS(180)), 10)
小数点以下10桁で丸めれば、誤差が消えてきれいな0になります。IF文で判定する場合の例も紹介します。
=IF(ROUND(SIN(RADIANS(A1)), 10)=0, "0度または180度", "それ以外")
浮動小数点誤差を意識しておくと、三角関数の計算で予期しない結果に悩まされることが減りますよ。
COS・TANとの使い分け早見表
三角比の定義比較
SIN・COS・TANはセットで覚えると便利です。直角三角形の辺の比として、次のような関係があります。
| 関数 | 意味 | 直角三角形での定義 | 数式例 |
|---|---|---|---|
| SIN | サイン(正弦) | 対辺 ÷ 斜辺 | =SIN(RADIANS(30)) → 0.5 |
| COS | コサイン(余弦) | 隣辺 ÷ 斜辺 | =COS(RADIANS(60)) → 0.5 |
| TAN | タンジェント(正接) | 対辺 ÷ 隣辺 | =TAN(RADIANS(45)) → 1 |
3つの関数には、次のような数学的関係があります。
- sin²θ + cos²θ = 1(ピタゴラスの恒等式)
- tanθ = sinθ ÷ cosθ
- sinθ = cos(90° – θ)(余角の関係)
- sin(-θ) = -sinθ(SIN関数は奇関数。符号を反転すると結果も反転します)
奇関数(きかんすう)とは、マイナスを付けると値の符号も変わる関数です。SIN(-30°)は-0.5、SIN(30°)は0.5になります。
どの関数をいつ使うか
| 用途 | 使う関数 |
|---|---|
| 垂直成分(高さ)を求めたい | SIN |
| 水平成分(横方向)を求めたい | COS |
| 勾配・傾きを求めたい | TAN |
たとえば斜面の高さを求めるなら =距離*SIN(RADIANS(角度)) です。3つの関数すべてラジアン単位の引数を取る点は共通です。
ASIN・SINHとの関係
ASIN(逆正弦)との違い
ASIN関数は、SIN関数の逆関数(アークサイン)です。SIN関数が「角度→サイン値」を求めるのに対し、ASIN関数は「サイン値→角度」を求めます。
=SIN(RADIANS(30)) → 0.5(30度のサインは0.5)
=DEGREES(ASIN(0.5)) → 30(サインが0.5になる角度は30度)
ASIN関数の引数は-1から1の範囲に限定されます。範囲外の値を渡すと#NUM!エラーになるので注意してください。戻り値はラジアンで返るため、度数法で表示するにはDEGREES関数で変換します。
SINH(双曲線正弦)との違い
SINH関数は双曲線正弦(ハイパボリックサイン)を求める関数です。名前は似ていますが、SIN関数とは根本的に別物です。
SIN関数は円(三角関数)に基づく関数で、値は-1から1の範囲です。周期2πで同じ値を繰り返します。一方、SINH関数は双曲線に基づく関数で、値域は-∞から+∞です。周期性はありません。
通常のExcel業務で三角関数を使う場合は、SIN関数を選べば間違いありません。SINH関数は工学分野の専門的な計算で使うことが多いです。
SIGN関数との名前の違いに注意
SIGN関数は名前がSINに似ていますが、三角関数ではありません。数値の符号(正・負・ゼロ)を判定して1・-1・0を返す関数です。名前が1文字違いなので、入力時に間違えないよう気をつけてください。
まとめ
SIN関数は、指定した角度のサイン(正弦)を求める関数です。
ポイントを整理しておきましょう。
- 構文は
=SIN(数値)で、引数はラジアン単位の数値を1つだけ指定する - 度数法の角度を使うには
=SIN(RADIANS(角度))とRADIANS関数で変換する - =SIN(90)で1にならないのはラジアン誤解が原因。必ずRADIANS関数を通す
- 180度のSIN値が0にならないのは浮動小数点誤差。ROUND関数で丸めれば解決する
- COS関数・TAN関数との使い分けは「垂直→SIN、水平→COS、傾き→TAN」
- 逆関数のASIN関数、双曲線版のSINH関数も用途に応じて使い分ける
まずは =SIN(RADIANS(30)) で0.5が返ることを確認してみてください。
