打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
新用法,LOOKUP函数区域错位引用,这招真好用!

VIP学员的问题,2020年10月20日已经收过了,那么现在我要收2021年的1月21日的款项了,我要怎么才能做到它们自动往下催收呢?


卢子看了一下,如果根据时间的大小来判断根本无从下手。转念一想,G5这个单元格有日期,下一个要催收的自然是B6这个单元格的日期,也就是相差一行。

这样就将问题转变成判断G列最后一个非空单元格再加1行。

我们知道LOOKUP函数有一个特点,如果有多个对应值,返回最后一个对应值,用在这里刚好。

最后一次收的日期就可以知道了。

=LOOKUP(1,0/(G4:G15<>""),B4:B15)


那怎么获取这个日期的下一个单元格呢?

这时就用到了区域错位引用,两边的区域相差一行。普通情况下,区域错位结果基本都是错的,而这里偏偏要错位,才是对的。

=LOOKUP(1,0/(G4:G15<>""),B5:B16)

本来到这里问题就解决了,VIP学员又提出了一个新问题,已经收款了,但是还有欠款金额,这种情况要继续催收同一行的日期。

现在问题就变成了判断I列第一个不是0的金额,对应的日期。

查找首次出现的,可以用INDEX+MATCH数组,按Ctrl+Shift+Enter三键结束。

=INDEX(B4:B15,MATCH(1,--(I4:I15>0),0))


I4:I15>0,判断是否大于0,满足条件就显示TRUE,不满足就显示FALSE。

--(I4:I15>0),将TRUE转换成1,FALSE转换成0。

MATCH(1,--(I4:I15>0),0),用1查找1首次出现的位置,嵌套INDEX就是将位置转换成对应值。

也可以用INDEX+MIN+IF组合,这个就是先用MIN+IF获取最小的行号,然后嵌套INDEX返回行号的对应值。

=INDEX(B:B,MIN(IF(I4:I15>0,ROW(4:15))))

每个疑难,正常都会有多种解决的方法,用你最拿手的方法。

推荐:若是不会LOOKUP函数的这个高级用法,就太可惜了!

上篇:厉害了,跨国查询的 VLOOKUP

如果是你,会采用什么方法解决问题呢?

作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
EXCEL函数--LOOKUP经典用法
你会LOOKUP函数吗?10种经典用法,来了
lookup函数用法大全(LOOKUP函数的3个高级用法)
Excel中VLOOKUP函数运用基础教程及技巧详解
一组常用Excel函数公式,你肯定喜欢
LOOKUP函数查找最后日期的2个经典案例
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服