excel

【Excel】エクセルでの三角関数の計算がおかしい・合わない原因と対処法(数式エラー・計算結果の確認方法も)

当サイトでは記事内に広告を含みます

Excelで三角関数を使った計算をしていると、「SIN関数やCOS関数の結果がおかしい」「数式を入力してもエラーになる」「手計算と結果が合わない」といったトラブルに遭遇することがあります。

三角関数はExcelでも頻繁に使われる関数のひとつですが、角度の単位(度とラジアン)の違いを理解していないと計算結果が大きくずれてしまうため注意が必要です。

この記事では、Excelでの三角関数の計算がおかしくなる原因と、数式エラーや計算結果のずれを修正するための具体的な対処法をわかりやすく解説していきます。三角関数の基本から応用的なエラー対処まで幅広くカバーしていますので、ぜひ参考にしてください。

Excelの三角関数で計算結果がおかしい基本的な原因と対処法

それではまず、Excelの三角関数で計算結果がおかしくなる基本的な原因と対処法について解説していきます。

三角関数の計算結果がおかしい場合に最初に確認すべきことは、角度の単位がラジアンになっているかどうかです。Excelの三角関数はすべてラジアン単位で動作するため、度(°)のまま入力すると全く異なる値が出力されてしまいます。

度をラジアンに変換してSIN・COS・TAN関数を正しく使う方法

Excelで「SIN(30)」と入力しても、sin(30°)の値である0.5は得られません。Excelは30をラジアンとして計算してしまうためです。度からラジアンに変換するにはRADIANS関数を使います。

 

度からラジアンへの変換式
ラジアン = 度 × π ÷ 180RADIANS関数を使った変換
=RADIANS(30) → 0.5236…(30°をラジアンに変換)SIN関数と組み合わせた正しい使い方
=SIN(RADIANS(30)) → 0.5(sin30°の正しい結果)
=COS(RADIANS(60)) → 0.5(cos60°の正しい結果)
=TAN(RADIANS(45)) → 1(tan45°の正しい結果)

PI()関数を使った変換方法
=SIN(30*PI()/180) → 0.5(RADIANS関数を使わない方法)

RADIANS関数とSIN・COS・TAN関数を組み合わせて使うことが、三角関数を正しく計算する基本です。角度を度で入力している場合は必ずRADIANS関数で変換してから三角関数に渡しましょう。

ラジアンを度に変換して計算結果を確認する方法

ASIN・ACOS・ATAN関数(逆三角関数)はラジアン単位で結果を返します。度で確認したい場合はDEGREES関数で変換が必要です。

ラジアンから度への変換式
度 = ラジアン × 180 ÷ πDEGREES関数を使った変換
=DEGREES(ASIN(0.5)) → 30(arcsin(0.5)の結果を度で表示)
=DEGREES(ACOS(0.5)) → 60(arccos(0.5)の結果を度で表示)
=DEGREES(ATAN(1)) → 45(arctan(1)の結果を度で表示)ATAN2関数でx・y座標から角度を求める方法
=DEGREES(ATAN2(x座標, y座標))
例:=DEGREES(ATAN2(1, 1)) → 45(座標(1,1)の角度)

逆三角関数の結果をそのまま使うと単位がラジアンになっているため、角度として表示したい場合はDEGREES関数で変換する操作を忘れないようにしましょう。RADIANSとDEGREESをセットで覚えておくと便利です。

Excelの主な三角関数の一覧と正しい使い方

Excelで使用できる三角関数は複数あります。それぞれの関数名と正しい使い方を整理しておきましょう。

 

関数名 機能 使用例(度で入力する場合) 結果
SIN サイン(正弦) =SIN(RADIANS(30)) 0.5
COS コサイン(余弦) =COS(RADIANS(60)) 0.5
TAN タンジェント(正接) =TAN(RADIANS(45)) 1
ASIN アークサイン(逆正弦) =DEGREES(ASIN(0.5)) 30
ACOS アークコサイン(逆余弦) =DEGREES(ACOS(0.5)) 60
ATAN アークタンジェント(逆正接) =DEGREES(ATAN(1)) 45
ATAN2 x・y座標から角度を計算 =DEGREES(ATAN2(1,1)) 45

 

