Excelで傾斜角を求めようと「=ATAN(0.3)」を入力したら、「0.2914…」が返ってきた。こんな経験はありませんか。
期待した角度ではなく、ラジアンという別の角度単位で返ってきたのです。
度数法で角度を表示するには、DEGREES関数と組み合わせます。「=DEGREES(ATAN(0.3))」とすれば、約16.7度ときちんと表示されますよ。
この記事では、ATAN関数の基本構文から実務での活用例まで解説します。ATAN2関数との違いや、よくある疑問への対処法も紹介します。
ExcelのATAN関数とは?アークタンジェント(逆正接)の基本
ATAN関数は、タンジェント値から角度を逆算するExcelの関数です。読み方は「アークタンジェント」です。
アークタンジェント(逆正接)とは、「タンジェントがその値になる角度」を求める演算のことです。TAN関数は「角度→タンジェント値」の方向で計算します。ATAN関数はその逆で、「タンジェント値→角度」の向きで計算します。
たとえば、TAN(45°) = 1 という関係があります。ATAN関数はこの逆方向で、1を渡すと45°に相当するラジアン値を返します。
TAN関数との関係——「タン → 角度」の逆関数
ATAN関数とTAN関数は逆関数の関係です。一方の出力をもう一方に入力すると、元の値に戻ります。
| 方向 | 数式 | 入力 | 出力 |
|---|---|---|---|
| 角度→タンジェント値 | =TAN(RADIANS(45)) | 45° | 1 |
| タンジェント値→角度 | =DEGREES(ATAN(1)) | 1 | 45° |
ただし、完全に可逆ではない点に注意してください。TAN(120°)は約-1.732を返しますが、ATAN(-1.732)は-60°を返します。120°には戻りません。ATANの戻り値が-90°〜90°に限定されるためです。
ASIN・ACOSと違う最大のメリット:入力制限なし
ATAN関数の大きなメリットは、入力に範囲制限がないことです。
ASIN関数やACOS関数は、引数が-1〜1の範囲外だと#NUM!エラーになります。一方、ATAN関数はどんな数値でも受け付けます。100でも-999でもエラーになりません。
タンジェントの値域が全実数(-∞〜+∞)だからです。入力値の範囲を気にしなくてよいのは、実務で使いやすいポイントですね。
ATAN関数の書式と引数
=ATAN(数値) の構文
=ATAN(数値)
引数は「数値」の1つだけです。タンジェント値を指定します。
| 項目 | 内容 |
|---|---|
| 引数「数値」 | 必須。アークタンジェントを求めたいタンジェント値 |
| 戻り値 | ラジアン単位の角度(-π/2 〜 π/2、つまり-90° 〜 90°の範囲) |
| 入力制限 | なし。任意の実数を指定可能 |
対応バージョンはExcel 2007以降すべてです。Microsoft 365やExcel for the Webでも同じ動作です。
戻り値はラジアン——DEGREES関数で度に変換する方法
ここが最大の注意点です。戻り値はラジアン(円の弧の長さで角度を表す単位)で返ります。度数法で表示するには、DEGREES関数で囲みましょう。
=DEGREES(ATAN(1))
この数式は45を返します。ATAN(1)がπ/4(約0.7854)ラジアンを返し、DEGREESが度数(45)に変換しています。
=ATAN(1)*180/PI() でも同じ結果ですが、数式が長くなります。DEGREES関数を使うほうが読みやすくておすすめです。
ATAN関数の使用例
基本例:タンジェント値から角度を求める
A列にタンジェント値を入力し、B1セルに次の数式を入れます。
=DEGREES(ATAN(A1))
B1をコピーして下方向に貼り付ければ、各タンジェント値に対応する角度を一括で求められますよ。
実務例:傾斜率(高さ÷水平距離)から傾斜角を求める
建築やDIYで傾斜角を求める場面を考えてみましょう。
屋根の勾配を求める場合
水平距離100cm、高さ30cmの屋根があるとします。傾斜率は「高さ÷水平距離」で計算できます。
=DEGREES(ATAN(30/100))
結果は約16.7度です。30/100 = 0.3がタンジェント値にあたり、ATANで角度に変換しています。
スロープの勾配を求める場合
水平距離300cm、高さ24cmのスロープでは次のようになります。
=DEGREES(ATAN(24/300))
結果は約4.57度です。このように「高さ÷水平距離」をATAN関数に渡すだけで、傾斜角が求まります。
逆算早見表(代表的なタンジェント値と対応角度)
主なタンジェント値でATAN関数を使った結果をまとめました。
| タンジェント値 | 数式 | 結果(度) |
|---|---|---|
| -√3 ≈ -1.732 | =DEGREES(ATAN(-SQRT(3))) | -60 |
| -1 | =DEGREES(ATAN(-1)) | -45 |
| -1/√3 ≈ -0.577 | =DEGREES(ATAN(-1/SQRT(3))) | -30 |
| 0 | =DEGREES(ATAN(0)) | 0 |
| 1/√3 ≈ 0.577 | =DEGREES(ATAN(1/SQRT(3))) | 30 |
| 1 | =DEGREES(ATAN(1)) | 45 |
| √3 ≈ 1.732 | =DEGREES(ATAN(SQRT(3))) | 60 |
ATAN(1)がπ/4 = 45度、ATAN(√3)がπ/3 = 60度になることは、数学の代表値と一致します。覚えておくと検算に便利ですよ。
ATAN vs ATAN2——どちらを使う?
ATANは「タンジェント値」1引数
ATAN関数は、タンジェント値(傾き)を1つ渡して角度を求めます。「高さ÷水平距離」のような単純な傾き計算に向いています。
ただし戻り値は-90°〜90°の範囲です。XY平面を4つに分けた領域を「象限」と呼びますが、ATANは第1・第4象限の角度しか判別できません。
ATAN2は「Y座標・X座標」2引数——象限を自動判定
ATAN2関数は、X座標とY座標の2つを引数に取ります。
=DEGREES(ATAN2(1, 1)) → 45
=DEGREES(ATAN2(-1, 1)) → 135
戻り値は-180°〜180°の範囲で、4象限すべてを判別できます。
| 項目 | ATAN | ATAN2 |
|---|---|---|
| 引数 | 1個(タンジェント値) | 2個(x座標, y座標) |
| 戻り値の範囲 | -90° 〜 90° | -180° 〜 180° |
| 象限の判別 | 第1・第4象限のみ | 全4象限 |
| 主な用途 | 単純な傾き計算 | XY座標から角度を算出 |
使い分けはシンプルです。傾斜率から角度を求めるならATAN、座標から方向角を求めるならATAN2を選んでください。
よくある疑問・エラー
結果が小数で返ってくる(ラジアン)
もっとも多い疑問です。ATAN関数の戻り値はラジアンなので、度数法の角度に変換するにはDEGREES関数を使います。
=ATAN(1) → 約0.7854(ラジアン)
=DEGREES(ATAN(1)) → 45(度)
「度数で見たい」場合は、常にDEGREESで囲むと覚えておきましょう。
負の値を渡したときの挙動
ATAN関数に負の値を渡すと、負の角度が返ります。エラーにはなりません。
=DEGREES(ATAN(-1)) → -45
タンジェントが負になる角度(-90°〜0°の範囲)が返されます。ASIN・ACOSと違って#NUM!エラーが発生しないのはATAN関数の特徴です。
#VALUE!エラー:文字列を渡した場合
=ATAN("abc") → #VALUE!エラー
引数に文字列を渡すと#VALUE!エラーになります。セル参照を使う場合は、参照先が数値であることを確認してください。
#NAME?エラー:関数名のスペルミス
「ATAN」を「ARCTAN」や「ATANG」と入力すると、#NAME?エラーになります。正しいスペルは「ATAN」(4文字)です。
まとめ
ATAN関数は、タンジェント値から角度を逆算する関数です。
ポイントを整理しておきましょう。
- 構文は
=ATAN(数値)で、引数はタンジェント値を指定する - 戻り値はラジアンなので、度数法で表示するには
=DEGREES(ATAN(数値))とDEGREES関数で変換する - TAN関数の逆関数で、「タンジェント値→角度」の方向で計算する
- ASIN・ACOSと違い、入力に範囲制限がない(#NUM!エラーが発生しない)
- 戻り値は-90°〜90°に限定される
- 座標から角度を求めたい場合はATAN2関数を検討する
まずは =DEGREES(ATAN(1)) で45が返ることを確認してみてください。
