如何将单元格设置为y值并使用公式确定二次方程中的x值?

时间:2015-11-23 07:07:07

标签: excel excel-formula excel-2016

我有一个y = 0.0031x ^ 2 + 0.1336x + 0.0355的趋势线方程。我在列中有y值,我想确定每个via公式的x值,所以我不必手动进行120次计算。

1 个答案:

答案 0 :(得分:0)

实际上有一种Excel内置机制来解决这类问题。

假设您的y - 值存储在第一列(A1,A2等)中。

如果我们假设x - 值将存储在D1中,那么你将把你感兴趣的等式放在C1中,这将是这样的:

=0.0031*POWER($D1,2)+0.1336*$D1+0.0355-A1

向下拖动直到适合。

现在在D1中输入任意数字,例如5。

向下拖动D1直到适合。

转到数据功能区并转到假设分析并选择目标搜索。

它应该是这样的:

enter image description here

请注意我的Excel是德语。

在第一个字段中,您将选择二次方程所在的范围,在本例中为C1。 在第二个字段中,您将指定要实现的值。 在这种情况下0。 在第三个字段中,您将指定可以更改的范围。在这种情况下D1。

按下ok后,excel将近似函数的根,精度达到10 ^ -4。

您必须手动为所有值执行此操作,或记录宏,查看excel的作用并编写一个简短的宏来为您执行此操作。

同样重要的是要注意,这只能在Excel-2010之后实现。 但是因为你有excel 2016-tag,你应该没问题!

编辑:

如果使用上述设置,您可以使用此宏来执行此操作:

Sub GS()

Dim rng As Range

For Each rng In Range("A1", "A4") '<~~ Change this to the range needed

    Cells(rng.Row, 3).GOALSEEK goal:=0, ChangingCell:=Cells(rng.Row, 4) 'Change 3 to the column your function is in. Change the 4 to the column you x-Value is in.

Next rng

End Sub