表を参考に、使用する関数と変換関数の組み合わせを確認してみてください。三角関数には必ずRADIANS、逆三角関数の結果にはDEGREESを組み合わせることが正確な計算の基本ルールです。

Excelの三角関数で数式エラーが出る原因と対処法

続いては、Excelの三角関数で数式エラーが出る原因と対処法を確認していきます。

三角関数の計算でエラーが表示される場合、引数の値が関数の定義域を外れていることや、数式の記述に誤りがあることが主な原因として挙げられます。エラーの種類によって原因と対処法が異なります。

#NUM!エラーが出る場合の原因と対処法

ASIN・ACOS関数で#NUM!エラーが表示される場合、引数の値が定義域(-1以上1以下)を外れています。

#NUM!エラーの原因
=ASIN(2) → #NUM!(2は-1〜1の範囲外のため)
=ACOS(-1.5) → #NUM!(-1.5は-1〜1の範囲外のため)対処法①:引数の値が-1〜1の範囲内に収まっているか確認する
=ASIN(0.5) → 正常に計算される対処法②:IFERROR関数で#NUM!エラーを非表示にする
=IFERROR(ASIN(A1), “入力値エラー”)
→ A1の値が定義域外の場合に「入力値エラー」と表示される

対処法③:IF関数と組み合わせて事前にチェックする
=IF(AND(A1>=-1, A1<=1), ASIN(A1), “範囲外”)

ASIN・ACOS関数の引数は必ず-1以上1以下の範囲内でなければなりません。計算で得られた値を引数にする場合は、事前にIF関数やIFERROR関数でエラー処理を組み込んでおくと安全でしょう。

#VALUE!エラーが出る場合の原因と対処法

#VALUE!エラーは引数に数値ではなく文字列が渡されている場合に発生します。セルに入力されたデータの型が原因であることがほとんどです。

#VALUE!エラーの原因
=SIN(“三十度”) → #VALUE!(文字列を引数にしているため)
=COS(A1) → #VALUE!(A1に文字列が入力されているため)対処法①:引数に使うセルのデータ型を確認する
セルを選択して「ホーム」タブ→「数値」グループで「文字列」になっていないか確認する対処法②:VALUE関数で文字列を数値に変換する
=SIN(RADIANS(VALUE(A1)))
→ A1に数値が文字列として入力されている場合に有効

対処法③:IFERROR関数でエラーを処理する
=IFERROR(SIN(RADIANS(A1)), “入力値を確認してください”)

三角関数の引数は必ず数値(またはラジアン変換済みの数値)でなければなりません。セルのデータ型が文字列になっていないかを確認することが#VALUE!エラー解決の第一歩です。

#DIV/0!エラーがTAN関数で出る場合の対処法

TAN関数で90°または270°(π/2または3π/2ラジアン)を計算しようとすると、数学的に値が無限大になるため非常に大きな数値やエラーが返されることがあります。

TAN(90°)の問題
=TAN(RADIANS(90)) → 非常に大きな数値または#DIV/0!対処法①:90°や270°付近の値を避けるようにデータを設計する対処法②:IFERROR関数でエラー処理を組み込む
=IFERROR(TAN(RADIANS(A1)), “計算不能”)

対処法③:IF関数で90°の場合を事前に除外する
=IF(MOD(A1, 180)=90, “計算不能”, TAN(RADIANS(A1)))
→ 90°・270°など180の奇数倍の場合を除外する

TAN関数の90°問題は数学的な性質によるものです。実務でTAN関数を使う場合は90°付近のデータが入力されることを想定してエラー処理を必ず組み込んでおくことをおすすめします。

Excelの三角関数の計算結果を正しく確認する方法

続いては、Excelの三角関数の計算結果を正しく確認するための方法を確認していきます。

三角関数の計算結果がおかしいと感じた場合、浮動小数点誤差や表示桁数の問題が影響していることも多いでしょう。計算結果を正しく確認・検証するための方法を身につけておくことが大切です。

