=IFERROR(INDEX('6.27库存表'!$B$4:$B$200,SMALL(IF('6.27库存表'!$G$4:$G$200>=90,ROW($4:$200)),ROW(A1))),"")大家帮我看看哪里出错了,提取的数据不是我想要的数据,且有些数据提取不出来。想把G列单元格满足≥90所在行的整行数据按照顺序提取出来,请大神帮帮忙!
非常感谢,赞赞赞!改过就行了。引用空格的数据不是可以显示空白吗,但是表格中显示为“0”。还有,引用出来数据是怎么排序的,排序有点乱。再帮忙帮忙指点指点,谢谢!
追答因为提取出的是行号,而B列是空的话,比如B8是空,但空白(真空,即真正的空单元)默认为是0,所以会返回0。
此类公式正常不用IFERROR,此函数只对错误值起作用,而用不符合条件返回一个较大的行号,正常用4^8,即65536,如果6.27库存表的B列不是数值,后面加&"",遇到空格直接显示空值。
=INDEX('6.27库存表'!$B:$B,SMALL(IF('6.27库存表'!$G$4:$G$200>=90,ROW($4:$200),4^8),ROW(A1)))&""
返回的数据,是按符合条件的数据,从上到下依次提取出来的,原来是什么顺序还是什么顺序,只是跳过了不符合条件的数据。
如果B列是数值,则要加判断条件,判断返回的单元格是否为空,如果为空,显示为空,否则为原值。
=IF(INDEX('6.27库存表'!$B:$B,SMALL(IF('6.27库存表'!$G$4:$G$200>=90,ROW($4:$200),4^8),ROW(A1)))="","",INDEX('6.27库存表'!$B:$B,SMALL(IF('6.27库存表'!$G$4:$G$200>=90,ROW($4:$200),4^8),ROW(A1))))
当然,最后的条件判断根据不同的实际情况,可能会有更简单的判断。