二次方程式を解く(Microsoft Excel)
クライドは、二次方程式を解く関数がExcelにあるかどうか疑問に思います。簡単に言うと、このようなワークシート関数はプログラムに組み込まれていません。ただし、いくつかの式を使用して2次方程式を解いたり、独自のユーザー定義関数を開発したりすることができます。
これは二次方程式の一般的な形式です:
ax^2 + bx + c = 0
方程式では、値a、b、およびcは定数であり、xについて解く必要があります。 xには常に2つの可能な解があります。つまり、2次方程式から導出される2つの2次方程式があります。
(-b+SQRT(b^2-4ac))/2a (-b-SQRT(b^2-4ac))/2a
これは、ワークシートに配置するのに十分簡単です。 a、b、およびcの値がセルA1、B1、およびC1にあるとすると、次の数式を使用できます。
=(-B1+SQRT(B1^2-4A1C1))/(2*A1) =(-B1-SQRT(B1^2-4A1C1))/(2*A1)
この時点で、A1、B1、およびC1の値を変更して、必要な答えを得ることができます。これらの式は、(B1 ^ 2)>(4A1C1)の任意の値で機能します。これが当てはまらない場合でも、答えはありますが、虚数になり始めます。この時点で物事は急いで粘着性になる可能性があり、単なる死すべき者が彼らの頭が爆発する本当の可能性にぶつかります。虚数を処理するように数式を調整する場合は、次の短い説明が役立つ場合があります。
https://www.excelforum.com/excel-formulas-and-functions/1116652-how-to-view-complex-number-from-quadratic-equation.html
また、Excelのゴールシークツールを使用して2次方程式を解く人もいますが、私のお金では、上記の数式は問題なく機能します。数式を使用して解決策を導き出すことができれば、ゴールシークツールが非常に優れている反復作業を行う必要性がすべてなくなるように思えます。ただし、ゴールシークツールを使用したい場合は、次のWebページが役立つ場合があります。
https://www.wikihow.com/Solve-a-Quadratic-Equation-Using-the-Goal-Seek-Feature-on-Microsoft-Excel
独自のユーザー定義関数を作成して、2次方程式の解を導出できることは前述しました。簡単に実装できるものは次のとおりです。
Function Quadratic(a As Double, b As Double, _ c As Double, r As Integer) As Variant Quadratic = CVErr(xlErrValue) If r = 1 Then Quadratic = CVErr(xlErrNA) If b ^ 2 > (4 a c) Then Quadratic = (-b + Sqr(b ^ 2 - (4 a c))) / (2 * a) End If End If If r = 2 Then Quadratic = CVErr(xlErrNA) If b ^ 2 > (4 a c) Then Quadratic = (-b - Sqr(b ^ 2 - (4 a c))) / (2 * a) End If End If End Function
この関数には、A、B、およびCの値と、最初の(正の)回答または2番目の(負の)回答のどちらが必要かを示すインジケーターの4つのパラメーターが必要です。セルA1、B1、およびC1に3つの値がある場合、ワークシートで2番目の(負の)結果を取得する方法は次のとおりです。
=Quadratic(A1, B1, C1, 2)
インジケーター(4番目のパラメーター)が1または2でない場合、関数は#VALUE!を返します。エラー。最初の3つのパラメーターに指定した定数が虚数の答えになる場合、関数は#NUM!を返します。エラー。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]
。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(13686)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice365のExcelに適用されます。