分享

“每次我对这个帐用vlookup对,但耗时特别长,我特别墨迹”

 Excel不加班 2021-01-11

与 30万 读者一起学Excel

帐=账,直接用新学员的话作为标题。

客户给的单号是混合在一起的,实际上是两种不同的单号,要分开。一种是纯数字,一种是字母开头的,她原来都是通过复制粘贴进行分离。

刚开始,卢子是直接提取首位字符判断是否为数字,进行分离。

=IF(ISNUMBER(-LEFT(A2)),A2,"")

=IF(ISNUMBER(-LEFT(A2)),"",A2)

后来又看了下,觉得可以再进行简化,直接判断单元格是否为数字就行,不用提取首位。

=IF(ISNUMBER(A2),A2,"")

=IF(ISNUMBER(A2),"",A2)

判断文本,可以借助函数ISTEXT。

IS家族有几个函数都挺常用的,ISNA判断是否为NA错误,ISERROE判断是否为错误。

再跟学员细聊,发现她原来分离后,是要进行对账用的。

公司的记录方式,是将舱号、单号分开2列,同时单号会出现多次。客户的记录方式,将舱号、单号混合在一起,而且只记录总金额,不会出现多笔记录。

她原来是先将客户的舱号、单号分离开,然后用VLOOKUP函数核对。我们都知道,如果有多条记录的情况下,VLOOKUP函数只会查找第一条记录,这样就会出现问题。

针对这种情况,卢子采用了SUMIF函数。先对舱号进行条件求和,再对单号进行条件求和,最后相加。

=SUMIF(A:A,F4,C:C)+SUMIF(B:B,F4,C:C)


再对金额计算差异,不是0的就是有问题。

=G4-H4


还有一种方法,就是将混合的舱号、单号全部用VLOOKUP函数转换成单号,再进行条件求和。

用VLOOKUP查找,查找不到的就是错误值,嵌套IFERROR函数让查找不到的显示本身。

=IFERROR(VLOOKUP(F4,A:B,2,0),F4)


转换完,进行条件求和,就变得非常直观。

=SUMIF(B:B,E4,C:C)


关于对账,多动脑,总能想到好方法。

留一个思考题给你,上面都是根据客户核对公司的金额,现在反过来,如何根据公司核对客户的金额?

提取码:93bi

推荐:对账麻不麻烦?那看你会不会这几招了

上篇:身份证的8个相关问题,你能否一次全搞定(含参考答案)


年底了,我这几天尝试对微信文章内容做一些小调整,出一些练习题,主要考察你一年来学得怎么样,别每天稀里糊涂的,看一遍文章就过了,也不知道学会学不会的。

如果你对微信文章内容有更好的想法,也可以留言告诉我。

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

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多