[算表] ERP现金收支表以MID及VLOOKUP函数补月份

楼主: moodyblue   2020-04-22 07:49:21
ERP现金收支表没有月份?MID函数再搭配VLOOKUP补上,或者MATCH与INDEX双剑合璧
网志图文版:
https://www.b88104069.com/archives/4478
ERP系统报表难免不足,可利用Excel函数补全。本文以现金收支表为例,先以MID函数取
单据编号,再以VLOOKUP函数带出月份,接着重点介绍MATCH与INDEX函数的经典组合。
银行出纳的ERP现金收支表没有月份字段
已经导入ERP的企业,通常系统单据会有一定的编码原则,很常见的会分成两个部份:“
单头”+“单身”,单头为单据性质,惯例至少会有一码区分是哪个模块所属的单据,所
以“CA”可能表示是现金及银行模组的单据,单身为单据编号,惯例至少会有几码区分是
哪个期间所属的单据,所以“1801”应该就表示是18年1月份的单据。
整理原始资料时,了解编码原则是相当基本的工作,唯有确认了ERP系统、存货、固定资
产、客户地区等编码原则,才能依照种种条件进行统计分析。本节即以现金收支表中的单
据编号,分享如何将其中的月份抽离出来成为单独字段,顺便介绍如何以MATCH与INDEX函
数的组合,执行会计工作上非常实用的VLOOKUP查找功能。
MID、VLOOKUP、MATCH、INDEX函数实务应用
一、现金收支明细表,单据编号“CA-180101001”中的“1801”为开单当时的年月期间,
系统跑出来的报表并没有月份的字段,现在基于资料统计的需要,希望借助Excel工具,
新增一个独立的月份字段。
二、首先以MID文字函数将单据编号中的月份提取出来:“=MID(A2,6,2)”,意思是从储
存格A2内容中的第六个字符开始,取出两个字符,计算结果即为“01”。
三、虽然上个步骤的“01”到“12”已经表达出月份了,希望报表更加丰富一点,特别编
制了一个月份英文简称的对照表,从“Jan”到“Dec”,所以现在任务变成是,如何从“
01”转换成“Jan”、“12”转换成“Dec”。
四、像这样的任务,熟悉Excel的读者应该都会想到Vlookup:“
=VLOOKUP(E2,'3'!A:B,2,0)”,有兴趣读者可以参考《会计人的Excel小教室》第三章“
VLOOKUP函数应用”,有一整章五个小节完整介绍VLOOKUP函数在实务工作上的应用。
五、接下来进行这一节的重点,首先设计函数公式:“=MATCH(E2,'3'!A:A,1)”,表示以
MATCH函数得到“01”在第三步骤月份对照表A栏的顺序,第三个引数“1”和VLOOKUP函数
第四个引数作用类似,这里“1”表示条件值必须完全相同。
如果是第一次使用MTACH函数,对于这函数有些陌生,可以将鼠标光标移到资料编辑列该
函数的位置,点击左边的“fx”,即会跳出“函数引数”视窗,有关于此函数及其引数的
简要说明,甚至可以点选最左下角的“函数说明”,可以超连结到微软官方的支援中心,
会有更加详细的解说。
六、在MTACH函数的基础上,设计函数公式:“=INDEX('3'!B:B,G2)”,表示以MATCH公式
所得到的月份顺序,再传回相对应的月份英文简称。
七、将月份英文简称的对照表贴到此工作表上,如此在参照引用时较为直觉,再将MATCH
和INDEX的公式合并:“=INDEX(L:L,MATCH(E2,K:K,1))”。
VLOOKUP函数与INDEX、MATCH组合两者比较
通常会以VLOOKUP函数依照条件传回相对应位置的储存格内容,不过在Excel还可以MATCH
和INDEX函数搭配运用,也能完成和VLOOKUP同样的任务。VLOOKUP是以一整个表格作为查
找范围,INDEX(MATCH())是直接以某一阵列范围作为查找对象,因此VLOOKUP较为直觉容
易理解,但是Excel计算处理可能较花时间,INDEX(MATCH())的函数公式复杂一些,但是
执行时较有效率,而且灵活性较高,工作中可依照实际状况选择合适方案。
延伸阅读:
Indirect、Match、Row这三个Excel函数组合,竟然足以搜寻任何关键字重组报表
https://www.b88104069.com/archives/4411
报表并不难,聪明使用Excel,瞬间搞定工作大小事
https://www.b88104069.com/archives/4408
Excel如何以切片器快速切换直条图分析对象
https://www.b88104069.com/archives/4397
作者: soyoso (我是耀宗)   2020-04-22 08:19:00
再说一次,这引数不是参数,参数和引数是不同的,之前版上#1Su2Y9OJ就已经和原po说过https://i.imgur.com/XIMP277.jpg这个称呼方式也并非我规定的,是微软函数说明内的内文写了"可以点选最左下角的“函数说明”",那请问函数说明有写到"参数"吗?没有,写的就是引数不是吗?=MATCH(E2,'3'!A:A,1),1和vlookup一样条件值完全相同,请不要乱教好吗?“1或省略,会寻找小于或等于 lookup_value 的最大值。lookup_array 引数内的值必须以递增次序排列”这是函数说明内所提供的说明“0会寻找完全等于 lookup_value 的第一个值”match或是vlookup,0才是找完全相同的好吗?

Links booklink

Contact Us: admin [ a t ] ucptt.com