首页 > 信息 > 你问我答 >

问 excel 内插值法公式 线性插值计算实操

2026-11-06 13:54:11
最佳答案

答

在 Excel 里面做内插值,最常用的就是线性内插值,核心原理就是已知两组坐标点,根据给定的自变量 X,在两点之间按比例推算对应的因变量 Y 值,本质就是两点之间直线比例换算,不需要额外加载插件,直接用内置函数组合就能完成,也可以手写数学公式,适合查表类的数据换算,比如温度对应电阻 压力对应流量 实验数据表这类场景,掌握这套公式之后,遇到离散数据表就可以自动算出中间没有记录的数值,不用人工手动估算。线性内插值适用前提是相邻两个数据段近似线性变化,如果数据本身非线性很强,单纯线性插值误差会偏大,需要考虑分段或者其他插值方式。

一 线性内插值数学原理

线性插值的基础公式

已知两个基准点 X1 Y1 和 X2 Y2

待求目标值 X,求对应的 Y

Y = Y1 + (X - X1) (Y2 - Y1) / (X2 - X1)

这个就是内插值最原始的算式,含义就是 X 距离 X1 的占比,乘以 Y 方向的差值,再加上起点 Y1,得到中间位置的 Y 结果。

使用前提 X 必须落在 X1 和 X2 之间,也就是 X1 < X < X2,这才叫内插,如果 X 超出 X1 X2 范围就变成外推,不属于内插值。

二 Excel 三种实现公式方案

方案 1 基础手写公式

表格布局参考

A 列 X 自变量,B 列 Y 因变量

A1 X1,B1 Y1

A2 X2,B2 Y2

D1 待查询 X 值

E1 插值结果

E1 单元格公式

=B1+(D1-A1)(B2-B1)/(A2-A1)

这个公式优点是简单直观,新手容易理解,缺点是需要手动找到对应的 X1 X2 所在行,数据量大的时候不方便自动定位区间。

方案 2 搭配 MATCH+INDEX 自动匹配区间(推荐)

适合一整列数据表,自动定位 X 落在哪两个相邻行之间,不用人工找行号

假设数据区域 A2:A100 是 X 列,B2:B100 是 Y 列,待查 X 放在 D2

第一步 MATCH 函数定位位置

MATCH (D2,A2:A100,1) 这个是升序匹配,返回小于等于 D2 的最大值所在位置,也就是 X1 对应的序号

得到位置 n 之后

X1 = INDEX (A2:A100,n)

Y1 = INDEX (B2:B100,n)

X2 = INDEX (A2:A100,n+1)

Y2 = INDEX (B2:B100,n+1)

完整合并公式

=INDEX (B2:B100,MATCH (D2,A2:A100,1)) + (D2-INDEX (A2:A100,MATCH (D2,A2:A100,1))) (INDEX (B2:B100,MATCH (D2,A2:A100,1)+1)-INDEX (B2:B100,MATCH (D2,A2:A100,1))) / (INDEX (A2:A100,MATCH (D2,A2:A100,1)+1)-INDEX (A2:A100,MATCH (D2,A2:A100,1)))

重要注意事项,A 列 X 必须是升序排列,MATCH 第三参数写 1 才可以正常工作,如果 X 列乱序,这个公式会报错或者结果错误。

方案 3 XLOOKUP 版本(新版 Excel 365 2021 可用)

新版 Excel 可以用 XLOOKUP 简化查找,逻辑同样是找到上下两个相邻点,再套用内插值公式,可读性比长嵌套 MATCH INDEX 更好,适合新版本用户。

三 案例演示表格

序号X 自变量Y 因变量
11020
22040

待查询 X 等于 15,求 Y

代入内插值公式

Y=20+(15-10)(40-20)/(20-10)=30

结果 Y 等于 30,这个就是标准线性内插值计算结果。

四 非线性内插值补充说明

线性内插值只适合近似直线的数据,如果是曲线数据,比如指数 抛物线,想要更高精度,可以做二次插值也就是三点拉格朗日内插值,拉格朗日内插值 Excel 也可以写公式,需要选取三个相邻已知点,但是计算复杂度更高,当数据波动大的时候,高次插值还容易出现龙格现象,工程查表绝大多数场景优先使用线性内插值。

五 常见报错与排查要点

1 分母等于 0,也就是 X1 等于 X2,这时候除法出错,检查 X 列有没有重复数值

2 MATCH 返回 N/A,待查 X 小于整个 X 列最小值,属于外推,不是内插值

3 X 列没有升序,MATCH 近似匹配失效,必须排序

4 待查 X 刚好等于 X1 或者 X2,内插值结果直接等于对应的 Y,公式依然可以正常运算

【常见问题】

问题 1 excel 内插值法公式使用 MATCH 函数为什么要求 X 列升序

回答 1 excel 内插值法公式里面 MATCH 第三参数为 1 的时候是升序近似匹配,只有 X 列从小到大排序,函数才能正确定位待查 X 所处的相邻区间,如果 X 列无序,MATCH 无法识别相邻两点,内插值法公式计算结果会出错。

问题 2 excel 内插值法公式能不能处理 X 不是单调递增的数据表

回答 2 excel 内插值法公式默认的 MATCH INDEX 自动版本不能直接处理非单调 X,如果 X 不是单调递增,需要改用其他查找方式手动指定 X1 X2 单元格,继续使用基础内插值公式,不推荐继续使用自动区间匹配的长公式。

问题 3 excel 内插值法公式和 VLOOKUP 有什么区别

回答 3 excel 内插值法公式是在两个已知点之间按比例计算中间值,VLOOKUP 一般只返回已经存在的原始表格数值,不会做比例换算,VLOOKUP 近似匹配只能找到最接近的原始 Y,不能实现内插值计算。

问题 4 excel 内插值法公式如果 X 超出表格最大最小值还能计算吗

回答 4 excel 内插值法公式数学算式本身可以算出数值,但是这个已经不属于内插值,属于外推计算,外推误差通常会比内插值大很多,工程使用不建议直接用内插值公式做外推。

【免责申明】

本内容仅为 Excel 内插值法公式教学演示,所有案例为模拟数据,实际工程 科研 财务等正式业务使用时,请自行核验数据有效性,确认数据变化趋势是否满足线性假设,计算结果由使用者自行承担相关责任,本文不构成专业计算认证与业务决策依据。