【发布时间】:2014-04-22 21:55:37
【问题描述】:
有没有快速在 Access 中使用 Excel 的趋势功能的方法?
具体来说,我想使用 Access 数据库中的值来预测 24 个月的值。我还想使用在新列中计算的值更新数据库/表。
我是菜鸟。
【问题讨论】:
标签: excel ms-access ms-access-2007 vba trend
有没有快速在 Access 中使用 Excel 的趋势功能的方法?
具体来说,我想使用 Access 数据库中的值来预测 24 个月的值。我还想使用在新列中计算的值更新数据库/表。
我是菜鸟。
【问题讨论】:
标签: excel ms-access ms-access-2007 vba trend
“有没有在 Access 中快速使用 Excel 的趋势功能的方法?”
这是可能的。但很快,也许没那么快。
给出已知 X 和 Y 值的 Trend() 函数数组,以及另一个用于预测 Y 值的扩展 X 范围的数组。 Trend() 将返回另一个包含预测 Y 值的数组。
此代码在 Access 2007 中工作,并引用 Excel 对象库。
Dim knownX, knownY, newX, TrendY
Dim i As Long
knownY = Array(2, 4, 5)
knownX = Array(1, 2, 3)
newX = Array(4, 5)
TrendY = Excel.WorksheetFunction.Trend(knownY, knownX, newX)
For i = LBound(TrendY) To UBound(TrendY)
Debug.Print "X: " & newX(i - 1), "Y: " & TrendY(i)
Next
我使用Array() 创建输入数组,但您希望数组包含表中的值,这样会更费力。
还要注意 Access 数组(通常)是从零开始的,但 Trend() 返回一个从一开始的数组。确保你知道你正在处理的是哪个。
而且,由于您打算存储预测的 Y 值,因此您还有更多工作要做。
再想一想后,我怀疑将您的 Access 数据导出到 Excel 工作簿,然后使用 COM 自动化在 Excel 中修改工作表,保存修改后的工作簿,最后将工作表数据拉回可能更容易使用权。
【讨论】: