与 30万 读者一起学Excel
国庆期间,主要对过去的文章总结整理。大家玩得开心,每天记得抽空看一下微信文章。
身为会计,每天都要跟会计科目打交道,会涉及到各种各样的问题。今天,卢子为你整理了7种会计科目处理妙招,足够大多数人使用。
1.将一级科目筛选出来,也就是科目代码为4位数。
有2种比较常用的方法:
01 用LEN函数判断位数,然后筛选TRUE。
=LEN(A2)=4
02 通过搜索框,输入????(4个?)也可以实现。
2.将一级科目放在一列,其他级别科目放在另一列。
一级科目:
=IF(LEN(A2)=4,B2,"")
其他级别科目:
=IF(LEN(A2)<>4,B2,"")
都是借助LEN判断是不是等于4位数,从而进行分离科目。
3.科目从一级到四级都有,如何提取最后一级科目?
最后一级科目,用Excel的语言就是最后一个文本。查找对应值,当然用查找之王LOOKUP函数。
在F2输入公式,下拉填充公式。
=LOOKUP("座",B2:E2)
当有多个符合条件的值存在,LOOKUP函数是查询最后一个满足条件的值。现在,卢子举一个小例子进行说明,因为汉字不太直观,这里换成字母。
Z是最大的字母,所有字母都小于等于他。如第3行,有D和C,这两个字母都比Z小,就返回最后一个值C。如第5行,C、B、A、F都比Z小,就返回最后一个值F。记住,这里是返回最后一个满足条件的字母,而不是最大的字母。
文本都是按字母排序,而座(ZUO)的首字母是Z,通常情况下的汉字都比座小,利用这个特点可以找到最后一个文本,也就是最后一个科目。
更多LOOKUP函数的用法,详见文章《VLOOKUP函数滚一边去,我才是Excel真正的查找之王!》
科目还有一种比较常用的方法,就是以-作为分隔符号,这种情况,又该如何提取最后一级科目呢?
如果你函数玩得出神入化,可以用函数搞定。
=TRIM(RIGHT(SUBSTITUTE(B2,"-",REPT(" ",50)),50))
不过,这里卢子要教你一种简单的办法——替换法。
将B列的科目复制到C列,按Ctrl+H调出查找和替换对话框,查找内容输入*-,单击全部替换。
*-意思就是将-和之前的所有内容替换掉,剩下的就是最后的科目。
4.如果科目不是文本,是数字的情况下,如何提取最后一级科目?
现在我们将科目都换成了数字,文本我们用"座"来查找,数字就用9E+307来查找。
=LOOKUP(9E+307,A2:D2)
通用公式,不管是数字还是文本,都可以。
=LOOKUP(1,0/(A2:D2<>""),A2:D2)
5.如何提取第一级科目?
LOOKUP函数有两个兄弟,一个是非常出名的VLOOKUP函数,另一个是HLOOKUP函数。HLOOKUP函数的用武之地很少,知道他存在的人并不多。
这里,刚好是一个特例。
=HLOOKUP("*",A2:D2,1,0)
"*"我们知道这个是通配符,在这里代表所有文本,而HLOOKUP函数是查找首次出现的值。
6.科目代码跟科目名称在同一个单元格如何分离?
针对Excel2013以下版本就比较麻烦,需要借助公式才可以。
科目代码:
=LEFT(A2,2*LEN(A2)-LENB(A2))
科目名称:
=RIGHT(A2,LENB(A2)-LEN(A2))
针对高版本,这种问题就显得非常简单,借助新功能快速填充,快捷键Ctrl+E,就可以实现。
7.不同级别的科目名称,采用敲空格的方法来区分,导致后期数据查找跟汇总出现问题,如何解决?
原来如果是手工敲打的空格,建议将空格全部替换掉。在对齐方式那里,选择增加缩进量,跟减少缩进量就可以。
这种的好处就是,操作方便,而且字符数跟原来一样,不会有任何后遗症。
推荐:归零!一起从头开始学Excel(含2017-2019所有文章)
上篇:哈哈哈,没想到我也有写Excel公式写到怀疑人生的时候。。。
国庆期间,你有何安排?
作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)
长按二维码,识别关注
请把「Excel不加班」推荐给你的朋友和同事