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

スポンサーリンク

ExcelでASIN関数を使ったら、結果の意味がわからなくて戸惑ったことはありませんか。たとえば「=ASIN(0.5)」と入力すると、結果は「0.5235…」という見慣れない数値になります。「30度」ではなく「0.5236ラジアン」が返ってくるのです。

これはASIN関数の戻り値がラジアンという角度の単位だからです。度数法で角度を表示したい場合は、DEGREES関数と組み合わせます。「=DEGREES(ASIN(0.5))」とすれば、きちんと30と表示されますよ。

この記事では、ASIN関数の基本構文からDEGREES関数との組み合わせ方まで解説します。代表的なサイン値の逆算結果一覧や、よくあるエラーの対処法も紹介しますよ。

ExcelのASIN関数とは?基本構文と引数

ASIN関数は、サイン値から角度を逆算するExcelの関数です。読み方は「アークサイン」です。

アークサイン(逆正弦)とは、「サインがその値になる角度」を求める演算のことです。SIN関数が「角度→サイン値」の方向で計算するのに対し、ASIN関数は「サイン値→角度」の方向で計算します。

たとえば、SIN(30°) = 0.5 という関係があります。ASIN関数はこの逆方向で、0.5を渡すと30°に相当するラジアン値を返します。

構文:=ASIN(数値)

=ASIN(数値)

引数は「数値」の1つだけです。シンプルな構文ですね。

引数と戻り値の仕様

項目内容
引数「数値」必須。角度のサイン値を-1から1の範囲で指定します
戻り値ラジアン単位の角度(-π/2 ~ π/2、つまり-90° ~ 90°の範囲)
範囲外の値-1未満または1超の値を渡すと#NUM!エラー

ここが最大の注意点です。戻り値はラジアンで返ります。度数法の角度として扱いたい場合は、DEGREES関数で変換してください。次のセクションで詳しく説明します。

対応バージョン

Excel 2007以降のすべてのバージョンで使えます。Microsoft 365やExcel for the Web(Web版)でも同じ動作です。

ASIN関数の使い方:サイン値から角度を求める方法

DEGREES関数を組み合わせる(推奨)

ASIN関数の戻り値をラジアンから度数に変換するには、DEGREES関数で囲みます。

=DEGREES(ASIN(0.5))

この数式は30を返します。ASIN(0.5)がπ/6(約0.5236)ラジアンを返し、DEGREESが度数(30)に変換しています。

180/PI()を掛けて直接計算する

DEGREES関数を使わずに、手計算で変換する方法もあります。

=ASIN(0.5)*180/PI()

結果は同じく30です。ただし数式が長くなるので、DEGREESを使うほうが読みやすくておすすめです。

セル参照を使った実践例

サイン値をセルに入力して、角度をまとめて逆算する方法です。A列にサイン値を入力し、B1セルに次の数式を入れます。

=DEGREES(ASIN(A1))

B1をコピーして下方向に貼り付ければ、各サイン値に対応する角度を一括で求められますよ。

SIN関数の結果を検証する

ASIN関数はSIN関数の逆関数なので、計算結果の検証にも使えます。

=SIN(RADIANS(30))         → 0.5
=DEGREES(ASIN(0.5))       → 30

SIN関数で求めたサイン値をASIN関数に渡すと、元の角度に戻ります。計算が正しいかどうかの確認に便利です。

代表的なサイン値のASIN計算結果一覧

よく使うサイン値の逆算早見表

主なサイン値でASIN関数を使った結果をまとめました。

サイン値数式結果(度)数学的な角度
-1=DEGREES(ASIN(-1))-90-90°
-√3/2=DEGREES(ASIN(-SQRT(3)/2))-60-60°
-√2/2=DEGREES(ASIN(-SQRT(2)/2))-45-45°
-0.5=DEGREES(ASIN(-0.5))-30-30°
0=DEGREES(ASIN(0))0
0.5=DEGREES(ASIN(0.5))3030°
√2/2=DEGREES(ASIN(SQRT(2)/2))約4545°
√3/2=DEGREES(ASIN(SQRT(3)/2))約6060°
1=DEGREES(ASIN(1))9090°

ASIN関数の戻り値は-90度から90度の範囲に限定されます。たとえばSIN(150°)も0.5ですが、ASIN(0.5)は30度を返します。150度は返りません。これはアークサインの定義域(主値)が-90°~90°に限られているためです。

