找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1688|回复: 24

[讨论]:excel插值计算的问题

[复制链接]
发表于 2005-8-31 15:58:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
把图中的表格输入excel后,比如我输入x=0.833,系统会自动插值计算我的y值。请问怎样实现?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-9-1 15:18:37 | 显示全部楼层
用数据可以实现内插的功能!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-1 18:07:09 | 显示全部楼层
我要求程序自动判断x的位置,然后内插计算出y值,楼上兄弟说清楚点啦!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-1 19:33:32 | 显示全部楼层
用IF命令就可以了!你可以搜索一下以前的贴子,我以前曾经发个同样问题的贴子。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-1 19:51:01 | 显示全部楼层
if(x>=0.85,0.96,if(x>=0.84,y=0.97+(-0.1)*(x-0.84)/0.1,if()......))
六层的if语句就可以搞定了,
如果层次超过七层,要用if 与&的组合
=if(x>=0.85,计算式,"")&if(0.84<=x<0.85,计算式,"").........
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-2 15:23:15 | 显示全部楼层
本来我以为想实现自动插值计算并不难,但完全设置好公式并得到正确结果的过程却颇费了一番周折。当各位朋友看到D5单元格公式结构的时候请先不要惊讶,只要理清思路这个公式也并不算复杂。
首先提示一下,我把表稍稍改造了一点,原来的<0.8在公式中无法计算,所以要把表格扩展成<0.8的模样,在接下来的计算中当插值为<0.8的任何值时,计算结果完全正确。
插值计算公式=Y1+(X-X1)/(X2-X1)*(Y2-Y1)
公式利用MATCH函数搜索出符合插值的变量Y1、X2、X1、Y2的位置,再利用INDEX函数得出它们在表中的具体数值并带入计算公式,从而得到最终结果。按照这个思路分别认识公式中每个变量的函数公式就不难明白了。也可以像我那样把每个变量的结果、每个变量的公式计算值以及插值最终结果列在下方,这会有助于你判断繁复公式中哪一部分有问题。关于MATCH和INDEX函数的应用可以参照帮助了解。
这个例子仅仅是单向插值,如果是双向插值的话最终公式可能会更复杂。多向插值可以考虑通过多次单向插值解决之,或者用VBA解决问题。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-3 11:19:52 | 显示全部楼层
非常感謝長老
今天讓我又進步一點
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-10-11 17:29:51 | 显示全部楼层
到Excel查询课堂看看,比这个复杂多了的都有。http://p4.xdcad.net/forum/showth ... ;threadid=320152。
yi.gao长老的内插值公式这样表达一下感觉更直观:
Y=Y1+(X—X1)×(Y2—Y1)/(X2—X1),把乘号部分放在前面,符合平时习惯,不然老感觉像是分母似的。
我也针对这个做了一个,不过要是X值不是等差序列就不适用了。


刚刚看了个一一对应关系的查询用sum(if())的方式,觉得蛮不错,续帖:我前面贴图例子中对应值Y1、Y2用的是Hlookup()函数,用这个方法也可以实现=SUM(IF($C$2:$H$2=$C8,$C$3:$H$3)),不过这个方法要求返回的Y也是数值而非文本(一般都是数据查询,所以可用性还是不错的)。

另:X值不是等差序列的话,看看本论坛Excel查询课堂有内插值查询的例子,可以实现。我原先没细看就自己搞了,哈哈,发现自己还是比较菜鸟!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-10-15 13:50:03 | 显示全部楼层
对于二维表格的插值上面的方法可能就不行了,我发一个二维表格的多值的插值方法.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-10-15 13:52:56 | 显示全部楼层
看一下这个东西不错的,可以查询许多的值,,只要是由x,y坐标唯一确定的值,就可以内插呀
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-10-20 12:03:42 | 显示全部楼层
谢谢楼上的,我看了之后重新翻了Excel查询课堂的东西,已经不需要象我原先那样复杂了。
我把混凝土回弹换算强度表导进去查询,哈哈,挺不错。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-10-20 13:23:03 | 显示全部楼层
gouweicao78朋友,可否共享你的混凝土回弹的查询方法。查询课堂我看了几遍,但excel基础薄弱,没看太明白。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-10-22 16:04:04 | 显示全部楼层
to shiyangaosong:就是用查询课堂里的插值查询的那个例子编出来的,主要是vlookup()函数的使用:先比如你输入回弹值40.1则在表中查40.0和40.2对应的强度值然后根据插值公式y=y1+(x-x1)*(y2-y1)/(x2-x1)求出于x(即40.0)对应的值,x2、y2指的是大数即40.2和对应的强度,x1、y1指的是小数。
所以,思路应该是:1、自动根据输入的值判断是否在表中就能找到对应的,(因表中都是0.2递增的,所以只要判断是否小数点后面为偶数,用iseven函数),然后找出对应的大数x2和小数x1;
2、根据x1、x2在表中查找对应的值y1、y2,即用vlookup函数即可做到;
3、根据插值公式计算所求的值y(这个就是加减乘除了)

