[英]Excel VBA function error
我很確定您的意圖是評估Sin(x)
,其中x
以度為單位(如果除了以弧度(不是0
整數)進行評估的原因,除其他原因外,這很罕見),但是函數Sin(x)
與弧度一起使用。 您可以使用函數Randians()
修復此問題:
Public Function first(ByVal x As Double) As Double
x = Application.Radians(x)
If (x + 1 < 0) Or (1 - 2 * Sin(x) < 0) Or Sqr(1 - 2 * Sin(x)) = 0 Then
first = "error"
Else
first = Sqr(x + 1) / Sqr(1 - 2 * Sin(x))
End If
End Function
然后,例如, first(7)
評估為1.218130941
。
當x為7時 , Sin(x)
等於0.656986598718789 。
將其插入公式1 - 2 * Sin(x)
,得到-0.313973197437578 。
您不能取Sqr(...)
平方根(即Sqr(...)
)。 我建議添加Abs(...)
作為包裝以保證有一個正數,但我不知道您最終要完成什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.