广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    取上月期末数---EXCEL-VBA-公式-函数应用

    来源:网络收集  点击:  时间:2024-05-15
    【导读】:
    分要分享一下取跨表动态取上期结存数的思路,实现统计月份期间和取上月期末数工具/原料more熟悉EXCEL基本操作具备一定的函数基础,会使用到的公式主要有:text ,substitute,mid,cell,find,indirect,vlookup等方法/步骤1/9分步阅读

    6月份的结存数,在7月份中为期初数,思路如下:通过VLOOKUP公式来查找上月份对应产品的期末数,公式在每个表中都要适用,所以引用的区域是要动态的,不需要每次修改公式,所以我们得观察表格设置及维护的特点。本人觉得接下来的步骤才是分享的主要经验:

    2/9

    通过观察,每张工作表都是数字+月份的特色,我们通过Indirect公式来构建一个VLOOKUP查找区域的动态区域,如‘6月!A1:M100,在七月的库存表就要引用六月的期末数,我们要取到“6月”,可以通过取7月的表名减1来实现,接下来是如何取到表名呢?

    3/9

    =CELL(FILENAME,A1)可以取到工作簿的名称,来个例子给大家看下,图可以看到,完整的工作表存放路径,我们只要取到7月就可以了,7月前现有“],通过FIND公式来查找”]的位置

    4/9

    =FIND(],CELL(FILENAME,A1))查找”]公式结果

    查到了,在41字符处,找到位置后,我们要表名取出来,使用MID函数可以达到这个目的

    5/9

    请看图4,我们通过MID函数把表名取出来了,找到”]位置后,往后一位是我们要的内容,所以+1,取的长度正常3就够了,表名命名规则就是数字+月,例子中我们随意用了15.

    取到表名,我们要在取上月数,所以我们要把7改为6,那就是把月份取出来减1咯,请看下一步

    6/9

    图5,取月份有多种方法,本例,采用SUBSTITUTE函数,将月份替换为空值“”,这样就得到7,然后减去1,就可以得到6了,我们这么辛苦将6取出来,就是为了在INDIRECT函数中使用它,构建一个动态的引用区域供VLOOKUP使用。请看下一步:

    7/9

    图5已经取到数字6了,接下来通过INDIRECT来实现一个被VLOOKUP查找的区域,引用工作表的路径是‘6月!A1,这是单个单元格的,区域就是6月!A1:L1000,例子请看图6,离目标只有最后两步远了咯

    8/9

    图7我们可以看到,使用了VLOOKUP公式,查找区域,就是红色边框的部分,用INDIRECT生成的区域,为了不去数到底在第几列,我采用了COLUMN(K5)来代替,COLUMN()会产生所在单元格的列号,本例K5是我们的目标列号

    9/9

    VLOOKUP,查找不到时,会产生N/A#,为了报表美观,用IFERROR函数进行美化处理,如果错误就用0显示,请见图8的结果

    注意事项

    表名要由数字+月组成,公式可以直接复制不需要修改可直接使用,

    EXCEL函数单元格表格
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_770009.html

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号06-13 23:56:43  耗时:0.024