【原】“我面试了60个会计,发现她们连这4个Excel公式都看不懂!”
没想到现在面试会计的Excel公式题目这么难,Excel学得不精通,可能连工作都找不到。
卢子没有源文件,就模拟一些数据,一起来看看,所有题目要求用公式完成。
1.将字符串中的数字、汉字、字母分离在3个单元格。
这个如果用技巧挺容易的,直接用Ctrl+E就可以,详见:你会Ctrl+E吗?
笔试要求全部用公式解决,确实有难度。
数字:
LEFT(A2,ROW($1:$15))提取左边1到15位的数字,-LEFT就是让不是数字的转换成错误值,数字的转变成负数,这样就可以用1查找到最后的负数,-LOOKUP就是将负数转换成正数。
=-LOOKUP(1,-LEFT(A2,ROW($1:$15)))
汉字:
数字+1位就是汉字的起始位置,数字和字母都是单字节,汉字是双字节,利用这个的差值,就可以计算汉字总共多少位。
=MID(A2,LEN(B2)+1,LENB(A2)-LEN(A2))
字母:
将数字替换掉,再将汉字替换掉就剩下字母。
=SUBSTITUTE(SUBSTITUTE(A2,B2,""),C2,"")
2.根据部门和月份,查找对应的费用。
公式:用MATCH判断月份在第几列,剩下的就是VLOOKUP的基本操作。
=VLOOKUP(A8,$A$1:$K$4,MATCH(B8,$A$1:$K$1,0),0)
3.根据部门和月份,统计对应的费用。
这个跟题目2略有差异,部门是会出现多次,必须用条件求和。
=SUMPRODUCT(($A$2:$A$5=A9)*($B$1:$K$1=B9)*$B$2:$K$5)
4.根据费用,查找最接近的数字对应的部门和月份。
部门:
=INDEX($A$2:$A$4,MAX(IF(MIN(ABS(A8-$B$2:$K$4))=ABS(A8-$B$2:$K$4),ROW($1:$3))))
月份:
=INDEX($A$1:$K$1,MAX(IF(MIN(ABS(A8-$B$2:$K$4))=ABS(A8-$B$2:$K$4),COLUMN(B:K))))
都是数组公式,需要按Ctrl+Shift+Enter,公式的大概意思就是先相减后判断绝对值最小的值等于那个,然后返回相应的最大行号或者列号,再返回相应的对应值。
甲来面试,被问会不会做假账?
甲回: 会!
老板: 敢做假账,滚出去!
乙来面试,被问会不会做假账?
乙回: 不会!
老板: 假账也不会做,要你何用?滚出去!
我来面试,被问会不会做假账?
我回: 干会计,有啥不会的?