ExcelワークシートからASPページに数式を複製しようとしていますが、数式をコピーすると、異なる結果が得られます(実際、ASPが負の数を平方根しようとするため、エラーが発生します)。
確かに、Excelは従来のASPと同じように演算子の優先順位を処理しますか?
私が複製しようとしている数式は、単純な「T検定」(統計的有意性を報告するために-数式を作成しませんでした)であり、Excelで正しく機能します。Excelでは、セルは次のようになります。
A2 = 1098
B2 = 183
A4 = 20.4
B4 = 17.49
また、セルE4には次の数式が含まれています。
=(A4-B4)/SQRT(((($A$2*A4)+($B$2*B4))/($A$2+$B$2))*
(1-((($A$2*A4)+($B$2*B4))/($A$2+$B$2)))*((1/$A$2)+(1/$B$2)))
そのため、その数式を従来のASPにコピーして貼り付け、すべての$を削除し、SQRTをSQRに変更し、4つの変数A2、B2、A4、B4を宣言しました。エラーを返します(無効なプロシージャ呼び出し)。
ASPで数式の最初の部分((A4-B4)/ SQRT)を削除すると、コードは-2.41868099141296を返しますが、Excelでは0.001019435を返します。
私は最初に数式の一部を個別に計算してから、それを元に戻してSQRTを実行できるようにしましたが、同じことに直面し続けています。
これはただのばかげた間違いですか?ある時点で、Excelで= SQRT(-9)を試すまで、負の数の平方根を調べていました。
私が使用しているASPコードは次のとおりです(最初と最後の行に改行を挿入しました):
A2 = cdbl(1098.0)
A4 = cdbl(20.4)
B2 = cdbl(183.0)
B4 =cdbl(17.49)
' Remove all the $, and (A4-B4)/SQRT part
response.write "<p>Result: " & ((((A2*A4)+(B2*B4))/(A2+B2))*(1-(((A2*A4)+(B2*B4))
/(A2+B2)))*((1/A2)+(1/B2))) & "</p>"`