借助Excel TREND 函数来解决线性插值的计算
程序员文章站
2022-05-22 13:20:14
看题目感觉好高深,其实在工作中经常遇到,很实用的。但由于使用的函数比较冷门,会计算插值的同学很少。
例:如下图所示,A列是数量,B列是数量对应的系数值。现要求出数...
看题目感觉好高深,其实在工作中经常遇到,很实用的。但由于使用的函数比较冷门,会计算插值的同学很少。
例:如下图所示,A列是数量,B列是数量对应的系数值。现要求出数字8所对应的系数值。
分析:由于A列缺少值8,所以无法直接用excel函数计算出对应的值。今天我们要借助TREND函数来解决插值的计算。
TRAND函数,帮助里说它可以返回线性拟合线的一组纵坐标值,同学们只需要记得插值用TRAND函数就可以了。
TRAND(Y值数组,X值数组,X值)
注:X值数组要升序排列
本例中,D3单元格中的X值是8,因为它是在表中位于7~9之间,所以Y值数组应该是B5:B6,X值数组是A5:A6。
计算插值的公式为:
=TREND(B5:B6,A5:A6,D3) 结果为 1.95
如果D3值是4, Y值数组为:B3:B4,X值数组是A3:A4,计算插入的公式应修改为:
=TREND(B3:B4,A3:A4,D3) 计算结果为1
要是每算一个数,公式就要改一次,实在是太麻烦了。所以我们可以用match函数查找指定的X值在A列所对应的行数,然后用offset函数生成X和Y值的数组区域。即:
Y值区域
=OFFSET(B1,MATCH(D3,A2:A6,1),,2,1)
X值区域
=OFFSET(A1,MATCH(D3,A2:A6,1),,2,1)
把Y值区域和X值区域套进公式,即生成万能的插值公式:
=TREND(OFFSET(B1,MATCH(D3,A2:A6,1),,2,1),OFFSET(A1,MATCH(D3,A2:A6,1),,2,1),D3)
本例的公式新手看起来可能有些吃力,同学们可以收藏一下本篇文章,以便将来套用和学习