ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: baomaboy

取线性与多项式方程系数的自定义函数

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-10-9 11:39 | 显示全部楼层
本帖最后由 baomaboy 于 2011-10-9 11:57 编辑
chrisfang 发表于 2011-10-9 11:33
这个,Excel自带函数就可以完成的呀
主要是图一个方便:
1.有些人会使用趋势线,但不知如何取得图表中的趋势线系数。
2.有些人会用excle自带函数取得趋势线系数,但要用几个函数配合而且数据源变动,方程阶数变动都要做大量改动,很麻烦。
所以就有了做FCDXS函数的想法,参考chenjun版主的例子做的,并且感觉比那个更方便了。

TA的精华主题

TA的得分主题

发表于 2011-10-9 12:13 | 显示全部楼层
嗯,你说的也有道理。不过其实用Linest函数做个模型并不复杂,也可以自适应阶数和数据源的变化。

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-10-9 12:36 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 baomaboy 于 2011-10-9 12:43 编辑
chrisfang 发表于 2011-10-9 12:13
嗯,你说的也有道理。不过其实用Linest函数做个模型并不复杂,也可以自适应阶数和数据源的变化。
Linest是可以自适应数据源及阶数变化,但如果在单元格中写,必然还会涉及较多改动,比起自定义函数=FCDXS(阶数,数据源)来应该是比较繁琐的。
另外就是Linest再转自定函数时也不是一帆风顺的,
最早看到chenjun版主附件时我就觉得转一下自定义函数就好了,偏偏在转自定义函数过程中Linest函数就出了问题,
vba里运行不了,资料也查不到,最后很曲折的解决了。
对你们版主或mvp来说那个转换可能只是个常识,可于我来说当时找解决办法无异于大海捞针,因为当时就很少有关于Linest在vba里应用的资料。

TA的精华主题

TA的得分主题

发表于 2011-10-9 12:38 | 显示全部楼层
baomaboy 发表于 2011-10-9 12:36
最早看到chenjun版主帖子时我也是这么考虑的,偏偏在转自定义函数过程中Linest函数就出了问题,
vba里运 ...

我的意思不是在VBA里用Linest,而是直接在工作表中使用{:soso_e121:}

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-10-9 12:54 | 显示全部楼层
chrisfang 发表于 2011-10-9 12:38
我的意思不是在VBA里用Linest,而是直接在工作表中使用

附上chenjun版主的附件,我觉得在工作表中用,能进一步优化的就是把公式整合集中了,相对于自定义函数=FCDXS(阶数,数据源)来说略显繁琐,

求趋势线公式的系数.rar

5.3 KB, 下载次数: 280

TA的精华主题

TA的得分主题

发表于 2011-10-9 13:14 | 显示全部楼层
baomaboy 发表于 2011-10-9 12:54
附上chenjun版主的附件,我觉得在工作表中用,能进一步优化的就是把公式整合集中了,相对于自定义函数=FC ...

用你的表格做了一个,公式写在第27行,你看看是不是很简单:
取线性与多项式方程系数的函数.rar (10.71 KB, 下载次数: 291)

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-10-9 13:32 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
chrisfang 发表于 2011-10-9 13:14
用你的表格做了一个,公式写在第27行,你看看是不是很简单:

是很简单,版主果然好功力,受教了。

TA的精华主题

TA的得分主题

发表于 2011-11-15 18:31 | 显示全部楼层
本帖最后由 易先生 于 2011-11-15 18:32 编辑

baomaboy你好,我看了你取线性与多项式方程系数的自定义函数的贴,水平很高,佩服。我在VBA中也要提取一组数据的多项式拟合曲线系数,但VBA中提示花括号处格式有错(编译错误,无效字符),能不能指点下该怎样编写?
Y值在A1:A10,X值在B1:B10
我的VBA代码如下,以提取第一个系数为例

Set ry = Range(Cells(1, 1), Cells(10, 1))
Set rx = Range(Cells(1, 2), Cells(10, 2))
Cells(150, 7) =application.WorksheetFunction.Index(LINEST(ry,rx^{1,2,3},TRUE,TRUE),1,1)

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-11-15 21:10 | 显示全部楼层
本帖最后由 baomaboy 于 2011-11-15 21:11 编辑
易先生 发表于 2011-11-15 18:31
baomaboy你好,我看了你取线性与多项式方程系数的自定义函数的贴,水平很高,佩服。我在VBA中也要提取一组数 ...


我见先生你都在弄著作权的事了,告诉了你我真怕以后我自己再用这个公式反而会侵犯你的著作权啊。呵呵.....

TA的精华主题

TA的得分主题

发表于 2011-11-15 21:49 | 显示全部楼层
是软件登记证书,这个是单位非要要的,主要是宣传用,不对外销售,与个人无关,另外EXCEL上开发的软件只保护文档和界面流程,不保护公式代码。

关于LINEST函数在VBA中的用法,若涉及保密不说我非常理解,能否说说直接采用Index(LINEST(ry,rx^{1,2,3},TRUE,TRUE),1,1)这类的简单形式是否是行不通的,需要另外进行一些巧妙的转换才能实现?
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-22 02:24 , Processed in 0.046387 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表