求助,如何把Excel中低于5000数值的整行提取到另外一个表中
excel吧
全部回复
仅看楼主
level 3
0800
楼主
为了方便,我把F列的vlookup复制到G列中,作为文本值,请问大神,如何才能把G3列下的值,凡是低于5000的,整行提取到sheet2中呢?例如,G5的值2309.5九低于5000,就把整行提取到sheet2中!
2019年03月16日 01点03分
1
level 8
弗尔布雷斯
最简单的办法,筛选然后复制出来,要是用公式的话就用index+small+if
图二中(sheet2)中B3的公式为
=IFERROR(INDEX(Sheet1!$B$1:$F$37,SMALL(IF(Sheet1!$F$3:$F$37<5000,ROW(Sheet1!$F$3:$F$37),4^8),ROW(A1)),COLUMN(A1)),"")
注:这是个数组公式,需要同时按下 Ctrl+Shift+回车 三键结束输入,否则公式无效
2019年03月16日 02点03分
2
0800
4^8是什么意思呢?
2019年03月18日 01点03分
0800
还是没能搞明白,按照你的表做了 一个,还是不明白
2019年03月18日 01点03分
弗尔布雷斯
@0800
4^8表示4的8次方,公式大致思路见3楼
2019年03月18日 05点03分
level 8
弗尔布雷斯
=IFERROR(INDEX(Sheet1!$B$1:$F$37,SMALL(IF(Sheet1!$F$3:$F$37<5000,ROW(Sheet1!$F$3:$F$37),4^8),ROW(A1)),COLUMN(A1)),"")
这里边几个函数的意思大致如下:
iferror(公式,错误时返回值),这个是当公式出现错误值时,会返回你制定的值
index(范围,行,列),这个是根据你指定的行和列,返回范围中对应的内容
small(数值,返回第几个最小值),这个是返回第N个最小值,N是由你指定的
if,row,column这三个都很简单,百度一下就行
这个公式大体的思路是,通过IF去判定“合计”那列里有那些值是小于5000的,小于5000的就返回它本身的行号,大于5000的就返回4^8(4的8次方)即65536,所以IF会返回类似以下的一组数据
65536,65536,3,65536,65536,6,65536,8,......
然后再用small+row依次将3,6,8......这些行号提取出来
最后再用index将对应的数据提取到新的表里
2019年03月18日 05点03分
3
1