TL;DR —
ASIN・ACOS・ATAN・ATAN2は三角法を 逆向き に走らせます。比 (または座標の組)を与えると、角度 を返します。その角度は ラジアン で返って くるので、人間の値にするにはDEGREES()で包みます —=DEGREES(ATAN(1))は45です。x と y があるときは必ずATAN2を使いましょう。素のATANは比しか見えず、 どの象限にいるかを判別できないからです。そして落とし穴に注意:Excel のATAN2(x_num, y_num)は x が先 — あらゆるプログラミング言語のatan2(y, x)の 順序とは逆です。
=DEGREES(ATAN(1)) ' 1 のアークタンジェント、度の角度として -> 45
=DEGREES(ATAN2(1, 1)) ' 点 (1, 1) の角度 -> 45
=DEGREES(ATAN2(-1, -1)) ' 点 (-1, -1) の角度 — ATAN では求められない -> -135
=DEGREES(ASIN(0.5)) ' サインが 0.5 になる角度 -> 30
「Excel で逆正接」を調べると、ほとんどのページは =ATAN(x) を差し出して先へ進みます。
しかし、実際に人を噛むのは — 答えが 45 ではなく 0.785 で出てくる理由、ATAN ではなく
ATAN2 を使うべき場面、そして引数の順序が逆に感じる理由 — こうした点こそ、この関数が人を
つまずかせる原因のすべてです。このページはそこから始めます。
この記事で学べること
- 考え方の軸:前向きの三角法は角度を 消費 し、逆三角法は角度を 生み出す
- どの逆関数もラジアンを返す理由(そして
DEGREES()が要る理由) ATAN2が存在する核心の理由:ATANは象限を見られない- 有名な落とし穴:Excel の
ATAN2(x, y)は通常の引数の順序が逆 - 方位/2 点間の角度を求める
ASINとACOSが −1〜1 の外で#NUM!を返す理由
考え方の軸:三角法を逆向きに走らせる
SIN・COS・TAN は 角度 を受け取って 比 を渡します。逆関数はまさに逆で、
比 を受け取って、それを生んだ 角度 を返します。SIN(30°) = 0.5 なので、
ASIN(0.5) = 30° です。互いに打ち消し合います。
そこから 2 つの帰結がまっすぐ導かれ、これがほぼすべての混乱の原因です。
- 角度を 生み出す ため、そして Excel の母語の角度単位が ラジアン であるため、その
出力はラジアンです。ほぼ必ず
DEGREES()で囲みたくなります。 - 1 つの比は角度を一意に決めません — いくつもの異なる角度が同じサイン・コサイン・タンジェ
ントを共有します。だから逆関数は、定義された範囲の中から 1 つ を選ばざるを得ず、その
制約こそ、
ATAN2が回避するために発明されたものです。
この 2 つを握れば、あとは細部です。
これらはラジアンを返す — DEGREES で包む
誰もが最初にぶつかるのがこれです。
=ATAN(1) ' -> 0.785398163397448 (45 ではなくラジアン)
=DEGREES(ATAN(1)) ' -> 45 (欲しかった度)
ATAN(1) は正しい — 0.785 ラジアンは Excel の母語で表した 45° そのもの です。ただ、
人間が角度として読む数値ではないだけです。直し方は前向きのルールの鏡像です。SIN/COS/
TAN が入り口で RADIANS() を必要とするのに対し、逆関数は出口で DEGREES() を必要と
します。
=DEGREES(ASIN(0.5)) ' サインが 0.5 になる角度 -> 30
=DEGREES(ACOS(0.5)) ' コサインが 0.5 になる角度 -> 60
=DEGREES(ATAN(1)) ' タンジェントが 1 になる角度 -> 45
度とラジアンのダンス全体は RADIANS & DEGREES ガイド で
扱っています。ここで覚える 1 行は、DEGREES() は逆関数の結果を読む です。
ATAN2 が存在する理由:ATAN は象限を見られない
ここがこのテーマの核心です。ATAN は 1 つの数値 — y/x のような比 — を受け取ります。
しかし 同じ 比が 2 つの異なる向きを表します。点 (1, 1) と点 (−1, −1) はどちらも
y/x = 1 ですが、正反対の向きを指しています(北東 vs 南西、45° vs −135°)。ATAN には
1 しか見えず、両者を区別する手段がありません。
=DEGREES(ATAN(1/1)) ' 点 (1, 1) -> 45
=DEGREES(ATAN(-1/-1)) ' 点 (-1,-1) -> 45 (誤り — 本来は -135)
ATAN は常に −90°〜90°(平面の右半分)の範囲で答えます。孤立した比が確定できるのはそこ
までだからです。ATAN2 は x と y を別々に 受け取ることでこれを解決し、点がどの象限に
あるかを把握して、−180°〜180° の全範囲を返せます。
=DEGREES(ATAN2(1, 1)) ' -> 45 (北東)
=DEGREES(ATAN2(-1, -1)) ' -> -135 (南西 — これで正しい)
=DEGREES(ATAN2(-1, 1)) ' -> 135 (北西)
=DEGREES(ATAN2(1, -1)) ' -> -45 (南東)
そこから導かれるルール:x と y がそろった瞬間 — 座標、速度、変位 — ATAN(y/x) ではなく
ATAN2 に手を伸ばすこと。 素の ATAN が安全なのは、向きの情報が付いていない、正真正銘の
むき出しの傾きを持っているときだけです。
落とし穴:Excel の ATAN2 は引数の順序が逆
これがあらゆるプログラマーを捕らえる罠です。C、Python、JavaScript、Java — 事実上すべての
言語で、関数は atan2(y, x) と y が先 です。Excel は逆で、ATAN2(x_num, y_num) と
x が先 です。
=ATAN2(x_num, y_num) ' Excel:X が先、次に Y
' atan2(y, x) ' あらゆるプログラミング言語:Y が先、次に X
だからコードからそのまま移植した数式 — あるいは Python に住む同僚から来た数式 — は引数が
入れ替わっていて、しかも厄介な形で失敗します。エラーにならず、余角 を返すだけで、それが
もっともらしく見えることがあります。ATAN2 の結果が、期待した値から 45° の線について反転
しているなら、まず引数の順序を確認しましょう。迷ったら、Excel は左から右へ「横、それから
縦」= x、それから y と読む、と思い出してください。
実用例:2 点間の方位/角度
ATAN2 の典型的な仕事は、ある点から別の点への角度(または方位)です。始点 (x1, y1) と
終点 (x2, y2) があるとき、向きはこうです。
=DEGREES(ATAN2(x2-x1, y2-y1)) ' 点 1 から点 2 へ向かう線の角度
=MOD(DEGREES(ATAN2(x2-x1, y2-y1)), 360) ' 同じもの、0〜360 度に正規化
MOD(..., 360) は、ATAN2 の −180〜180 の出力を、必要なら扱いやすい 0〜360 の方位値に
変えます。この 1 つの数式 — ATAN ではなく ATAN2 を使ったもの — が、地図や工学のシート
全体で、方位計算、風向、「あれはここからどっちの方向か」を支えています。
ASIN と ACOS:定義域は −1〜1、外れると #NUM!
サインとコサインは −1〜1 の値しか 生み出さない ため、その逆関数はその範囲の値しか
受け付けられません。サインが 2 になる角度を求めても、そんな角度は存在しません — Excel
は #NUM! を返します。
=DEGREES(ASIN(0.5)) ' -> 30
=DEGREES(ACOS(-1)) ' -> 180
=ASIN(2) ' サインが 2 になる角度はない -> #NUM!
=ACOS(1.5) ' 範囲外 -> #NUM!
ASIN や ACOS からの #NUM! は、ほぼ必ず上流の値が −1〜1 の外にはみ出したことを意味
します — たいていは、本来は ≤ 1 のはずの比が、浮動小数点の丸めで 1.0000001 に着地した
ケースです。それが原因なら、こう挟み込みます:=ASIN(MIN(1, MAX(-1, ratio)))。対照的に
ATAN と ATAN2 はどんな入力も受け付けます — タンジェントは任意の実数を取りうるので —
定義域が原因で #NUM! を投げることは決してありません。
ExcelMaster が役立つ場面
逆三角関数は 2 つの静かな形で失敗します。度として読んでしまうラジアンの答えと、ATAN2 が
必要な場所での ATAN です。ExcelMaster に「点 A から点 B への角度を出して」と頼めば、
=DEGREES(ATAN2(x2-x1, y2-y1)) を組み立てます — 正しい関数、正しい引数の順序、DEGREES()
はすでに包まれた状態で。Python から移植した ATAN2 を貼れば、鏡像の方位を生む前に、逆に
なった引数に印を付けます。ASIN からの #NUM! を渡せば、範囲外の入力までたどります。
よくある質問
Excel で逆正接(アークタンジェント)を求めるには?
むき出しの比には ATAN、x/y 座標には ATAN2 を使い、それから度に変換します:
=DEGREES(ATAN(1)) は 45 を返します。ATAN 単体はラジアンを返すので、読みやすい角度に
するのが DEGREES() のラッパーです。
Excel の ATAN と ATAN2 の違いは何ですか?
ATAN は 1 つの比を受け取って −90°〜90° の角度を返すため、点がどの象限にあるかを判別
できません。ATAN2 は x と y を別々に受け取り、−180°〜180° の全角度を返します。座標が両方
そろっているときは、いつでも ATAN2 を使いましょう。
Excel の ATAN2 は引数が逆さまに見えるのはなぜですか?
Excel が ATAN2(x_num, y_num) と x を先 にするのに対し、C・Python・JavaScript と
ほとんどのプログラミング言語は atan2(y, x) と y を先 にするからです。コードからコピー
した数式は入れ替わっています。Excel の順序は「横、それから縦」= x、それから y と読みましょう。
ASIN や ACOS で #NUM! が出るのはなぜですか?
入力が −1〜1 の間でなければならないからです(サインやコサインが取りうる唯一の値です)。その
範囲の外には有効な角度がないため、Excel は #NUM! を返します。多くは丸めのアーティファクト
で — ≤ 1 のはずの値が 1.0000001 に着地したもの — =ASIN(MIN(1, MAX(-1, x))) で挟み込め
ます。
Excel で 2 点間の角度を求めるには?
座標の差に ATAN2 を使い、DEGREES() で包みます:=DEGREES(ATAN2(x2-x1, y2-y1))。
ATAN2 が返す −180〜180 の範囲ではなく 0〜360° の方位が欲しいなら、MOD(..., 360) を
加えます。
検証環境
検証環境: Excel 365 (Windows 11) — 最終確認 2026-07-24。
関連ガイド: Excel SIN, COS & TAN · Excel RADIANS & DEGREES · Excel POWER & SQRT · Excel ABS & SIGN · Excel MOD (INT, TRUNC)
