克莱德想知道Excel中是否有一个函数可以解决二次方程式。简短的答案是程序中没有内置这样的工作表功能。但是,您可以使用几个公式来求解二次方程,或者可以开发自己的用户定义函数。

这是二次方程的一般形式:

ax^2 + bx + c = 0

在方程式中,值a,b和c为常数,您需要求解x。 x始终有两个可能的解,这意味着从二次方程式导出两个二次方程式:

(-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的“目标搜索”工具来求解二次方程式,但是对于我来说,上述公式很有效。我的感觉是,如果您可以使用公式来得出解决方案,那么在我看来,消除了进行“目标寻求”工具如此熟练的迭代工作的全部需求。但是,如果您喜欢使用“目标搜索”工具,则可能会发现此网页有帮助:

https://www.wikihow.com/Solve-a-Quadratic-Equation-Using-the-Goal-Seek-Feature-on-Microsoft-Excel

前面我提到过,您可以构建自己的用户定义的函数来导出二次方程的解。这是您可以轻松实现的一种:

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的值,以及指示您要第一个(正)答案还是第二个(负)答案的指示符。给定单元格A1,B1和C1中的三个值,以下是在工作表中获取第二个(负)结果的方法:

=Quadratic(A1, B1, C1, 2)

如果您的指标(第四个参数)不是1或2,则该函数将返回#VALUE!错误。如果您为前三个参数提供的常数导致虚构的答案,则该函数将返回#NUM!。错误。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(13686)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。