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

如题所述

如果要从某列中提取第一个出现的正数,可以用下面的数组公式,假如数值在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)))
温馨提示:答案为网友推荐,仅供参考