Excel 如何自动查找对应数值范围中的值

如题所述

用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,结果如图:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-08-24
看你要返回什么,如果是返回所查找数值范围内包含值的数量,你可以用COUNTIF函数来实现。
COUNTIF(查找范围,查找条件)

例如:查找一张成绩表中60—90分的学生数量,假设成绩列在B列;
那么应该在单元格中输入:
=COUNTIF(B2:B20,">=60")-COUNTIF(B2:B20,">=90")
即可得到需要的结果。
相似回答