ExcelのACOS関数|コサイン値から角度を逆算する方法

スポンサーリンク

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.560°

覚え方はシンプルです。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関数はASINATANと合わせて「逆三角関数」ファミリーを構成します。

関数意味入力範囲戻り値の範囲(度)戻り値に負の値
ASINアークサイン(逆正弦)-1 〜 1-90° 〜 90°あり
ACOSアークコサイン(逆余弦)-1 〜 10° 〜 180°なし
ATANアークタンジェント(逆正接)制限なし-90° 〜 90°あり

3つとも戻り値はラジアンです。度数に変換するにはDEGREES関数を使います。

ACOSだけの特徴は2つあります。まず、戻り値が常に0以上(0°〜180°)であること。次に、戻り値の範囲が180度分あること(ASIN・ATANは90度分)です。

どの辺の比がわかっているかで使い分ける

直角三角形の角度を求める場合、わかっている辺の組み合わせで関数を選びます。

わかっている辺計算使う関数
対辺と斜辺対辺÷斜辺ASIN
隣辺と斜辺隣辺÷斜辺ACOS
対辺と隣辺対辺÷隣辺ATAN

迷ったときはこの表を見返してみてください。

まとめ

ACOS関数は、コサイン値から角度を逆算する関数です。

ポイントを整理しておきましょう。

  • 構文は =ACOS(数値) で、引数は-1〜1の範囲のコサイン値を指定する
  • 戻り値はラジアンなので、度数法で表示するには =DEGREES(ACOS(数値))DEGREES関数で変換する
  • COS関数の逆関数で、「コサイン値→角度」の方向で計算する
  • 引数が-1〜1の範囲外だと#NUM!エラーになる
  • 戻り値は0°〜180°に限定される(ASIN・ATANと違い、常に0以上の値が返る)
  • ASIN関数ATAN関数と合わせて逆三角関数ファミリーを覚えておくと便利

これで三角関数シリーズの逆三角関数3兄弟がそろいました。SINCOSTANの順変換と、ASIN・ACOS・ATANの逆変換をセットで覚えましょう。DEGREESRADIANSの単位変換も加えれば、Excelの三角関数はひととおりマスターです。

まずは =DEGREES(ACOS(0.5)) で60が返ることを確認してみてください。

タイトルとURLをコピーしました