excel学习库

excel表格_excel函数公式大全_execl从入门到精通

对账终极大招来了!最头疼的名称不一致,终于有救了

对账过程中,经常出现名称不一致的情况,有人认为可以直接用查找替换把名称改成一样,如果只是几个名称确实可以,实际表格有上千个名称,不太现实。另外,实际上的简称比文章的更乱。

看示例,左边公司按简称记录,右边按全称记录,现在要3个条件互相核对。实际会出现内蒙牛羊、内蒙牛羊,还有公司会存在空格等情况。

遇到这种情况,如果只是用VLOOKUP函数加通配符*,只能解决连续字符的简称查找,不连续字符的简称是无法查找到的。

=VLOOKUP("*"&A3&"*",G:H,1,0)

下面分享一条终极公式,能解决这种难题,按Ctrl+Shift+Enter三键结束。

=SUBSTITUTE(INDEX(G:G,RIGHT(MAX(MMULT(1-ISERR(SEARCH(MID(A3,COLUMN(A:Z),1),$G$3:$G$9)),ROW($1:$26)^0)/1%%+ROW($3:$9)),3))," ",)

这么长的公式要完全理解很难,不过没关系,只要会套用就行,卢子将需要修改的部分换成中文说明。

=SUBSTITUTE(INDEX(返回哪一列,RIGHT(MAX(MMULT(1-ISERR(SEARCH(MID(查找值,COLUMN(A:Z),1),在哪一列查找)),ROW($1:$26)^0)/1%%+ROW(全称的开始行到结束行)),3))," ",)

接下来的思路跟前2天一样,借助合并计算。将公司和订单号连接起来。

=SUBSTITUTE(INDEX(G:G,RIGHT(MAX(MMULT(1-ISERR(SEARCH(MID(A3,COLUMN(A:Z),1),$G$3:$G$9)),ROW($1:$26)^0)/1%%+ROW($3:$9)),3))," ",)&B3

同理,右边也用&连接起来,再嵌套SUBSTITUTE去除空格。

=SUBSTITUTE(G3," ",)&H3

插入列后,发现COLUMN(A:Z)变成COLUMN(A:AA),从而导致出错。

需要重新改回来,也就是说在使用复杂的公式,尽量别插入行、列,容易导致公式出错。

=SUBSTITUTE(INDEX(G:G,RIGHT(MAX(MMULT(1-ISERR(SEARCH(MID(A3,COLUMN(A:Z),1),$G$3:$G$9)),ROW($1:$26)^0)/1%%+ROW($3:$9)),3))," ",)&B3

还有一个注意点,金额的标题两边改成不一样,要不然就汇总起来,没法判断差异。

选择L2,点数据,合并计算,分别引用两个区域,添加,勾选首行、最左边,确定。

这样就将两个表合并在一起。

最后添加一列差异,金额相减,0就是两边一样,不为0证明不同。

=M3-N3

还有一种情况,内容是从系统导出,金额为文本格式,需要转换成数值格式才行。选择区域,点感叹号,转换为数字。

对账其实不难,难的是处理数据源的过程,各种不规范的格式都可能发生,有时真的挺让人抓狂。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接