发布日期:2024-09-02 14:33 点击次数:127
图片
早期,卢子都是采用VLOOKUP+辅助列,这种说了几十次,就一笔带过,重点说TOROW+FILTER。辅助列:=IF(D2="已结束",B2&COUNTIFS(B$2:B2,B2,D$2:D2,"已结束"),"")图片
VLOOKUP:=IFERROR(VLOOKUP($F2&COLUMN(A1),$A:$D,3,0),"")图片
时代变了,现在应该把更多的时间放在研究新函数上面,别老想着那些老函数。假如现在要根据财务编码,查找全部对应的立项编号。=FILTER(B2:B16,A2:A16=E2)图片
假如现在要根据财务编码,状态为已结束,查找全部对应的立项编号。也就是再增加一个条件。=FILTER(B2:B16,(A2:A16=E2)*(C2:C16="已结束"))图片
当财务编码没有对应值的时候,返回错误值。图片
其实,FILTER函数还存在第三参数,可以让错误值显示空白。=FILTER(B2:B16,(A2:A16=E8)*(C2:C16="已结束"),"")图片
语法:=FILTER(返回区域,(条件区域1=条件1)*(条件区域2=条件2),错误值返回值)到这里就解决了查找的问题,现在只需将一列的内容转换成一行。这时TOROW就派上用场。=TOROW(FILTER(B2:B16,(A2:A16=E2)*(C2:C16="已结束"),""))图片
差点忘了说,这个公式因为需要下拉,区域记得锁定哦。除此之外,其他所有公式可以不用锁定,因为公式会自动拓展。
=TOROW(FILTER($B$2:$B$16,($A$2:$A$16=$E2)*($C$2:$C$16="已结束"),""))图片
问题解决了,下面再拓展一些案例。
1.将状态为已结束的内容自动引用出来
FILTER的返回区域,可以是一列,也可以是多列。
=FILTER(A2:C16,C2:C16="已结束")图片
2.将立项编号包含T的内容自动引用出来
条件判断的时候,支持嵌套其他函数。用FIND可以判断是否包含T,满足返回数字,不满足返回错误值。错误值会导致引用出错,再嵌套ISNUMBER。
=FILTER(A2:C16,ISNUMBER(FIND("T",B2:B16)))图片
3.将财务编码为101100001或101100012的内容自动引用出来
同时满足2个条件用*,满足其中1个条件用+(也就是或)。
=FILTER(A2:C16,(A2:A16="101100001")+(A2:A16="101100012"))图片
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。