您的位置首页百科知识

Excel如何使用内插法查表(纵2横1)

Excel如何使用内插法查表(纵2横1)

的有关信息介绍如下:

Excel如何使用内插法查表(纵2横1)

修法布施得聪明智慧,多分享让生活更美好。在工作中经常要查表处理数据,特别是两数中内插法查表需要计算十分麻烦,使用Excel处理查表数据方便了,但内部函数公式还不能快速处理,需要自定义函数公式处理。下面通过一实例分享这个内插法查表的自定义函数处理方法。

如下图材料、厚度、温度下的许用应力表,纵向一是确认材料,二是确认厚度,横向某温度下的应力值,如下使用TREND函数求值错误。

首先打开上例文件,如下图。

然后按下快捷键ALT+F11打开VBA(宏)编辑界面,然后点菜单栏【插入】下拉中列表中点【模块(M)】如图。

插入了一个模块1,在代码框中复制如下代码:

Function Y2XCRCB(ByVal y1 As Range, ByVal y2 As Range, ByVal x As Range, ByVal cb As Range)

'2020-1-9 22:48:42

Dim i As Long, r1 As Long, c1 As Long, k As Long, n As Long, z1, z2, x1, x2

r1 = cb.Rows.Count

c1 = cb.Columns.Count

k = 0

For i = 1 To r1

If y1.Value = cb.Cells(i, 1).Value And y2.Value = cb.Cells(i, 2).Value Then

k = i

Exit For

End If

Next i

n = 0

If k = 0 Then

Y2XCRCB = "材料、厚度/mm不符合表!"

Else

If x.Value < cb.Cells(1, 3).Value Or x.Value > cb.Cells(1, c1).Value Then

Y2XCRCB = "温度不符合表!"

Else

For i = 3 To c1

If x.Value = cb.Cells(1, i).Value Then

n = i

Exit For

End If

Next i

If n = 0 Then

For i = 3 To c1 - 1

If x.Value > cb.Cells(1, i).Value And x.Value < cb.Cells(1, i + 1).Value Then

n = i

Exit For

End If

Next i

x1 = cb.Cells(1, n).Value

x2 = cb.Cells(1, n + 1).Value

z1 = cb.Cells(k, n).Value

z2 = cb.Cells(k, n + 1).Value

If z1 = 0 Or z2 = 0 Then

Y2XCRCB = "无值"

Else

Y2XCRCB = (x.Value - x1) * (z2 - z1) / (x2 - x1) + z1

End If

Else

If cb.Cells(k, n).Value = "" Then

Y2XCRCB = "无值"

Else

Y2XCRCB = cb.Cells(k, n).Value

End If

End If

End If

End If

End Function

最后回到工作表窗口,写公式计算了。公式语法:Y2XCRCB(数据区域第一列值,第二列值,第一行的3列起值,数据区域)

D14填写公式:=Y2XCRCB(A14,B14,C14,A3:M11)

计算结果是:110.64438

动态操作过程如下:

数据区域的第1列、第2列和第一行第3列起查对应值。

如果觉得这篇经验帮到了您,请点击下方的 “投票点赞" 或者“收藏”支持我!还有疑问的话可以点击下方的 “我有疑问”,谢谢啦!