Excel filter函数怎么提取数值大于0切不为空的行?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Excel filter函数怎么提取数值大于0切不为空的行?相关的知识,希望对你有一定的参考价值。

如图所示,要求用filter函数,把I列数值大于0,且不为空的行提出来,要怎么写

Excel工作表中的FILTER函数提取I列数值大于0且不为空的行,首先大于0,就一定不会为空,因此是一个条件,所以公式如下:
=FILTER(A2:L100,I2:I100>0)
FILTER函数参数说明:
1、要筛选的数组或区域,必选参数;
2、布尔值数组,其高度或宽度要和第一个参数一致,必选参数;
3、所含数组中的所有值都为空时返回的值,可选参数。
参考技术A Sub filter01()

ActiveSheet.Range("i:i").AutoFilter Field:=1, Criteria1:=">0"
End Sub

用这个宏试试
参考技术B 你这两要求只要一个大于0就可以了。追问

设置大于0时,会把空值行也提取出来,我现在就是不想提取出空值的行

追答

在Excel中,要用公式提取该数值小数点后面的数字

例如A1单元格中包含一个数值“123.20”,在B1单元格中输入下面的公式:=RIGHT(A1,LEN(A1)-FIND(".",A1))
公式返回结果“2”,而不是“20”,怎么能使结果是20呢?

这个原因是:A1单元格的格式为“数值”,虽然你能看到末尾有一个0,但是是因为保留了两位有效数字的缘故。你只要鼠标点击A1,看看编辑栏中的结果就知道了,如下图,A1中是123.20,但编辑栏中是123.2。

要解决这个问题,你得把A1单元格的格式改成“文本”,然后输入123.20, 就像我图中的A2那样。这样就能得到你想要的答案了。但是这时你得到的“20"这个答案是文本格式,为了变成数值格式利于计算,你需要在你原来的公式前面加上两个减号,也就是变成:

=--RIGHT(A1,LEN(A1)-FIND(".",A1))

这样就成功了。

追问

改完,结果还是2,不是20

参考技术A

见截图

B1输入

=--MID(A1,FIND(".",A1)+1,9)

公式下拉

追问

结果是2,不是20啊,怎么办呢?

追答

我这里是20啊

我猜想你输入的123.20实际上是123.2,你只是设定小数位为2位造成的,你可以手工输入文本型数据123.20,结果一定是20

本回答被提问者采纳

以上是关于Excel filter函数怎么提取数值大于0切不为空的行?的主要内容,如果未能解决你的问题,请参考以下文章

关于excel函数中index的用法?

excel中怎么用公式提取一段时间内对应的数据的数值,比如本月31天,我只想提取9号至15号的数值。

EXCEL中怎么判断一个数是不是存在在一列数中

在Excel中,要用公式提取该数值小数点后面的数字

在Excel中,要用公式提取该数值小数点后面的数字

excel中怎么用公式提取一段时间内对应的数据的数值,比如本月31天,我只想提取9号至15号的数值. 能否有公式