三角関数の計算結果に浮動小数点誤差が出る場合の対処法

SIN(180°)は数学的には0ですが、Excelでは「1.22460635…E-16」のような極めて0に近い小さな値が返されることがあります。これは浮動小数点演算の誤差です。

浮動小数点誤差の例
=SIN(RADIANS(180)) → 1.22460635E-16(理論値は0)
=COS(RADIANS(90)) → 6.12303177E-17(理論値は0)対処法①:ROUND関数で適切な桁数に丸める
=ROUND(SIN(RADIANS(180)), 10) → 0対処法②:表示形式で小数点以下の桁数を制限する
セルを選択→「ホーム」タブ→小数点以下の表示桁数を減らすボタンをクリック

対処法③:計算結果の比較にはROUNDした値を使う
=IF(ROUND(SIN(RADIANS(A1)), 10)=0, “ゼロ”, “非ゼロ”)

三角関数の計算では浮動小数点誤差が生じやすいため、計算結果をそのまま条件判定に使うのではなく、ROUND関数で丸めてから判定することを習慣にしましょう。

PI()関数を正しく使って精度の高い計算を行う方法

円周率πを使った計算では、PI()関数を使うことでExcelが持つ最高精度のπの値を使用できます。

PI()関数の基本的な使い方
=PI() → 3.14159265358979…(Excelが保持する最高精度のπ)RADIANS関数の代わりにPI()を使う方法
=SIN(30*PI()/180) → 0.5(sin30°)
=COS(60*PI()/180) → 0.5(cos60°)πを使った計算例
=2*PI()*5 → 半径5の円の周長(31.41592…)
=PI()*5^2 → 半径5の円の面積(78.53981…)

RADIANS関数とPI()関数のどちらを使っても計算精度に大きな差はありませんが、数式の意味を明示したい場合はPI()/180を使った表記が直感的でわかりやすいでしょう。チームで共有するファイルでは可読性を意識した数式を使うことをおすすめします。

三角関数の計算結果を手計算と照合して確認する方法

Excelの三角関数の計算結果が正しいかどうか不安な場合は、代表的な角度の値を手計算の結果と照合して確認することが有効です。

三角関数の代表的な値(暗記しておくと便利)
sin0° = 0    cos0° = 1    tan0° = 0
sin30° = 0.5   cos30° ≒ 0.866  tan30° ≒ 0.577
sin45° ≒ 0.707  cos45° ≒ 0.707  tan45° = 1
sin60° ≒ 0.866  cos60° = 0.5   tan60° ≒ 1.732
sin90° = 1    cos90° = 0    tan90° = 計算不能Excelで確認する数式例
=SIN(RADIANS(30)) → 0.5(正しい)
=COS(RADIANS(0)) → 1(正しい)
=TAN(RADIANS(45)) → 1(正しい)
Excelの三角関数でよくあるトラブルの原因は、①角度の単位がラジアンでなく度のままになっている→②逆三角関数の結果をDEGREESで変換していない→③引数の値が定義域を外れている→④浮動小数点誤差の影響、の順番で多く見られます。まずRADIANS関数・DEGREES関数の使い忘れがないか確認することが解決への近道です。

まとめ

この記事では、Excelでの三角関数の計算がおかしくなる原因と、数式エラーや計算結果のずれを修正するための具体的な対処法をまとめて解説しました。

三角関数のトラブルで最も多い原因は角度の単位の違いです。Excelの三角関数はラジアン単位で動作するため、度で入力する場合は必ずRADIANS関数で変換する必要があります。逆三角関数の結果を度で確認したい場合はDEGREES関数を組み合わせましょう。

エラーが出る場合は引数の定義域と数値型の確認が重要で、IFERROR関数を組み合わせることで安定した数式を作成できます。浮動小数点誤差にはROUND関数で対処し、代表的な角度の値を覚えておくことで計算結果の正確性をすばやく確認できるでしょう。今回紹介した方法を参考に、三角関数を正確に活用してみてください。