分享

账龄分析,简单好用

 Excel不加班 2022-06-22 发布于广东

与 30万 读者一起学Excel

VIP学员的问题,如果有收款日期就显示已收款,否则就用报告日期-应收款到期日,再查找区间的对应值,找不到的返回未到期。

按照这个思路,要解决这个问题并不难,跟着卢子来看看。

1.如果有收款日期就显示已收款

收款日期其实也是数字,判断是否为数字就可以。

=IF(ISNUMBER(A3),"已收款","")

还有一种思维,就是判断是否为错误值#N/A,不是的显示已收款。

=IF(ISNA(A3),"","已收款")

2.否则就用报告日期-应收款到期日,再查找区间的对应值

也就是两个日期相减后VLOOKUP对应值。

=IF(ISNA(A3),VLOOKUP($B$1-B3,$E$2:$F$7,2),"已收款")

3.找不到的返回未到期

让错误值显示某个值,可以嵌套IFERROR。

=IF(ISNA(A3),IFERROR(VLOOKUP($B$1-B3,$E$2:$F$7,2),"未到期"),"已收款")

将问题分解成多步,会更简单。以上是学员做的对应表,如果是卢子做的,会再增加一行未到期。

这行看起来没啥用,实际上可以让公式更加简洁,有了-9999的下限,这样未到期的也能顺利查找到,就不用嵌套IFERROR。

=IF(ISNA(A3),VLOOKUP($B$1-B3,$E$2:$F$8,2),"已收款")

另外,还有一个问题也跟查找有关,顺便也讲了。不过这个问题的细节是鼠标引用区域。

借助VLOOKUP+MATCH引用多列内容,公式表面上看是对的,怎么会出现错误值呢?

这就是合并单元格带来的坑,鼠标在引用区域的时候,本来是一行B1:G1,却变成两行B1:G2导致出错。这里用动画演示。

遇到这种情况,就手工改区域。将2改成1,再按F4(Fn+F4)锁定区域。

最终公式:

=VLOOKUP($I4,$B$1:$G$16,MATCH(J$2,$B$1:$G$1,0),0)

写公式的时候经常出错,很多时候并不是实力差,而是细节没处理好,平常多留心观察。


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

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多