「エクセルで三角関数をよく使うんだけど、わざわざradianに変換するのが面倒だ。degreeのまま使う方法はないのだろうか。」
この記事は、こんな悩みを抱えている人のためのものです。
初心者向けに画像多めで解説していきますので、ぜひ最後までご覧ください。
それではさっそくやっていきます!
※純粋にやり方だけを知りたいかたは、以下の目次から
【2.三角関数をdegree入力で使用する方法】に飛んでください。
Degree⇒Radianへの変換:RADIANS関数
三角関数をdegree入力で使用できるようにするためには、まずはRADIANS関数を知っておく必要がありますので、まずはそこから説明します。
エクセルでは、Degree表示からRadian表示に変換する関数があらかじめ備わっています。
それがRADIANS関数です。
RADIANS関数の使い方は以下の通りです。
=RASIANS(Degree角度)
実際の使用例
使いかたとしては非常に簡単ですね。
※今回は他のセルを参照する形で与えていますが、そのまま
=RADIANS(30)としても同じ結果が出力されます。
念のため、この計算が正しいか確認しておきましょう。
180deg=πですから、今回の30degは
π/(180/30)で計算することが出来ます。
π=3.141592…ですから
π/(180/30)≒3.141592/6
となりますよね。
これをエクセルで計算してみましょう。
さきほどのRADIANS関数で算出した値と同じになっていますね。
というわけでRADIANS関数がどういったものなのかは理解していただけたのではないでしょうか。
三角関数をdegree入力で使用する方法
事前勉強がおわったところで、ここからはこの記事の本題である三角関数をdegreeで使用する方法についてご紹介していきます。
基本的には一般的な三角関数に、さきほど紹介したRADIANS関数を組み合わせるだけです。
◆三角関数をdegree入力で使用する方法
=三角関数(RADIANS(degree角度))
実際の使用例を見てみましょう。
今回はSIN(30°)を計算してみましょう。
実際の使用例①:ほかのセルを参照する場合
実際の使用例②:直接角度入力する場合
高校生のときにならった通り、
SIN(30°)=1/2=0.5が出力されていますね。
すこし複雑に感じられるかもしれませんが、やっていることは非常にシンプルで、通常の三角関数でラジアン角度入力する部分を先ほど紹介したRADIANS関数に置き換えているだけです。
さきほど、RADIANS関数の説明をした際に計算しましたが、
30degreeはradian表示だと0.523599…です。
これを直接SIN関数に入力してみましょう。
このように、RADIANS関数と組み合わせたときと全くおなじ値が出力されていますね。
なんとなく使い方を理解していただけたのではないでしょうか?
おそらく自分で実際にいじってみるのが一番理解が進むと思いますので、ぜひあなたもエクセルを開いて練習してみてはいかがでしょうか。
VBAへの組み込み方法
三角関数を角度入力で使用する方法について理解いただけたと思います。
ここまではエクセルシート上でのお話でしたが、ここからはVBAでこのスキルを使用する方法について解説していきます。
今回は以下の画像のように、A2セルにdegree角度が表示されている状態で、
B2セルにSIN(A2セルの角度)という数値を出力してみましょう。
その処理を実行するコードは以下の通りです。
Sub Macro1()
'変数の型を宣言
Dim degree_value As Double
Dim radian_value As Double
degree_value = Cells(2, 1)
radian_value = WorksheetFunction.Radians(degree_value)
Cells(2, 2) = Sin(radian_value)
End Sub
【WorksheetFunction.Radians(degree角度)】
でdegree角度からradian角度に変換できるということさえ理解できれば、あとは前半にエクセルシート上でやっていたこととほとんど変わりません。
このコードを実際に実行すると以下のようになります。
結果は先ほどと全く同じですが、数式は残りませんので、ご注意ください。
というわけで、VBAでの使用方法についてもご理解いただけたのではないでしょうか?
このへんのスキルもマスターしておけば、いざというときに便利ですので、ぜひ覚えておきましょう。
おわりに
というわけで今回は、三角関数をdegree入力で使用する方法についてご紹介しました。
「180degがπだから、30degは・・・」
などと毎回計算していた人にとっては、非常に有益なスキルだったのではないでしょうか?
ぜひこのスキルをマスターし、日々の業務を効率化していきましょう!
このように、このブログでは、エクセル(VBA)を中心に、様々な業務効率化スキルを紹介しています。
■業務の生産性を上げたい。
■早く帰って子供と遊びたい。
こんな人はぜひ他の記事も読んでみてください。
また、VBAを使ってこんなことがしたいんだけど、やり方がわからない、という悩みを抱えているかたは、お気軽にコメント欄から質問してください。
私にわかる範囲であればご協力いたしますので。(もちろん無料です。)
最後に・・・
この記事が役に立ったという方はぜひ応援よろしくお願いします。
↓ 応援ボタン
Twitterもやっていますので、興味があれば覗いてみてください。
それではまた!!
コメント