您的位置: 首页 > EXCEL技巧 > Excel函数 >

从一列数值中提取正数的几个公式

时间:2013-12-13 整理:docExcel.net

如果要从某列中提取第一个出现的正数,可以用下面的数组公式,假如数值在A1:A10区域中:

  =INDEX(A1:A10,MATCH(TRUE,A1:A10>0,0))

或:

=INDEX(A1:A10,MATCH(1,--(A1:A10>0),0))

或:

=INDEX(A1:A10,MATCH(,0/(A1:A10>0),))

公式输入完毕后,按Ctrl+Shift+Enter结束。

说明:先用MATCH函数判断第一个正数出现的位置,再用INDEX函数返回该正数。MATCH函数的语法:

MATCH(lookup_value, lookup_array, [match_type])

当“match_type”参数为“0”时,MATCH函数会查找等于“lookup_value”的第一个值。

如果要提取某列中的第N个正数,例如N=2,可以使用下面的数组公式:

=INDEX($A$1:$A$10,SMALL(IF($A$1:$A$10>0,ROW(INDIRECT("1:"&ROWS($A$1:$A$10)))),2))

公式中用红色标识的数字“2”即为N值。

如果要提取某列中的最后一个正数,可以用下面的公式:

=LOOKUP(1,0/(A1:A10>0),A1:A10)

如果要提取某列中的全部正数,则在某单元格中输入下面的数组公式,然后向下拖动填充柄,直到出现“#NUM!”错误为止。

=INDEX($A$1:$A$10,SMALL(IF($A$1:$A$10>0,ROW(INDIRECT("1:"&ROWS($A$1:$A$10)))),ROWS($1:1)))

用数组公式获取一列中最接近0的数 问题:用数组公式获取一列中最接近0的数
回答:...以用下面的数组公式。假如数值在A1:A15区域,,其中包含正数、负数、0和空单元格,如图所示。 在C3单元格中输入数组公式: =INDEX(A1:A15,MATCH(MIN(IF(A1:A15,ABS(A1:A15))),ABS(A1:A15),)) 公式输入完毕按Ctrl+Shift+Enter结束,下同。 说明:...
如何从一列数中获取最小的正数和最大的负数 问题:如何从一列数中获取最小的正数和最大的负数
回答:假如A1:A20区域中是一些数值,其中包含正数、负数和零,现在需要找出其中的最大的负数和最小的正数,可以用下面的数组公式: 获取最大的负数: =MAX(IF(A1:A20<0,A1:A20)) 由于是数组公式公式输入完毕后按Ctrl+Shift+Enter结束...
excel公式应用大全 问题:excel公式应用大全
回答:...在B2单位格中输入公式:=ABS(A2),则在A2单位格中无论输入正数(如100)照旧负数(如-100),B2中均显示出正数(如100)。 出格提醒:假如number参数不是数值,而是一些字符(如A等),则B2中返回错误值“#VALUE!”。 2、AND函...
你好 excal表格 里面的数值 正数的时候就 问题:你好 excal表格 里面的数值 正数的时候就不取 怎么设置 谢谢
回答:=IF(C1=0,"",C1)不知道你要的是这个吗.
在Excel中用迭代计算求历史最大值 问题:在Excel中用迭代计算求历史最大值
回答:...用迭代计算”选项。 这样,当A1:A20区域中的数值都为正数时,在B1单元格中输入上述公式后,会在B1单元格中得到A1:A20区域中的历史最大值。如果A1:A20区域中的数值都为负数,可以用下面的公式: =IF(
你好 excal 表的数值 我要在数值处于负数的时候 问题:你好 excal 表的数值 我要在数值处于负数的时候取 不取在正数 怎么设置
回答:如果数值在A1单元格里,在B1里输入:=IF(A10,A1,"")那么当A1里是负数的时候,B1里才取A1的值。
相关推荐: