TL;DR —
SIN・COS・TANは角度を受け取って比を返しますが、その角度を ラジアン で測ります。度ではありません。=SIN(30)は 0.5 ではありません — 30 をラジアンと読んで-0.988を返し、警告のエラーも出しません。これを直す たった 1 つのルール:度の値はすべてRADIANS()で包む —=SIN(RADIANS(30))なら0.5になります。これらの関数の残りは簡単です。実際に問題を起こすのは、 ラジアンの取り違えだけなのです。
=SIN(30) ' 30 をラジアンと解釈 -> -0.988 (落とし穴)
=SIN(RADIANS(30)) ' 30 度、正しく計算 -> 0.5
=COS(RADIANS(60)) ' 60 度のコサイン -> 0.5
=TAN(RADIANS(45)) ' 45 度のタンジェント -> 1
「Excel の SIN 関数」で検索すれば、=SIN(number) は角度のサインを返す、とだけ書いて
終わっているページが何百と見つかります。しかし、ほぼ全員をつまずかせるのは構文では
ありません — その「number」がラジアンだということです。この取り違えこそ、0.5 を
期待した数式が -0.988 を返し、しかも何も壊れて見えない理由です。このページはそこから
始めます。
この記事で学べること
- 考え方の軸:これらの関数は ラジアン で考え、あなたは度で考える
=SIN(30)が-0.988を返し、エラーが出ない理由- たった 1 つの直し方 —
RADIANS()— と、それを置く場所 TANが 90° 付近で#DIV/0!にならず巨大な数に発散する理由- 実際に機能する直角三角形の計算(SOH-CAH-TOA)の組み立て方
- 判断のポイント:角度の単位を 1 つ選び、シート全体で貫くこと
考え方の軸:Excel はラジアンを母語とする三角形計算機
SIN・COS・TAN は直角三角形の 3 つの基本の比 — 対辺 ÷ 斜辺、隣辺 ÷ 斜辺、
対辺 ÷ 隣辺 — です。角度を 1 つ与えれば、比を返してきます。ここまでは学校で習った
とおりです。
問題は 角度の単位 です。数学は — したがって Excel も — 角度を ラジアン で
測ります。ラジアンでは、一周は 360 ではなく 2π(約 6.283)です。度は人間の取り決めで
あり、ラジアンは三角法の母語です。Excel はラジアンしか話しません。どちらの単位のつもりか
尋ねてくることは決してなく、あなたが取り違えても警告してくれません — 入力した数値は
すでにラジアンだと決めてかかり、そのまま計算します。
この 1 点さえ握っておけば、「間違った」三角関数の答えは、どれも自分で説明がつきます。
=SIN(30) が 0.5 ではなく -0.988 を返す理由
落とし穴を最も純粋な形で示すと、こうです。
=SIN(30) ' -> -0.988 (欲しかったのは 0.5)
あなたが意図したのは 30 度 で、そのサインはちょうど 0.5 です。Excel は 30 ラジアン
と読みました。30 ラジアンは円をほぼ 5 周する角度で(30 ÷ 2π ≈ 4.77 周)、およそ 279° に
着地します — そのサインは確かに -0.988 です。Excel の計算は完璧でした。ただ、あなたが
尋ねたのとは別の問いに答えただけです。
これがこれほど危険なのは、エラーではなく、それらしく見える数値を返す からです。
#VALUE! ならすぐ気づきます。-0.988 はあなたのモデルの中に静かに居座り、次の計算へ
流れ込み、まったく正常に見えたまま下流のすべてを汚染します。赤信号はどこにもありません —
だからこそ、ラジアンのルールは反射神経にまで落とし込む必要があるのです。
直し方:入り口で RADIANS()
RADIANS() は度をラジアンに変換します。度の値を三角関数に渡す前にこれで包めば、答えは
期待どおりにぴたりと収まります。
=SIN(RADIANS(30)) ' -> 0.5
=COS(RADIANS(60)) ' -> 0.5
=TAN(RADIANS(45)) ' -> 1
=COS(RADIANS(0)) ' -> 1
=SIN(RADIANS(90)) ' -> 1
角度がすでにラジアンで存在しているなら(別の数式の 出力、たとえば逆三角関数の結果として
出てくる場合によくあります)、RADIANS() は飛ばしてそのまま渡します。ルールは
「常に RADIANS を使う」ではありません — 「自分の角度がどちらの単位なのかを知り、度と
ラジアンの境界でだけ変換する」 です。たいていの場合データは度で、Excel はラジアンを
欲しがるので、入力側の RADIANS() が基本形になります。(PI() を使う道もあります —
=SIN(PI()/6) は 0.5 です — が、RADIANS() のほうが読みやすく、まさにこの用途のために
作られた関数です。RADIANS & DEGREES ガイド を参照して
ください。)
90° 付近の TAN:エラーではなく巨大な数
タンジェントは サイン ÷ コサイン であり、90° ではコサインがゼロになります — なので
TAN(90°) は数学的に定義されません(無限大に発散します)。#DIV/0! を期待するかも
しれません。ですが、そうはなりません。
=TAN(RADIANS(90)) ' -> 16331239353195370 (#DIV/0! ではない)
理由は微妙で、理解しておく価値があります。RADIANS(90) は Excel が浮動小数点で表せる
π/2 の最良の近似ですが、厳密には π/2 ではありません — ほんのわずかにずれています。
だから下にあるコサインもきっかりゼロではなく、極微の非ゼロの数であり、それで割ると途方も
なく大きいが有限の結果になります。10¹⁶ 規模の桁外れに大きな三角関数の出力は、実際の値
ではなく、漸近線(90°、270°、…)の上に乗っているサインだと捉えましょう。 下流の数式が
そこに着地しうるなら、その数値を信じるのではなく、ガードを掛けてください。
実践例:三角形の高さ
三角法が本領を発揮するのは、幾何・測量・物理・工学です。たとえば、あるスロープが 20 フィート
の水平距離にわたって 15° の勾配で立ち上がっていて、その垂直方向の上がり幅を知りたいと
します。これは 対辺 = 隣辺 × tan(角度) です。
=20*TAN(RADIANS(15)) ' 15 度のスロープが 20 フィートで上がる高さ -> 5.36 フィート
=20*SIN(RADIANS(15)) ' もし 20 フィートが斜辺だったら -> 5.18 フィート
ここで「教科書どおり正しい」と「黙って間違っている」を分けている唯一のものが、RADIANS()
のラッパーです。これを落とすと、スロープの上がり幅は -30.9 として返ってきます — どんな
エラーメッセージも決して知らせてくれない、意味不明な値です。
関連する三角関数
3 つの中核の比には、充実した脇役陣がいて、どれも同じラジアンのルールに従います。
ASIN・ACOS・ATAN・ATAN2— 逆 関数で、向きが逆です。比(または座標の組)を 与えると、角度を返します。重要なのは、これらが ラジアンを返す ことで、だから 出力 をDEGREES()で包みます。逆三角関数ガイド のテーマです。SINH・COSH・TANH— 工学や統計で使う双曲線関数版。数学は違いますが、呼び出しの パターンは同じです。RADIANS・DEGREES・PI— 上記すべてを人間の角度で使えるようにする単位変換器。 RADIANS & DEGREES ガイド で扱います。
判断のポイント:シートごとに単位を 1 つ
最もきれいな三角法モデルは、格納する角度を度にするかラジアンにするかを最初に決め、決して
混ぜません。入力が度なら(たいていそうです)、セルの中では度のまま保ち、三角関数を呼ぶ
まさにその瞬間に、数式の 内側 で RADIANS() を使って変換します。中途半端に変換した角度を
シートのあちこちに散らかさないこと。そして、名前付きの変換器 1 つで意図が言えるのに、
× π/180 を 10 か所に直書きしないこと。「度」とも「ラジアン」とも書かれていない角度の列は、
いつか起きるバグの予備軍です — 単位はヘッダーに書きましょう。
ExcelMaster が役立つ場面
ラジアンの落とし穴は、数値がおかしく見えるまで目に見えず、気づいたときにはたいてい 3 つ
下流の数式にまで及んでいます。ExcelMaster に「SIN がなぜマイナスの数を返すの?」と
尋ねれば、抜けている RADIANS() を見つけ出し、修正後の数式を示し、度とラジアンの取り違えを
平易な言葉で説明します。「15 度のスロープが 20 フィートで上がる高さを計算して」と伝えれば、
変換をあらかじめ組み込んだ =20*TAN(RADIANS(15)) を配線してくれます — ラジアン 1 個ぶんの
黙った誤差はありません。
よくある質問
Excel で =SIN(30) が 0.5 ではなく -0.988 になるのはなぜですか?
Excel の三角関数が角度を度ではなく ラジアン で測るからです。30 は 30 ラジアン(円を
何周かほどくと約 279°)と読まれ、そのサインは -0.988 です。30 度 のサインが欲しいなら、
先に変換します:=SIN(RADIANS(30)) で 0.5 を返します。
Excel の SIN・COS・TAN で度を使うには?
角度を RADIANS() で包みます:=SIN(RADIANS(30))、=COS(RADIANS(60))、
=TAN(RADIANS(45))。RADIANS() は度を、関数が期待するラジアンに変換します。角度がすでに
ラジアンなら、ラッパーなしでそのまま渡します。
Excel で TAN(90°) がエラーにならないのはなぜですか?
タンジェントは 90° でコサインがゼロになるため定義されませんが、RADIANS(90) は π/2 の
浮動小数点 近似 にすぎないため、下にあるコサインはきっかりゼロではなく、極微の非ゼロの
数です。それで割ると、#DIV/0! ではなく巨大な有限の値(約 1.6×10¹⁶)になります。桁外れの
三角関数の出力は、漸近線のサインだと捉えましょう。
Excel の SIN と ASIN の違いは何ですか?
SIN は 角度 を受け取って 比 を返し、ASIN(アークサイン)は 比 を受け取って
角度 を返します。SIN はラジアンの入力を期待し、ASIN はラジアンの出力を返します
(人間の角度にするには DEGREES() で包みます)。逆三角関数ガイド
を参照してください。
PI() を使えば RADIANS を避けられますか?
はい — =SIN(30*PI()/180) は =SIN(RADIANS(30)) と同じです。ただし RADIANS() はこの
用途のために作られた関数で、より読みやすく、切り詰めた 3.14159 を直書きする誘惑も
ありません。こちらを優先し、PI() は定数そのものが本当に必要なときに使いましょう。
検証環境
検証環境: Excel 365 (Windows 11) — 最終確認 2026-07-24。
関連ガイド: Excel RADIANS & DEGREES · Excel Inverse Trig (ATAN, ATAN2) · Excel POWER & SQRT · Excel ROUND · Excel ABS & SIGN
