トップ回答者
excelの逆三角関数について

質問
回答
-
x=1, y=1のとき、x/sin(y)は1を超えます(≒1.19)。
つまりacos(1.19)でarccosの引数範囲を超えているため、エラー表示になるのが正常な動作です。
一応、x, yの他、sin(y), x/sin(y)のセルをそれぞれ用意しておき、
中間結果(過程)を検証可能にしておくほうがよいです。
追記
後からふと気づいたのですが、質問の内容を読み違えたかも知れません。
XとYは小数点の数でありACOSの中身が=1でない場合には通常通り計算できるのですが中身が「1」の時「#NUM!」が表示されてしまいます。
もしかしてACOSの引数、x/sin(y)=1になるような、x, yの値をとった、ということでしょうか。
その場合は、x/sin(y)や計算過程の中間結果は浮動小数点数なので、誤差が生じて1を超える可能性があります。
このような計算の場合、IF関数等で、x/sin(y) > 1ならば1とするような回避をするなどの必要があります。
- 編集済み Misha R 2017年11月17日 7:32 一部誤記訂正
- 回答としてマーク 栗下 望Microsoft employee, Moderator 2017年11月20日 0:13
すべての返信
-
x=1, y=1のとき、x/sin(y)は1を超えます(≒1.19)。
つまりacos(1.19)でarccosの引数範囲を超えているため、エラー表示になるのが正常な動作です。
一応、x, yの他、sin(y), x/sin(y)のセルをそれぞれ用意しておき、
中間結果(過程)を検証可能にしておくほうがよいです。
追記
後からふと気づいたのですが、質問の内容を読み違えたかも知れません。
XとYは小数点の数でありACOSの中身が=1でない場合には通常通り計算できるのですが中身が「1」の時「#NUM!」が表示されてしまいます。
もしかしてACOSの引数、x/sin(y)=1になるような、x, yの値をとった、ということでしょうか。
その場合は、x/sin(y)や計算過程の中間結果は浮動小数点数なので、誤差が生じて1を超える可能性があります。
このような計算の場合、IF関数等で、x/sin(y) > 1ならば1とするような回避をするなどの必要があります。
- 編集済み Misha R 2017年11月17日 7:32 一部誤記訂正
- 回答としてマーク 栗下 望Microsoft employee, Moderator 2017年11月20日 0:13