有关Excel的插值运算,已知X1和Y1,根据自变量X2,Y2。求大神帮忙!急急急急急急急!在线等。

是根据自变量X2,求取Y2

在D2单元格输入以下插值计算公式,然后向下填充公式

=TREND(OFFSET(B$1,MATCH(C2,A$2:A$26),,2),OFFSET(A$1,MATCH(C2,A$2:A$26),,2),C2)

公式中的A$2:A$26根据你的实际数据进行修改即可,比如A$2:A$200

 

详见附图附件

追问

不明觉厉!!!先把金币给你。如果X1对应的Y1值有很多列,也需要得到相应列对应的Y2,这个公式怎么修改?

追答

只需要将公式
=TREND(OFFSET(B$1,MATCH(C2,A$2:A$26),,2),OFFSET(A$1,MATCH(C2,A$2:A$26),,2),C2)
第一个OFFSET中的第一个参数B$1改成所对应Y1值的首行,假如Y1值在F列,那么公式修改为
=TREND(OFFSET(F$1,MATCH(C2,A$2:A$26),,2),OFFSET(A$1,MATCH(C2,A$2:A$26),,2),C2)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-09-26
是要直线插值的运算吧?首先保证X1列升序排列,然后在D2中输入公式(见下行),其余单元格拖拽就行
=INDEX($B$2:$B$26,MATCH(C2,$A$2:$A$26,1))+(INDEX($B$2:$B$26,1+MATCH(C2,$A$2:$A$26,1))-INDEX($B$2:$B$26,MATCH(C2,$A$2:$A$26,1)))*(C2-INDEX($A$2:$A$26,MATCH(C2,$A$2:$A$26,1)))/(INDEX($A$2:$A$26,1+MATCH(C2,$A$2:$A$26,1))-INDEX($A$2:$A$26,MATCH(C2,$A$2:$A$26,1)))
如果你想知道公式怎么来的,继续往下看

首先你要知道直线插值的数学计算公式
然后我解释一下公式思路
1)首先我知道了X2值,那么第一步是查找该值在X1序列中什么位置,我用了MATCH函数。
2)接下来是我知道了数据所在的位置,需要提取该位置上的值,用INDEX函数。
3)这两个函数的格式怎么使用请自行了解,excel上函数的帮助文件写得很详细
4)另:$符号表示绝对引用,即复制和拖拽时$后面接的行号或列号是不会改变的追问

这个公式,X1是升序排列,对Y1有要求吗?

追答

对Y1没有要求的,但是Y1与X1要一一对应

第2个回答  2014-09-25
D2=A2*B2/C2追问

能够编写代码,来模拟X1和Y1构成的拟合曲线吗?这条曲线包含X2的所有点,再根据Y1,求出对应Y2值,不知道大神能否实现

第3个回答  2014-09-25
你没给出算法,怎么算追问

根据X1和Y1的关系,他们之间的函数关系能够得到X2所对应的Y值,我知道是通过插值运算,但是不知道具体怎么算

相似回答