不知道这样子说可不可以,我觉得你是个好学的人而不是纯粹想要东西的人,所以没把我做的东西上传,如果实在做不出来可以问我要。
因为我们公司试验室的那个高手采取每一组数据之后加了6行又是判断max、min然后为空""又是count,再把几个被弄成""(比如有3个以上相等的值都在最大或最小以内)的再找回来,好累好累,我不是做试验的,刚好这里看到Trimean函数能做到这一点我才去编这个,也是花了我很大心血,为了验证数据,我随便拷贝了一份我们试验室的资料,发现他这样弄出来每一组16值最后得到的回弹值竟然都错了,手算都可以验证出来,然后我告诉他他的东西出错了,竟然被视为我窃取了他的“成果”来研究(他自己建了个网站,试验方面的,把自己编的东西拿上去卖钱,好像土工试验的东西就要1000块,加上说的那话让我实在伤心,我至今都没把我的东西给他)。我还为此特地下载了规范,把PDF格式规范的回弹换算导到Excel里面,很土很笨的做出来,他的仅仅是一些常用的数据,竟然说我窃取,所以感觉像吃了苍蝇!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-10-22 20:47:14 | 显示全部楼层
谢谢gouweicao78,我会认真研究的。
实际上几年以前我就在试验数据的处理上应用了excel,但现在看来,我那些真是小儿科。由于没有更深入的应用,也就没进一步学习这个软件,还是停留在几年前的水平。前几天发了几个问题帖子,通过大家的回贴,才发现这个软件用处多多,值得好好学学。不过,年纪大了点,没前几年灵了。
先让我自己来做,实在不行再求你。谢谢!
对了,试验数据处理应该非常务实的,你们公司那位“高手”,也太......
哈哈,不说了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-10-22 22:13:18 | 显示全部楼层
哈哈,下午一不小心发现了个问题,在插值查询的时候,比如回弹值为40.3,那对应表中40.2和40.4,我是这么判断的假设要查询的值40.3放在A1,对应小数放在A2if(iseven(10*(A1-int(A1)),)A1,A1-0.1)即如果输入值小数点后面为偶数则直接等于它,如果为奇数则对应小数大数分别等于它加减0.1,然后用vlookup函数在数据表中查询40.2和40.4对应的强度,结果,40.2对应的强度出现了#NA错误,如果这个40.2是手动输入的而不是通过计算公式得到的则不会,之后我通过公式追踪发现计算过程中在A1-int(A1)得数是0.29999999997(忘记多少个9了),有点意思吧,不知何故,哪位高手能解答?要不请yi。gao老师过来看看,^_^!

后续发现,当输入40.7的时候,40.8(大数)对应的强度值也是 出现这种问题 ,然后我随即又看了一些40多的,只要小数点后面是3则对应小的强度值出错,7则对应大的强度出错,然后20几的则反过来,真不明白怎么就出错了。^_^!

后来我就再改,该用hlookup和match去算大数和小数,再用vlookup引用大数和小数去查对应强度值,就没出现这种状况,而且,这种与match结合的查询就不会受数据表是否等差数列的局限了,呵呵,当初看Excel查询课堂的二维插值查询详解例子没看细,一直没用match,又进步了。
只是不明白为何前面出错了!记得出错之前有个怪事,得出来的强度值比实际小了一格,比如查40.3的小数就是40.2对应的值在表中实际上是40.0对应的强度值,然后觉得奇怪,刷新了一下就一直出错。

所以,结合我看到公司那个高手犯的错误,提醒大家:不要完全相信电脑,因为有的时候还是有必要复核的。
我还有另一个教训:评工程师的施工总结明明改好了保存了打印了,交上去因为需要删掉名字,同事打开了我拷贝给它的文件把名字删了然后就上交了,结果评审的时候被发现竟然是一个半不邋遢的版本,根本就没改好,还好认识一领导护弄过去了。回来打开我自己电脑,也是那个不完全的版本,一直不解!胆战心惊!
再次告诫:人脑要去复核一下,哪怕随便抓几个看看,不然死得很惨!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-22 09:10 , Processed in 0.233875 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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