スプレッドシートでコタンジェント値から元の角度を逆算したいとき、どう計算すればいいか迷っていませんか?
「COT関数で角度からコタンジェント値は求められるけど、その逆はどうやるの?」と感じますよね。
そんなときに使うのがACOT関数です。=ACOT(値) と書くだけで、コタンジェント値から対応する角度(ラジアン)を返してくれます。
この記事では基本の書き方から、DEGREES関数と組み合わせた度数法への変換、ATAN関数との数学的な関係、実務での活用例まで紹介します。
スプレッドシートのACOT関数とは?
ACOT関数(読み方: アークコタンジェント関数)は、コタンジェント値から角度(ラジアン)を逆算する関数です。COT関数の逆関数にあたります。
たとえば =DEGREES(ACOT(1)) と入力すると「45」が返ります。コタンジェント値1に対応する角度が45度だとわかるわけですね。
ACOT関数は任意の実数を引数に取れます。ASIN関数やACOS関数と違って-1から1の範囲制限がないので、#NUM!エラーの心配がありません。結果はラジアン単位で返ります。度数法(30度、45度など)で結果を得たい場合は、DEGREES関数で変換します。
ACOT関数にできることをまとめると、次のとおりです。
- コタンジェント値から対応する角度(ラジアン)を返す
- DEGREES関数と組み合わせて度数法の角度に変換する
- COT関数の逆変換として角度を逆算する
- ATAN関数と組み合わせて三角関数の変換を行う
NOTE
ACOT関数はGoogleスプレッドシートの全バージョンで使えます。Excelとも完全に互換性があるので、ファイルのやり取りでも安心です。
ACOT関数の書き方(構文と引数)
基本構文
=ACOT(値)
カッコの中に余接(コタンジェント)の値を指定します。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 値 | 必須 | 逆余接を求めたい数値。任意の実数を指定できる |
引数は1つだけです。ASIN関数やACOS関数と違い、値の範囲に制限はありません。どんな数値でも受け付けるので、#NUM!エラーが起きない点がACOT関数の特徴です。
戻り値の範囲
ACOT関数が返す値は 0 から PI() まで(度数法で0度から180度)です。
=ACOT(1000000) → 0.000001(0度に近い値)
=ACOT(1) → 0.7853...(45度)
=ACOT(0) → 1.5707...(90度)
=ACOT(-1) → 2.3561...(135度)
=ACOT(-1000000) → 3.1415...(180度に近い値)
戻り値はラジアンです。度数法で使いたい場合は、DEGREES関数で変換しましょう。
TIP
ACOT関数の戻り値は常に0度から180度の範囲です。ATAN関数の-90度から90度とは範囲が異なるので注意してください。
ACOT関数とATAN関数の関係
ACOT関数とATAN関数には、次の数学的な関係があります。
ACOT(x) = PI()/2 - ATAN(x)
度数法で表すと「ACOT(x) = 90度 – ATAN(x)」です。つまりACOTとATANの結果を足すと、常に90度になります。
スプレッドシートで確認してみましょう。
=DEGREES(ACOT(1)) → 45
=90 - DEGREES(ATAN(1)) → 45
=DEGREES(ACOT(1)) + DEGREES(ATAN(1)) → 90
どちらも同じ結果になります。ACOT関数がない環境でも =PI()/2 - ATAN(値) で代用できますよ。
ACOT関数の基本的な使い方
ラジアンで結果を得る
まずはACOT関数をそのまま使うパターンです。
=ACOT(1)
結果は「0.7853…」です。これはPI()/4と同じ値で、45度をラジアンで表したものですね。
代表的な値とACOTの結果をまとめます。
| 数式 | コタンジェント値 | 結果(ラジアン) | 角度に換算 |
|---|---|---|---|
| =ACOT(1.7321…) | 1.7321… | 0.5235… | 30度 |
| =ACOT(1) | 1 | 0.7853… | 45度 |
| =ACOT(0.5774…) | 0.5774… | 1.0471… | 60度 |
| =ACOT(0) | 0 | 1.5707… | 90度 |
| =ACOT(-1) | -1 | 2.3561… | 135度 |
ACOT(0) = 90度(PI()/2)は覚えておくと便利です。COT(90度) = 0 の逆ですね。
DEGREES関数と組み合わせて度数法で結果を得る
実務では角度を「度」で扱うことがほとんどです。DEGREES関数と組み合わせれば、結果を度数法で取得できます。
=DEGREES(ACOT(1))
結果は「45」です。コタンジェント値1の角度が45度だと、そのまま読み取れますね。
よく使う値の早見表を用意しました。
| コタンジェント値 | 数式 | 結果(度) |
|---|---|---|
| 1.7321…(SQRT(3)) | =DEGREES(ACOT(SQRT(3))) | 30 |
| 1 | =DEGREES(ACOT(1)) | 45 |
| 0.5774…(SQRT(3)/3) | =DEGREES(ACOT(SQRT(3)/3)) | 60 |
| 0 | =DEGREES(ACOT(0)) | 90 |
| -1 | =DEGREES(ACOT(-1)) | 135 |
| -1.7321…(-SQRT(3)) | =DEGREES(ACOT(-SQRT(3))) | 150 |
SQRT(3) は約1.7321、SQRT(3)/3 は約0.5774 です。COT関数の記事で紹介した代表的な値の逆変換ですね。
COT関数との逆変換を確認する
ACOT関数がCOT関数の逆関数であることを、実際に確認してみましょう。
=COT(RADIANS(45)) → 1
=DEGREES(ACOT(1)) → 45
COT関数で45度からコタンジェント値1を求め、ACOT関数で1から45度に戻せています。元の角度に戻るわけですね。
=DEGREES(ACOT(COT(RADIANS(45)))) → 45
このように入れ子にしても、元の角度が復元されます。
NOTE
COT関数とACOT関数の逆変換が成立するのは、角度が0度から180度の範囲のときだけです。ACOT関数の戻り値は0度から180度に限定されるため、たとえば270度のCOT値をACOTに渡すと90度(270 – 180 = 90度相当)を返します。
実務でのACOT関数活用例
水平距離と高さから傾斜角を求める
ACOT関数は勾配の逆数から傾斜角を求める場面で使えます。「水平距離/高さ」の比率がわかっている場合、ACOT関数で傾斜角に変換できます。
=DEGREES(ACOT(水平距離/高さ))
サンプルデータで計算してみましょう。
| 水平距離(A列) | 高さ(B列) | 数式 | 傾斜角 |
|---|---|---|---|
| 10 | 1 | =DEGREES(ACOT(A2/B2)) | 5.71度 |
| 10 | 3 | =DEGREES(ACOT(A3/B3)) | 16.70度 |
| 10 | 5 | =DEGREES(ACOT(A4/B4)) | 26.57度 |
| 10 | 10 | =DEGREES(ACOT(A5/B5)) | 45.00度 |
水平距離と高さが等しいとき(A5/B5 = 1)、傾斜角は45度になります。
TIP
この計算は
=DEGREES(ATAN(高さ/水平距離))でも同じ結果が得られます。ATAN関数では高さ/水平距離、ACOT関数では水平距離/高さと、分子と分母が逆になる点がポイントです。
ATAN関数との結果を比較する
ACOT(x) = PI()/2 – ATAN(x) の関係を実務データで検証してみましょう。
| 値(A列) | ACOT(度) | 90 – ATAN(度) | 一致 |
|---|---|---|---|
| 0 | =DEGREES(ACOT(0)) → 90 | =90-DEGREES(ATAN(0)) → 90 | 一致 |
| 1 | =DEGREES(ACOT(1)) → 45 | =90-DEGREES(ATAN(1)) → 45 | 一致 |
| 2 | =DEGREES(ACOT(2)) → 26.57 | =90-DEGREES(ATAN(2)) → 26.57 | 一致 |
| -1 | =DEGREES(ACOT(-1)) → 135 | =90-DEGREES(ATAN(-1)) → 135 | 一致 |
すべて一致しますね。数学的な等式がスプレッドシートでも成り立つことが確認できます。
既存のシートでATAN関数を使っている場合、ACOT関数に置き換えたいときは =PI()/2 - ATAN(x) の関係を使って変換してみてください。
よくあるエラーと対処法
ACOT関数でよくあるトラブルをまとめます。
| 症状 | 原因 | 対処法 |
|---|---|---|
| #VALUE! エラー | 引数に文字列を渡した | 数値またはセル参照を指定する |
| 結果がラジアンで読みにくい | DEGREES関数で変換していない | =DEGREES(ACOT(値)) とする |
| 期待と違う角度が返る | 戻り値が0度~180度の範囲に限定される | 範囲外の角度は別途調整が必要 |
ラジアンと度数法の変換忘れ
ACOT関数の結果はラジアンです。度数法の角度が欲しいのにDEGREES関数を忘れると、見慣れない数値になります。
=ACOT(1) → 0.7853...(ラジアン)
=DEGREES(ACOT(1)) → 45(度数法)
「なんだか小さい数値が返ってきたな」と思ったら、DEGREES関数の付け忘れを疑ってみてください。
ACOT(0) の結果に注意
ACOT(0) は90度(PI()/2)を返します。ATAN関数のATAN(0) = 0度とは異なるので、混同しないように注意しましょう。
=DEGREES(ACOT(0)) → 90
=DEGREES(ATAN(0)) → 0
ACOT(0) = 90度は、COT(90度) = 0 の逆変換です。直感的には「コタンジェント値が0になる角度は90度」と覚えておくとわかりやすいですよ。
浮動小数点の誤差を丸める
ACOT関数でも浮動小数点の誤差が生じることがあります。見た目を整えたい場合は、ROUND関数で丸めてください。
=ROUND(DEGREES(ACOT(SQRT(3))), 10)
結果は「30」になります。小数点以下10桁で丸めれば、実用上は問題ありませんよ。
似た関数との違い・使い分け
| 関数 | 動作 | 引数 | 用途 |
|---|---|---|---|
| ACOT | 逆余接(アークコタンジェント)を返す | 任意の実数 | コタンジェント値から角度を逆算 |
| COT | 余接(コタンジェント)を返す | 角度(ラジアン) | 角度からコタンジェント値を求める |
| ATAN | 逆正接(アークタンジェント)を返す | 任意の実数 | タンジェント値から角度を逆算 |
| ASIN | 逆正弦(アークサイン)を返す | -1~1の値 | サイン値から角度を逆算 |
| ACOS | 逆余弦(アークコサイン)を返す | -1~1の値 | コサイン値から角度を逆算 |
| DEGREES | ラジアンを度数法に変換する | ラジアン値 | ACOT/ATAN/ASIN/ACOSの結果変換 |
COT関数との逆変換
COT関数とACOT関数は、入力と出力が逆の関係です。
COT: 角度(ラジアン) → コタンジェント値
ACOT: コタンジェント値 → 角度(ラジアン)
COT関数が「角度からコタンジェント値」を求めるのに対して、ACOT関数は「コタンジェント値から角度」を逆算します。セットで覚えておくと便利ですよ。
ATAN関数との違い
ACOT関数とATAN関数はどちらも逆三角関数ですが、戻り値の範囲が異なります。
| 項目 | ACOT | ATAN |
|---|---|---|
| 入力 | コタンジェント値 | タンジェント値 |
| 戻り値の範囲 | 0~PI()(0度~180度) | -PI()/2~PI()/2(-90度~90度) |
| 関係式 | ACOT(x) = PI()/2 – ATAN(x) | ATAN(x) = PI()/2 – ACOT(x) |
| 値が0のとき | 90度 | 0度 |
| 値が1のとき | 45度 | 45度 |
値が1のときは両方とも45度を返します。それ以外では結果が異なるので、どちらの逆三角関数を使うか意識してみてください。
まとめ
ACOT関数は、コタンジェント値から角度(ラジアン)を逆算する関数です。
ポイントを整理します。
- 構文は
=ACOT(値)で、引数は任意の実数(範囲制限なし) - 結果はラジアンで返るので、度数法には
=DEGREES(ACOT(値))と変換する - ACOT(1) = 0.7853…(45度)が代表的な値
- COT関数の逆関数で、COTが返した値からもとの角度を復元できる
- ATAN関数との関係は
ACOT(x) = PI()/2 - ATAN(x)(両者を足すと常に90度) - ASIN関数・ACOS関数と違って引数の範囲制限がなく、#NUM!エラーが起きない
まずは =DEGREES(ACOT(1)) で45が返ることを確認してみてください。
