Excelで座標データから角度を求めたいのに、思った通りの結果が出なくて困った経験はありませんか? 特に三角関数を使った計算では、象限(しょうげん)の判定がやっかいですよね。
そんなときに頼りになるのがATAN2関数です。x座標とy座標を指定するだけで、正しい角度をラジアンで返してくれますよ。
この記事では、ATAN2関数の基本的な使い方から実践的な活用例、似た関数であるATAN関数との違いまで、分かりやすく解説していきます。
ExcelのATAN2関数とは?
ATAN2関数は、指定したx座標とy座標から逆正接(アークタンジェント)を求める関数です。読み方は「アークタンジェントツー」です。
逆正接とは、タンジェント(正接)の逆の操作のことです。タンジェントが「角度から比率を求める」のに対して、逆正接は「比率から角度を求める」計算になります。
ATAN2関数の特徴は、座標の位置に応じて4つの象限すべてで正しい角度を返せることです。後ほど紹介するATAN関数では判定できない範囲もカバーしてくれますよ。
戻り値は -π 〜 π(約 -3.14159 〜 3.14159)の範囲のラジアンです。度数で表示したい場合は、DEGREES関数で変換できます。
対応バージョンは Excel 2007 以降のすべてのバージョンと Microsoft 365 です。
ATAN2関数の書き方(構文と引数)
基本構文
=ATAN2(x_num, y_num)
引数の説明
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| x_num | 必須 | 点のx座標を指定します |
| y_num | 必須 | 点のy座標を指定します |
引数はどちらも数値で指定します。セル参照でも直接入力でもOKですよ。
注意点として、x_numとy_numの両方が0の場合は #DIV/0! エラーになります。原点(0, 0)では角度が定義できないためです。
ATAN2関数の基本的な使い方
実際にATAN2関数を使ってみましょう。座標(3, 4)の角度を求める例で説明します。
ラジアンで角度を求める
=ATAN2(3, 4)
結果は 0.9273 (ラジアン)になります。これは約53.13度に相当します。
度数に変換して表示する
ラジアンのままだと直感的に分かりにくいですよね。DEGREES関数と組み合わせると度数に変換できます。
=DEGREES(ATAN2(3, 4))
結果は 53.13 (度)になります。こちらのほうが分かりやすいですよね。
セル参照を使った指定
セルにx座標とy座標が入力されている場合は、セル参照で指定します。
A1セルにx座標「3」、B1セルにy座標「4」が入っているとすると、次のように書きます。
=ATAN2(A1, B1)
複数の座標データがある場合は、数式をコピーすれば一括で角度を計算できますよ。
ATAN2関数の実践的な活用例
4つの象限での角度計算
ATAN2関数が本領を発揮するのは、座標が4つの象限に分かれるケースです。次の表で、各象限での計算結果を確認してみましょう。
| 象限 | x座標 | y座標 | 数式 | 結果(度) |
|---|---|---|---|---|
| 第1象限 | 3 | 4 | =DEGREES(ATAN2(3,4)) | 53.13 |
| 第2象限 | -3 | 4 | =DEGREES(ATAN2(-3,4)) | 126.87 |
| 第3象限 | -3 | -4 | =DEGREES(ATAN2(-3,-4)) | -126.87 |
| 第4象限 | 3 | -4 | =DEGREES(ATAN2(3,-4)) | -53.13 |
このように、座標がどの象限にあっても正しい角度が返ってきます。ATAN関数では第1象限と第4象限しか判定できないので、これはATAN2関数ならではの強みですよ。
x座標が0の場合の計算
x座標が0のとき(y軸上の点)も、ATAN2関数なら問題なく計算できます。
=DEGREES(ATAN2(0, 5)) → 結果: 90(度)
=DEGREES(ATAN2(0, -5)) → 結果: -90(度)
ATAN関数で同じ計算をしようとすると、y/xの除算で #DIV/0! エラーが出てしまいます。この点もATAN2関数が便利なポイントです。
0〜360度の範囲に変換する
ATAN2関数の戻り値は -180度〜180度の範囲です。0〜360度の範囲で表したいときは、次の数式を使います。
=MOD(DEGREES(ATAN2(x座標, y座標)), 360)
たとえば座標(-3, -4)の場合、ATAN2の結果は -126.87度ですが、この数式を使うと 233.13度 に変換できます。方位角の計算などで0〜360度の範囲が必要な場面で活用してみてください。
ATAN関数との違い・使い分け
ATAN2関数とATAN関数は、どちらも逆正接を求める関数ですが、使い方に違いがあります。
| 比較項目 | ATAN関数 | ATAN2関数 |
|---|---|---|
| 引数 | 数値を1つ(y/xの比率) | x座標とy座標の2つ |
| 戻り値の範囲 | -π/2 〜 π/2 | -π 〜 π |
| 象限の判定 | 第1・第4象限のみ | 4象限すべて |
| x=0の処理 | #DIV/0! エラー | 正常に計算可能 |
結論として、座標データから角度を求める場合はATAN2関数を使うのがおすすめです。ATAN関数は、単純にタンジェントの逆計算をしたい場合に使いましょう。
ちなみに、SIN関数やCOS関数、TAN関数を使って求めた値を逆算したいときにも、ATAN2関数は便利ですよ。
角度の単位変換にはDEGREES関数(ラジアン→度)とRADIANS関数(度→ラジアン)をセットで覚えておくと役立ちます。
よくあるエラーと対処法
ATAN2関数で発生しやすいエラーとその対処法をまとめました。
#DIV/0! エラー
x座標とy座標の両方に0を指定すると発生します。
=ATAN2(0, 0) → #DIV/0! エラー
原点の角度は数学的に定義されないため、入力データを確認してください。事前にIF関数でチェックする方法もあります。
=IF(AND(A1=0, B1=0), "原点", ATAN2(A1, B1))
#VALUE! エラー
引数に数値以外の値(文字列など)を指定すると発生します。セルの値が数値になっているか確認しましょう。
引数の順番に注意
ATAN2関数の引数は =ATAN2(x, y) の順番です。数学の教科書ではatan2(y, x)と書かれることが多いので、混同しないよう注意してください。Excelでは x座標が先 というのがポイントです。
まとめ
ExcelのATAN2関数は、x座標とy座標から逆正接(角度)を求める関数です。
ポイントを整理すると次のとおりです。
- 構文: =ATAN2(x_num, y_num) で、戻り値はラジアン
- ATAN関数との違い: 4象限すべてで正しい角度を返せる
- 度数への変換: DEGREES関数と組み合わせて使う
- エラー回避: x=0かつy=0のときだけ #DIV/0! エラーになる
座標データを扱う場面では、ぜひATAN2関数を活用してみてくださいね。
