ここから本文です

エクセルの角度の算出についての質問です.

sui********さん

2009/12/2917:16:04

エクセルの角度の算出についての質問です.

x,yにある値を代入して,それを度数法で求めたいと思っています.
例えば,
x=1,y=2と代入すれば
atan((y/x))*180/pi()
で63.4度と出てくるのですが,
x=-1,y=-2と代入しても
63.4度と出てきてしまいます.

そうではなく,x=-1,y=-2と代入した場合に
243.4度と出すにはどうすればいいのでしょうか?

お詳しい方いらっしゃいましたら回答をお願いします.

閲覧数:
18,985
回答数:
4
お礼:
250枚

違反報告

ベストアンサーに選ばれた回答

cas********さん

編集あり2009/12/2920:02:06

ATAN関数の戻り値は、-PI/2~PI/2ラジアン なのでうまくいかないですよね。
ATAN2関数を使います。ATAN2関数の戻り値は-PI~PIです。

画像のように、x座標をA2に、y座標をB2に入力します。
この座標のアークタンジェントは、以下の式で求められます。
=ATAN2(A2,B2)

求めたラジアンを度に変換するには、DEGREES関数を使います。
=DEGREES(ATAN2(A2,B2))

求めたラジアンが0未満のとき、すなわちATAN2(A2,B2)<0のときを考えて、IF関数で場合分けをします。

=IF(ATAN2(A2,B2)<0,DEGREES(ATAN2(A2,B2))+360,DEGREES(ATAN2(A2,B2)))

以上で完了です。

追記>
naumanniさんの回答に驚きました。負の剰余は考えつきませんでした。というのも負の剰余は処理系(プログラミング言語等)によって結果が異なるから扱いが難しい、と学生時代に教わって以来の認識でしたので・・・

=MOD(DEGREES(ATAN2(A2,B2)),360)
=DEGREES(MOD(ATAN2(A2,B2),2*PI()))

Excelの場合はこの式でも求めることができるのですね。

ATAN関数の戻り値は、-PI/2~PI/2ラジアン なのでうまくいかないですよね。...

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜3件/3件中

並び替え:回答日時の
新しい順
|古い順

nau********さん

2009/12/2919:07:00

ATAN関数は、-π/2(-90度)~π/2(90度) で求まるため、第1象限と第3象限、第2象限と第4象限が同じになってしまいます。
ATAN2関数を使うと、-π(-180度)~π(180度)で求まります。

そこで、ATAN2関数を使って、360度で割った余り(MOD関数)を使ったらいかがでしょうか(IFを使わなくてもできるので少しは単純化できます)

A2に座標、B2にy座標を入れてある場合
=MOD(ATAN2(A2,B2)*180/PI(),360)

all********さん

2009/12/2918:07:01

角度のこと判りませんが
1 -2
-1 2
の時はどうするの?
このことは考えでいませんが
両方マイナスなら +180度で
=IF(COUNTIF(A1:B1,"<0")=2,ATAN((B1/A1))*180/PI()+180,ATAN((B1/A1))*180/PI())

yam********さん

2009/12/2918:03:10

添付図のような設定の場合、C2のセルへ下記の関数を入れて下へオートフィルします。
=IF(AND(A2>0,B2>0),ATAN(B2/A2)*180/PI(),IF(AND(A2>0,B2<0),360+ATAN(B2/A2)*180/PI(),IF(AND(A2<0,B2>0),180+ATAN(B2/A2)*180/PI(),180+ATAN(B2/A2)*180/PI())))
これでよさそうですが、どうでしょうか。

添付図のような設定の場合、C2のセルへ下記の関数を入れて下へオートフィルします。...

あわせて知りたい

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる