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

从数列K3到K15中提取满足大于F3并且小于E3的数值到H3单元格内?谢谢解答。
最新回答
有你委屈也是欢乐的

2024-11-05 03:01:22

'打开表格-按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写不出的公式,只有你想不到的要求
媤惗ら

2024-11-05 03:21:17

  1. 公式为:

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

  2. 如图所示:

追问

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

追答
“<”&E3
"<"&E3

孤独撑舟人

2024-11-05 02:06:36

在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)))&""
下拉填充