我有一个y = 0.0031x ^ 2 + 0.1336x + 0.0355的趋势线方程。我在列中有y值,我想确定每个via公式的x值,所以我不必手动进行120次计算。
答案 0 :(得分:0)
实际上有一种Excel内置机制来解决这类问题。
假设您的y
- 值存储在第一列(A1,A2等)中。
如果我们假设x
- 值将存储在D1中,那么你将把你感兴趣的等式放在C1中,这将是这样的:
=0.0031*POWER($D1,2)+0.1336*$D1+0.0355-A1
向下拖动直到适合。
现在在D1中输入任意数字,例如5。
向下拖动D1直到适合。
转到数据功能区并转到假设分析并选择目标搜索。
它应该是这样的:
请注意我的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