浮動小数点誤差について

=DEGREES(ASIN(SQRT(2)/2))は数学的には45度ですが、Excelでは「45.0000000000001」のような微小な誤差が出ることがあります。これは浮動小数点誤差(コンピュータの小数計算で生じるわずかなズレ)が原因です。

ROUND関数で丸めれば、きれいな整数に整えられます。

=ROUND(DEGREES(ASIN(SQRT(2)/2)), 10)

小数点以下10桁で丸めれば、誤差が消えてきれいな45になりますよ。

よくあるエラーと対処法

#NUM!エラー:引数が-1~1の範囲外

ASIN関数でもっとも多いエラーです。サイン値は-1から1の範囲にしか存在しないため、範囲外の値を渡すと#NUM!エラーが発生します。

=ASIN(2)     → #NUM!エラー
=ASIN(-1.5)  → #NUM!エラー

数学的にサインの値域は-1~1です。この範囲に収まっているかを確認しましょう。入力値が正しいかどうかわからない場合は、IF関数で事前チェックできます。

=IF(AND(A1>=-1, A1<=1), DEGREES(ASIN(A1)), "範囲外の値です")

#VALUE!エラー:文字列を渡した場合

ASIN関数に文字列を渡すと、#VALUE!エラーが発生します。

=ASIN("abc")   → #VALUE!エラー
=ASIN(A1)      → A1が文字列の場合は#VALUE!エラー

セル参照を使う場合は、参照先が数値であることを確認してください。ISNUMBER関数で事前にチェックすると安全です。

=IF(ISNUMBER(A1), DEGREES(ASIN(A1)), "数値を入力してください")

#NAME?エラー:関数名のスペルミス

「ASIN」を「ASINE」や「ARCSIN」と入力すると、Excelが関数を認識できず#NAME?エラーになります。正しいスペルは「ASIN」(4文字)です。

空白セルを渡した場合

空白セルをASIN関数に渡すと、0として扱われます。ASIN(0) = 0なので、結果は0ラジアン(0度)です。エラーにはなりませんが、意図しない計算結果になることがあるので注意してください。

SIN関数・ACOS・ATANとの関係

SIN関数との逆関数の関係

ASIN関数とSIN関数は逆関数の関係です。一方の出力をもう一方に入力すると、元の値に戻ります。

方向数式入力出力
角度→サイン値=SIN(RADIANS(30))30°0.5
サイン値→角度=DEGREES(ASIN(0.5))0.530°

覚え方はシンプルです。SINは「角度を食べてサイン値を出す」関数、ASINは「サイン値を食べて角度を出す」関数です。

ただし、完全に可逆ではない点に注意してください。SIN(150°)も0.5を返しますが、ASIN(0.5)は30°しか返しません。ASINの戻り値は-90°~90°に限定されるためです。

逆三角関数ファミリー(ACOS・ATAN)

ASIN関数はASIN・ACOS・ATANの「逆三角関数」ファミリーの一つです。

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

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

入力範囲に違いがある点がポイントです。ASINとACOSは-1~1の範囲のみ受け付けますが、ATANはどんな数値でも受け付けます。これは正接(タンジェント)の値域が無限大だからです。

ASINH関数との違い

名前が似ているASINH関数は、双曲線逆正弦(ハイパボリックアークサイン)を求める関数です。ASIN関数とは根本的に別の関数です。

ASIN関数は円(三角関数)に基づき、入力は-1~1に限定されます。ASINH関数は双曲線に基づき、入力に制限がありません。通常のExcel業務で逆三角関数を使う場合は、ASIN関数を選べば間違いありません。

まとめ

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

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

  • 構文は =ASIN(数値) で、引数は-1~1の範囲のサイン値を指定する
  • 戻り値はラジアンなので、度数法で表示するには =DEGREES(ASIN(数値))DEGREES関数で変換する
  • SIN関数の逆関数で、「サイン値→角度」の方向で計算する
  • 引数が-1~1の範囲外だと#NUM!エラーになる
  • 戻り値は-90°~90°に限定される(150°のように同じサイン値を持つ角度は返らない)
  • ACOS関数ATAN関数と合わせて逆三角関数ファミリーを覚えておくと便利

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

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