ExcelでACOS関数を使ったら、「0.9272…」のような見慣れない数値が返ってきた。こんな経験はありませんか。
期待した角度ではなく、ラジアンという別の角度単位で返ってきたのです。
度数法で角度を表示するには、DEGREES関数と組み合わせます。「=DEGREES(ACOS(0.5))」とすれば、60ときちんと表示されますよ。
この記事では、ACOS関数の基本構文からDEGREES関数との組み合わせ方まで解説します。よくあるエラーの対処法や、ASIN関数・ATAN関数との使い分けも紹介します。
ExcelのACOS関数とは?アークコサイン(逆余弦)の基本
ACOS関数は、コサイン値から角度を逆算するExcelの関数です。
ACOS関数の読み方と意味
読み方は「アークコサイン」です。アークコサイン(逆余弦)とは、「コサインがその値になる角度」を求める演算のことです。
COS関数が「角度→コサイン値」の方向で計算するのに対し、ACOS関数は「コサイン値→角度」の方向で計算します。
COS関数との関係|順変換と逆変換
ACOS関数とCOS関数は逆関数の関係です。一方の出力をもう一方に入力すると、元の値に戻ります。
| 方向 | 数式 | 入力 | 出力 |
|---|---|---|---|
| 角度→コサイン値 | =COS(RADIANS(60)) | 60° | 0.5 |
| コサイン値→角度 | =DEGREES(ACOS(0.5)) | 0.5 | 60° |
覚え方はシンプルです。COSは「角度を食べてコサイン値を出す」関数です。ACOSは「コサイン値を食べて角度を出す」関数です。
ただし、完全に可逆ではない点に注意してください。COS(300°)も0.5を返しますが、ACOS(0.5)は60°しか返しません。ACOSの戻り値が0°〜180°に限定されるためです。
戻り値はラジアン:0〜πの範囲
ACOS関数の戻り値はラジアン(円の弧の長さで角度を表す単位)です。範囲は0〜π、つまり0°〜180°です。
ASIN関数やATAN関数は負の値を返すことがあります。しかしACOS関数の戻り値は常に0以上です。これは逆三角関数3つの中でACOSだけの特徴です。
ACOS関数の構文と引数
=ACOS(数値)
引数は「数値」の1つだけです。シンプルな構文ですね。
| 項目 | 内容 |
|---|---|
| 引数「数値」 | 必須。角度のコサイン値を-1から1の範囲で指定します |
| 戻り値 | ラジアン単位の角度(0 〜 π、つまり0° 〜 180°の範囲) |
| 範囲外の値 | -1未満または1超の値を渡すと#NUM!エラー |
対応バージョンはExcel 2007以降すべてです。Microsoft 365やExcel for the Webでも同じ動作です。
引数「数値」は-1〜1の範囲のみ有効
コサインの値域は-1から1です。この範囲外の数値を渡すと#NUM!エラーになります。
たとえば =ACOS(1.5) はエラーです。割り算の結果をACOSに渡す場合は、値が-1〜1に収まっているか事前に確認しましょう。
ACOS関数の使い方:基本例と度への変換
ラジアンで結果を得る基本例
まずはシンプルな例から見てみましょう。
=ACOS(0.5)
結果は約1.0472です。これはπ/3ラジアン、つまり60度に相当します。ただし表示はラジアンのままなので、度数で見たい場合は次の方法を使います。
DEGREES関数で度数法に変換する
ACOS関数の戻り値を度数に変換するには、DEGREES関数で囲みます。
=DEGREES(ACOS(0.5))
この数式は60を返します。ACOS(0.5)がπ/3(約1.0472)ラジアンを返し、DEGREESが度数(60)に変換しています。
=ACOS(0.5)*180/PI() でも同じ結果ですが、DEGREESを使うほうが読みやすくておすすめです。
セル参照を使う場合は、A列にコサイン値を入力し、B1セルに次の数式を入れます。
=DEGREES(ACOS(A1))
B1をコピーして下方向に貼り付ければ、各コサイン値に対応する角度を一括で求められますよ。
実務での活用例:三角形の角度を逆算する
隣辺と斜辺の比から角度を求める
直角三角形で「隣辺(底辺)」と「斜辺」の長さがわかっている場合、ACOS関数で角度を求められます。
コサインは「隣辺 ÷ 斜辺」で計算できます。たとえば隣辺が4cm、斜辺が8cmの場合を考えましょう。
=DEGREES(ACOS(4/8))
結果は60です。4÷8 = 0.5がコサイン値にあたり、ACOSで角度(60度)に変換しています。
別の例も見てみましょう。隣辺が7cm、斜辺が10cmの場合です。
=DEGREES(ACOS(7/10))
結果は約45.57度です。このように「隣辺÷斜辺」をACOS関数に渡すだけで、角度が求まります。
なお、「対辺÷斜辺」から角度を求めたい場合はASIN関数を使います。「対辺÷隣辺」ならATAN関数です。どの辺の比がわかっているかで関数を使い分けてください。
COS逆変換デモ:COS→ACOSで元の角度を復元
COS関数で求めたコサイン値から、ACOS関数で元の角度を復元する例です。
=COS(RADIANS(60)) → 0.5
=DEGREES(ACOS(0.5)) → 60
COS関数で60度のコサイン値(0.5)を求め、ACOS関数に戻すと60が返ります。計算結果の検証に便利な使い方です。
ただし、元の角度が0°〜180°の範囲外だった場合は復元できません。たとえばCOS(300°) = 0.5ですが、ACOS(0.5)は60°を返します。COSは周期関数です(360°ごとに同じ値を繰り返す関数)。このため、ACOSでは0°〜180°の主値(代表となる角度)のみが返されます。
よくあるエラーと対処法
#NUM!エラー:入力値が-1〜1の範囲外のとき
ACOS関数でもっとも多いエラーです。コサイン値は-1から1の範囲にしか存在しないため、範囲外の値を渡すと#NUM!エラーになります。
=ACOS(2) → #NUM!エラー
=ACOS(-1.5) → #NUM!エラー
割り算の結果をACOSに渡す場合は、浮動小数点誤差(コンピュータの小数計算で生じるわずかなズレ)にも注意が必要です。計算結果が1.0000000000001のようにわずかに1を超え、エラーになることがあります。
MIN/MAX関数でクランプ(値を範囲内に収める処理)すると安全です。
=ACOS(MIN(1, MAX(-1, A1)))
この数式なら、A1の値が-1〜1の範囲を少しでも超えても、エラーを防げます。
#VALUE!エラー:数値以外を渡したとき
ACOS関数に文字列を渡すと、#VALUE!エラーが発生します。
=ACOS("abc") → #VALUE!エラー
セル参照を使う場合は、参照先が数値であることを確認してください。
ASIN・ATAN・ACOSの違い比較表
逆三角関数3関数の入力・出力範囲の違い
ACOS関数はASIN・ATANと合わせて「逆三角関数」ファミリーを構成します。
| 関数 | 意味 | 入力範囲 | 戻り値の範囲(度) | 戻り値に負の値 |
|---|---|---|---|---|
| ASIN | アークサイン(逆正弦) | -1 〜 1 | -90° 〜 90° | あり |
| ACOS | アークコサイン(逆余弦) | -1 〜 1 | 0° 〜 180° | なし |
| ATAN | アークタンジェント(逆正接) | 制限なし | -90° 〜 90° | あり |
3つとも戻り値はラジアンです。度数に変換するにはDEGREES関数を使います。
ACOSだけの特徴は2つあります。まず、戻り値が常に0以上(0°〜180°)であること。次に、戻り値の範囲が180度分あること(ASIN・ATANは90度分)です。
どの辺の比がわかっているかで使い分ける
直角三角形の角度を求める場合、わかっている辺の組み合わせで関数を選びます。
迷ったときはこの表を見返してみてください。
まとめ
ACOS関数は、コサイン値から角度を逆算する関数です。
ポイントを整理しておきましょう。
- 構文は
=ACOS(数値)で、引数は-1〜1の範囲のコサイン値を指定する - 戻り値はラジアンなので、度数法で表示するには
=DEGREES(ACOS(数値))とDEGREES関数で変換する - COS関数の逆関数で、「コサイン値→角度」の方向で計算する
- 引数が-1〜1の範囲外だと#NUM!エラーになる
- 戻り値は0°〜180°に限定される(ASIN・ATANと違い、常に0以上の値が返る)
- ASIN関数・ATAN関数と合わせて逆三角関数ファミリーを覚えておくと便利
これで三角関数シリーズの逆三角関数3兄弟がそろいました。SIN・COS・TANの順変換と、ASIN・ACOS・ATANの逆変換をセットで覚えましょう。DEGREES・RADIANSの単位変換も加えれば、Excelの三角関数はひととおりマスターです。
まずは =DEGREES(ACOS(0.5)) で60が返ることを確認してみてください。
