用vba做一个自定义历销函数可以实现李卜。举例说明:
例如有表格数据如图:
现要求根据数值上限、下限值找到相应的数值。如图:
第一步:编制一个自定义函数,代码如下:
Function czsz(sx, xx, fw) As String
'sx:上限 xx:下限 fw:范围
Dim sarr(1 To 100, 1 To 2) '1-序号 2-数值
hh = fw.Row
lh = fw.Column
zz = 0
Do While Cells(hh, lh) <> ""
zz = zz + 1
sarr(zz, 1) = Cells(hh, lh).Value
sarr(zz, 2) = Cells(hh, lh + 1).Value
hh = hh + 1
Loop
czsz = ""
For i = 1 To zz
If sarr(i, 2) >= xx And sarr(i, 2) <= sx Then
czsz = czsz & "序号" & sarr(i, 1) & ": " & sarr(i, 2) & "; "
End If
Next i
End Function
第二步:在G2输入公式:=czsz(E2,F2,A2:B21)。结果如图:
第三步:将G2公式修改成:=czsz(E2,F2,A$2:B$21)
第四步:将G2公式下拉至G4,结果如图:肢扰游