EXCEL如何求符合条件的最后一个值带合并单元格,很多时候,对于进度跟踪,需要求出符合条件的最后一个值,就是进度到什么状态了,下面我们进行介绍应用,
工具/原料
EXCEL2003-2016
电脑一台
方法/步骤
1、新建EXCEL表格,输入学习数据,要求在黄色区域,用公式,获取符合条件的最后一个值,就是项目下,进度到最后一个位置
2、在I6输入公式=LOOKUP(1,0/((E$4:E$35<>&quo隋茚粟胫t;")*(LOOKUP(ROW($4:$35像粜杵泳),IF(A$4:A$35<>"",ROW($4:$35)),A$4:A$35)=G4)),E$4:E$35)而后三键结束,因为是数组公式,必须同时按ctrl+shift+enter才能计算
3、下拉I6,,获取符合条件的所有值,
方法2
1、在J6输入公式=LOOKUP(1,0/(LOOKUP(ROW($4:$35),IF猾诮沓靥($A$4:$A$35<>"",ROW($4:$35)),$A$桃轾庾殇4:$A$35)=G4)/($E$4:$E$35>0),E$4:E5)而后三键结束,因为是数组公式,必须同时按ctrl+shift+enter才能计算
2、下拉J6公式,获取所有值
3、-------------下面为方法3-----------放在一起好对比--------在K6输入公式=LOOKUP("座",OFFSET(E$1,MATCH(G4,A:A,)-1,,8))这公式超简单,
4、下拉K6公式,一样获取了所有值,
5、我们就想了,这些公式,到底有什么区别呢?为什么有的难,有的简单,下面我们进行验证,因为我们学习数据都是中文,下面我们讲进程,改为数值
6、通过上面,我们发现,方法1-2,适合于所有类型,而方法3简单,但是不能全部为数值!
7、--------------------------公式解释----------------颍骈城茇------------------这里我们只对方法2进行解释=LOOKUP(1,0/(LOOK炽扃仄呦UP(ROW($4:$35),IF($A$4:$A$35<>"",ROW($4:$35)),$A$4:$A$35)=G4)/($E$4:$E$35>0),E$4:E5)我们可以吧这个公式分两部分,第一部分,内嵌的(LOOKUP(ROW($4:$35),IF($A$4:$A$35<>"",ROW($4:$35)),$A$4:$A$35)=G4)/($E$4:$E$35>0)这个部分是一个整体,就是将你的A列的合并单元格相当于撤销,而后填充为首行一样的内容,这么理解吧,就是形成了合并单元格内,下方单元格全部等于首行内容的一个内存数组,相当于A,A,A,A,B,B,B,C,C,C这样的,我们选中这部分公式,按F9,就可以得到{"JH001";"JH001";"JH001";"JH001";"JH001";"JH001";"JH001";"JH001";"JH002";"JH002";"JH002";"JH002";"JH002";"JH002";"JH002";"JH002"}这样的一个数组,其实就是将合并单元格不管占多少行,每行都弄成一样的数据就是填充一下,我们索性把它命名为area的数据区域吧那么公式就可以简化为=LOOKUP(1,0/(area=G4)/($E$4:$E$35>0),E$4:E5)这个就是LOOKUP的基本用法,可以百度下