身为会计、HR,每天都要跟很多公式打交道,会涉及到各种各样的问题。今天,为你整理了29个最常用的公式。
1.将借方、贷方金额分离的简单办法

借方金额,在C2输入公式,并向下填充。
=IF(A2="借",B2,"")
贷方金额,在D2输入公式,并向下填充。
=IF(A2="贷",B2,"")
2.将一级科目筛选出来,也就是科目代码为4位数。
有2种比较常用的方法:
01 用LEN函数判断位数,然后筛选TRUE。
=LEN(A2)=4

02 通过搜索框,输入????(4个?)也可以实现。

3.将一级科目放在一列,其他级别科目放在另一列。

一级科目:
=IF(LEN(A2)=4,B2,"")
其他级别科目:
=IF(LEN(A2)<>4,B2,"")
都是借助LEN判断是不是等于4位数,从而进行分离科目。
4.科目从一级到四级都有,如何提取最后一级科目?

最后一级科目,用Excel的语言就是最后一个文本。查找对应值,当然用查找之王LOOKUP函数。
在F2输入公式,下拉填充公式。
=LOOKUP("座",B2:E2)
当有多个符合条件的值存在,LOOKUP函数是查询最后一个满足条件的值。现在,卢子举一个小例子进行说明,因为汉字不太直观,这里换成字母。
Z是最大的字母,所有字母都小于等于他。如第3行,有D和C,这两个字母都比Z小,就返回最后一个值C。如第5行,C、B、A、F都比Z小,就返回最后一个值F。记住,这里是返回最后一个满足条件的字母,而不是最大的字母。

文本都是按字母排序,而座(ZUO)的首字母是Z,通常情况下的汉字都比座小,利用这个特点可以找到最后一个文本,也就是最后一个科目。
科目还有一种比较常用的方法,就是以-作为分隔符号,这种情况,又该如何提取最后一级科目呢?

如果你函数玩得出神入化,可以用函数搞定。
=TRIM(RIGHT(SUBSTITUTE(B2,"-",REPT(" ",50)),50))
不过,这里要教你一种简单的办法——替换法。
将B列的科目复制到C列,按Ctrl+H调出查找和替换对话框,查找内容输入*-,单击全部替换。

*-意思就是将-和之前的所有内容替换掉,剩下的就是最后的科目。
5.如果科目不是文本,是数字的情况下,如何提取最后一级科目?

现在我们将科目都换成了数字,文本我们用"座"来查找,数字就用9E+307来查找。
=LOOKUP(9E+307,A2:D2)
通用公式,不管是数字还是文本,都可以。
=LOOKUP(1,0/(A2:D2<>""),A2:D2)
6.如何提取第一级科目?

LOOKUP函数有两个兄弟,一个是非常出名的VLOOKUP函数,另一个是HLOOKUP函数。HLOOKUP函数的用武之地很少,知道他存在的人并不多。
这里,刚好是一个特例。
=HLOOKUP("*",A2:D2,1,0)
"*"我们知道这个是通配符,在这里代表所有文本,而HLOOKUP函数是查找首次出现的值。
7.科目代码跟科目名称在同一个单元格如何分离?

针对Excel2013以下版本就比较麻烦,需要借助公式才可以。
科目代码:
=LEFT(A2,2*LEN(A2)-LENB(A2))
科目名称:
=RIGHT(A2,LENB(A2)-LEN(A2))
针对高版本,这种问题就显得非常简单,借助新功能快速填充,快捷键Ctrl+E,就可以实现。

8.将B列的金额依次拆分到后面的单元格
=LEFT(RIGHT(TEXT($B2*100," ¥000;;"),COLUMNS(F:$P)))

9.将金额转换成人民币大写
=SUBSTITUTE(SUBSTITUTE(TEXT(TRUNC(FIXED(J12)),"[>0][dbnum2]G/通用格式元;[<0]负[dbnum2]G/通用格式元;;")&TEXT(RIGHT(FIXED(J12),2),"[dbnum2]0角0分;;"&IF(ABS(J12)>1%,"整",)),"零角",IF(ABS(J12)<1,,"零")),"零分","整")

10.最快求和
选择区域,按快捷键ALT+=,瞬间完成。

11.累计求和
累计销售额
=SUM(B$2:B2)
=N(C1)+B2

N是最简单的函数,就是将文本转换成0。跟这个类似的是T,将数字转换成空文本。
=N(C1)
=T(C1)

12.跨列求和
SUM函数在求和的时候,忽略文本,也就是可以直接写成一个区域。
=SUM(A2:F7)

13.单条件求和
统计销售额大于500的人的总销售额。
=SUMIF(B:B,">500",B:B)
=SUMIF(B:B,">500")

SUMIF函数当条件区域跟求和区域一样时,求和区域可以省略。
14.避开错误值求和
A列的数字中包含错误值,如何避开这些错误值对数字求和。
=SUMIF(A:A,"<9E+307")
9E+307是接近最大的数字,而错误值比最大的数字还大,小于最大值的数字,就能对数字进行求和。
15.通配符求和
统计最后字符为河营业部的总金额。
=SUMIF(A2:A11,"*河",F2:F11)

通配符有2个,*代表全部字符,?代表一个字符。如果是2个字符,最后一个字是河,可用"?河"。
16.多区域条件求和
多个相同的区域,统计型号为B03的数量。
=SUMIF(A2:G10,"B03",B2:H10)

SUMIF函数是个很神奇的函数,区域会自动扩展,所以写一个区域就行。
17.乘积求和
获取数量*单价的总金额。
=SUMPRODUCT(B2:B4,C2:C4)

18.多条件求和
统计营业部为天河,数量大于20的总金额。
=SUMIFS(F2:F11,A2:A11,"天河",D2:D11,">20")
19.统计每个月的金额
根据每天的销售明细,统计每个月的金额。
=SUMPRODUCT((MONTH($A$2:$A$11)=F2)*$D$2:$D$11)

MONTH函数就是获取月份。
接下来是跟身份证相关的问题。

省份、地区都是根据地区码查找。
20.省份
=VLOOKUP(LEFT(A2,2),地区码!A:B,2,0)
21.地区
=VLOOKUP(LEFT(A2,6),地区码!A:B,2,0)
22.出生日期
=TEXT(MID(A2,7,8),"0-00-00")
23.性别
=IF(MOD(MID(A2,15,3),2),"男","女")
24.周岁
=DATEDIF(D2,NOW(),"y")
25.生肖
=MID("鼠牛虎兔龙蛇马羊猴鸡狗猪",MOD(TEXT(D2,"[$-130000]e")-4,12)+1,1)
26.生日提示
=TEXT(TEXT(D2,"m-d")-TEXT(NOW(),"m-d"),"还有0天生日;;今天生日")
27.星座
=LOOKUP(--TEXT(D2,"mdd"),{0,"摩羯座";121,"水瓶座";220,"双鱼座";321,"白羊座";421,"金牛座";522,"双子座";622,"巨蟹座";724,"狮子座";824,"处女座";924,"天秤座";1024,"天蝎座";1123,"射手座";1223,"摩羯座"})
28.退休日期
=EDATE(D2,IF(E2="男",60,50)*12)
29.重复判断
=IF(COUNTIF(A:A,A2&"*")>1,"重复","")
有些公式并不需要刻意学习,只要会复制粘贴就行了。