スプレッドシートでサイン値から元の角度を逆算したいとき、どう計算すればいいか迷っていませんか?
「SIN関数で角度からサイン値は求められるけど、その逆はどうやるの?」と感じますよね。
そんなときに使うのがASIN関数です。=ASIN(値) と書くだけで、サイン値から対応する角度(ラジアン)を返してくれます。
この記事では基本の書き方から、DEGREES関数と組み合わせた度数法への変換、傾斜角や仰角の計算への活用まで紹介します。
スプレッドシートのASIN関数とは?
ASIN関数(読み方: アークサイン関数)は、サイン値から角度(ラジアン)を逆算する関数です。SIN関数の逆関数にあたります。
たとえば =DEGREES(ASIN(0.5)) と入力すると「30」が返ります。サイン値0.5に対応する角度が30度だとわかるわけですね。
ASIN関数は-1から1の範囲の値を引数に取り、結果をラジアン単位で返します。度数法(30度、45度など)で結果を得たい場合は、DEGREES関数で変換します。
ASIN関数にできることをまとめると、次のとおりです。
- サイン値(-1~1)から対応する角度(ラジアン)を返す
- DEGREES関数と組み合わせて度数法の角度に変換する
- 傾斜角や仰角など、比率から角度を逆算する
- SIN関数と組み合わせて三角関数の逆変換を行う
NOTE
ASIN関数はGoogleスプレッドシートの全バージョンで使えます。Excelとも完全に互換性があるので、ファイルのやり取りでも安心です。
ASIN関数の書き方(構文と引数)
基本構文
=ASIN(値)
カッコの中に-1から1の範囲の数値を指定します。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 値 | 必須 | 逆正弦を求めたい数値。-1以上1以下の範囲で指定する |
引数は1つだけです。指定できる値は-1から1の範囲に限られます。この範囲を超える値を渡すと#NUM!エラーになるので注意してください。
戻り値の範囲
ASIN関数が返す値は -PI()/2 から PI()/2 まで(度数法で-90度から90度)です。
=ASIN(-1) → -1.5707...(-90度)
=ASIN(0) → 0(0度)
=ASIN(1) → 1.5707...(90度)
戻り値はラジアンです。度数法で使いたい場合は、DEGREES関数で変換しましょう。
TIP
ASIN(1) の戻り値 1.5707… は PI()/2 と同じ値です。つまり90度のラジアン表現ですね。
ASIN関数の基本的な使い方
ラジアンで結果を得る
まずはASIN関数をそのまま使うパターンです。
=ASIN(0.5)
結果は「0.5235…」です。これはPI()/6と同じ値で、30度をラジアンで表したものですね。
代表的な値とASINの結果をまとめます。
| 数式 | サイン値 | 結果(ラジアン) | 角度に換算 |
|---|---|---|---|
| =ASIN(0) | 0 | 0 | 0度 |
| =ASIN(0.5) | 0.5 | 0.5235… | 30度 |
| =ASIN(0.7071…) | 0.7071… | 0.7853… | 45度 |
| =ASIN(0.8660…) | 0.8660… | 1.0471… | 60度 |
| =ASIN(1) | 1 | 1.5707… | 90度 |
ラジアンのまま使う場面は少ないかもしれません。次のDEGREES関数との組み合わせが実務では便利です。
DEGREES関数と組み合わせて度数法で結果を得る
実務では角度を「度」で扱うことがほとんどです。DEGREES関数と組み合わせれば、結果を度数法で取得できます。
=DEGREES(ASIN(0.5))
結果は「30」です。サイン値0.5の角度が30度だと、そのまま読み取れますね。
よく使う値の早見表を用意しました。
| サイン値 | 数式 | 結果(度) |
|---|---|---|
| 0 | =DEGREES(ASIN(0)) | 0 |
| 0.5 | =DEGREES(ASIN(0.5)) | 30 |
| 0.7071… | =DEGREES(ASIN(SQRT(2)/2)) | 45 |
| 0.8660… | =DEGREES(ASIN(SQRT(3)/2)) | 60 |
| 1 | =DEGREES(ASIN(1)) | 90 |
SQRT(2)/2 は約0.7071、SQRT(3)/2 は約0.8660 です。数学の教科書でおなじみの値ですね。
SIN関数との逆変換を確認する
ASIN関数がSIN関数の逆関数であることを、実際に確認してみましょう。
=SIN(RADIANS(30)) → 0.5
=DEGREES(ASIN(0.5)) → 30
SIN関数で30度からサイン値0.5を求め、ASIN関数で0.5から30度に戻せています。元の角度に戻るわけですね。
=DEGREES(ASIN(SIN(RADIANS(30)))) → 30
このように入れ子にしても、元の角度が復元されます。
実務でのASIN関数活用例
傾斜角を求める
高さと斜辺の長さがわかっている場合、ASIN関数で傾斜角を計算できます。
たとえば、スロープの高さが3m、斜辺が10mのとき、傾斜角は次の式で求まります。
=DEGREES(ASIN(3/10))
結果は「17.45…」です。傾斜角は約17.5度とわかりますね。
サンプルデータで何パターンか計算してみましょう。
| 高さ(A列) | 斜辺(B列) | 数式 | 傾斜角 |
|---|---|---|---|
| 3 | 10 | =DEGREES(ASIN(A2/B2)) | 17.46度 |
| 5 | 10 | =DEGREES(ASIN(A3/B3)) | 30.00度 |
| 7 | 10 | =DEGREES(ASIN(A4/B4)) | 44.43度 |
| 10 | 10 | =DEGREES(ASIN(A5/B5)) | 90.00度 |
高さと斜辺が等しいとき(A5/B5 = 1)、傾斜角は90度になります。直角ですね。
TIP
高さ/斜辺の比率は三角関数の「sin」の定義そのものです。sin(θ) = 高さ/斜辺 なので、逆にASIN(高さ/斜辺) = θ で角度が求まります。
仰角を計算する
建物の高さと水平距離から仰角を求めるには、TAN関数の逆関数であるATAN関数が正確です。ただし、斜辺の長さがわかっている場合はASIN関数で計算できます。
たとえば、目線の高さ1.5m、建物の高さ20m、目線から建物の頂上までの直線距離が30mの場合を考えます。
=DEGREES(ASIN((20-1.5)/30))
結果は「37.81…」です。仰角は約37.8度ですね。
COS関数の値からSIN関数の値を求める
三角関数には SIN(θ)^2 + COS(θ)^2 = 1 という関係があります。COS関数の値がわかれば、そこからSIN値を求め、さらにASINで角度を逆算できます。
=DEGREES(ASIN(SQRT(1-COS(RADIANS(60))^2)))
COS(60度) = 0.5 なので、SIN値 = SQRT(1 – 0.25) = SQRT(0.75) = 0.8660… となります。ASIN(0.8660…) = 60度ですね。
よくあるエラーと対処法
ASIN関数でよくあるトラブルをまとめます。
| 症状 | 原因 | 対処法 |
|---|---|---|
| #NUM! エラー | 引数が-1~1の範囲外 | 値が-1以上1以下か確認する |
| #VALUE! エラー | 引数に文字列を渡した | 数値またはセル参照を指定する |
| 結果がラジアンで読みにくい | DEGREES関数で変換していない | =DEGREES(ASIN(値)) とする |
#NUM!エラーの対処
ASIN関数でもっとも多いエラーは#NUM!です。引数に1より大きい値や-1より小さい値を渡すと発生します。
=ASIN(1.5) → #NUM! エラー
=ASIN(-2) → #NUM! エラー
サイン値の範囲は-1から1です。この範囲を超える値には対応する角度が存在しないため、エラーになります。
データの中に範囲外の値が混ざっている場合は、IFERROR関数で対処しましょう。
=IFERROR(DEGREES(ASIN(A2)), "範囲外")
エラーの場合は「範囲外」と表示して、処理が止まるのを防げます。
ラジアンと度数法の変換忘れ
ASIN関数の結果はラジアンです。度数法の角度が欲しいのにDEGREES関数を忘れると、見慣れない数値になります。
=ASIN(0.5) → 0.5235...(ラジアン)
=DEGREES(ASIN(0.5)) → 30(度数法)
「なんだか小さい数値が返ってきたな」と思ったら、DEGREES関数の付け忘れを疑ってみてください。
似た関数との違い・使い分け
| 関数 | 動作 | 引数 | 用途 |
|---|---|---|---|
| ASIN | 逆正弦(アークサイン)を返す | -1~1の値 | サイン値から角度を逆算 |
| SIN | 正弦(サイン)を返す | 角度(ラジアン) | 角度からサイン値を求める |
| COS | 余弦(コサイン)を返す | 角度(ラジアン) | X座標の計算 |
| TAN | 正接(タンジェント)を返す | 角度(ラジアン) | 勾配・傾きの計算 |
| ACOS | 逆余弦(アークコサイン)を返す | -1~1の値 | コサイン値から角度を逆算 |
| ATAN | 逆正接(アークタンジェント)を返す | 任意の実数 | タンジェント値から角度を逆算 |
| DEGREES | ラジアンを度数法に変換する | ラジアン値 | ASIN/ACOS/ATANの結果変換 |
| PI | 円周率πを返す | なし | 角度変換・円の計算 |
ASIN・ACOS・ATANの使い分け
3つの逆三角関数は、どの三角比から角度を求めるかで使い分けます。
- ASIN: 高さ/斜辺(sin値)から角度を求める
- ACOS: 底辺/斜辺(cos値)から角度を求める
- ATAN: 高さ/底辺(tan値)から角度を求める
どの値がわかっているかで、使う関数が決まります。
SIN関数との逆変換
SIN関数とASIN関数は、入力と出力が逆の関係です。
SIN: 角度(ラジアン) → サイン値
ASIN: サイン値 → 角度(ラジアン)
SIN関数が「角度からサイン値」を求めるのに対して、ASIN関数は「サイン値から角度」を逆算します。セットで覚えておくと便利ですよ。
まとめ
ASIN関数は、サイン値から角度(ラジアン)を逆算する関数です。
ポイントを整理します。
- 構文は
=ASIN(値)で、引数は-1から1の範囲 - 結果はラジアンで返るので、度数法には
=DEGREES(ASIN(値))と変換する - ASIN(0.5) = 0.5235…(30度)、ASIN(1) = 1.5707…(90度)が代表的な値
- 傾斜角の計算には
=DEGREES(ASIN(高さ/斜辺))が使える - 引数が-1~1の範囲外だと#NUM!エラーになる
まずは =DEGREES(ASIN(0.5)) で30が返ることを確認してみてください。
