请问:excel中,如何从数组中提取满足条件的数值?

从数列K3到K15中提取满足大于F3并且小于E3的数值到H3单元格内?谢谢解答。

'打开表格-按ALT+11-点击插入-点击模块-粘贴代码

Function 提取数据(a As Range)

For Each cel In a

If cel * 1 > 5.409 And cel * 1 < 5.509 Then t = t & "," & cel

Next

If t = "" Then

提取数据 = ""

Else

提取数据 = Right(t, Len(t) - 1)

End If

End Function

追问

大哥,你这个只是用固定单元格数值进行比较,我的问题是在K列数组中进行提取啊。

追答

提取到H3如果超过2个,用逗号隔开可以吗?

追问

好象不行哦。要用到数组吧?

追答

回答已修正,没有vba写不出的公式,只有你想不到的要求

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-09-25

    公式为:

    =MAXIFS(K3:K15,K3:K15,"<5.509",K3:K15,">5.409")

    如图所示:

追问

我把具体数据改为单元格,怎么就不能提取数值了呢?

追答

“<”&E3

"<"&E3

本回答被提问者采纳
第2个回答  2020-09-25
在H3中输入或复制粘贴下列公式
=INDEX(K:K,SMALL(IF((K$3:K$15>F$3)*(K$3:K$15<E$3),ROW($3:$15),4^8),ROW(A1)))


=INDEX(K:K,SMALL(IF((K$3:K$15>F$3)*(K$3:K$15<E$3),ROW($3:$15),4^8),ROW(A1)))&""
下拉填充
相似回答