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° |
| 0.5 | =DEGREES(ASIN(0.5)) | 30 | 30° |
| √2/2 | =DEGREES(ASIN(SQRT(2)/2)) | 約45 | 45° |
| √3/2 | =DEGREES(ASIN(SQRT(3)/2)) | 約60 | 60° |
| 1 | =DEGREES(ASIN(1)) | 90 | 90° |
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.5 | 30° |
覚え方はシンプルです。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 ~ 1 | 0° ~ 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が返ることを確認してみてください。
