ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3200|回复: 9

[分享] 求阶段的最后一个日期值

[复制链接]

TA的精华主题

TA的得分主题

发表于 2017-10-23 14:46 | 显示全部楼层 |阅读模式
本帖最后由 little-key 于 2017-10-23 14:53 编辑

周期内的最后一天,按照常理,比如说每个月的最后一天,我们都可以很快说出来,但是在实际工作中,有的最后一天的日期并不是我们自然月或者是自然年指的月底或年底的最后一天的日期,比如说最后一个工作日的交易,那就不一定是月底最后一天了,所以求周期内(月、季度、年份)在某些场景下还是有意义的,今天就介绍如何求这三个周期的最后一天的日期值。

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-10-23 14:47 | 显示全部楼层
本帖最后由 little-key 于 2017-10-23 14:56 编辑

1、数据准备
和以往一样,我们先准备一组数据,因为要求日期,因此我们先准备一组顺序的日期列表,如下图所示:
求阶段的最后一个日期值01.png


TA的精华主题

TA的得分主题

 楼主| 发表于 2017-10-23 14:48 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 little-key 于 2017-10-23 14:55 编辑

2、导入模型
将数据列表导入到Power Pivot 数据模型中,在这里就不再赘述了,只要单击【添加到数据模型】按钮就可以比较方便地导入,如下图所示:
求阶段的最后一个日期值02.png
导入后的结果如下图所示:
求阶段的最后一个日期值03.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-10-23 14:49 | 显示全部楼层
本帖最后由 little-key 于 2017-10-23 14:55 编辑

3、添加度量值
我们今天介绍的一组函数,为ENDOF* 函数,包括三个函数,分别是:
  • ENDOFMONTH 函数:返回当前上下文中指定日期列的相对应月份的最后日期。
  • ENDOFQUARTER 函数:返回当前上下文中指定日期列的相对应季度的最后日期。
  • ENDOFYEAR 函数:返回当前上下文中指定日期列的相对应年份的最后日期。



通过这组三个函数就可以获取三个周期的最后一天的日期,他们都是以ENDOF开头,也就是说这三个函数都是要求XX的最后,即ENDOF的意思,下面我们就针对这三个函数具体用到实例中,看看得到的结果是怎么样的。

1、添加月度最后一天日期的度量值:
输入:月份最后一个日期:=ENDOFMONTH('表1'[日期])
如下图所示:
求阶段的最后一个日期值05.png

2、添加季度最后一天日期的度量值:
输入:季度最后一个日期:=ENDOFQUARTER('表1'[日期])
如下图所示:
求阶段的最后一个日期值06.png

3、添加年度最后一天日期的度量值:
输入:年度最后一个日期:=ENDOFYEAR('表1'[日期])
如下图所示:
求阶段的最后一个日期值07.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-10-23 14:51 | 显示全部楼层
本帖最后由 little-key 于 2017-10-23 14:53 编辑

4、透视表显示结果
将结果返回到透视表做展示,只要单击【主页】选项卡上的【数据透视表】按钮,如下图所示:
求阶段的最后一个日期值07.png
设置好存放透视表的位置,如下图所示:
求阶段的最后一个日期值08.png
做好的透视表在字段列表中就出现刚才设置的三个度量值,如下图所示:
求阶段的最后一个日期值09.png
将日期拖拽到【行】区域,将三个度量值拖拽到【值】区域,结果如下图所示:
求阶段的最后一个日期值10.png
上表中的日期后面有时间,我们可以通过调整格式来做调整,操作方法如下:返回到Power Pivot 工作平台,在【格式】下拉菜单中选择【更多格式】,如下图所示:
求阶段的最后一个日期值11.png
在弹出的【格式设置】对话框中,在左侧的列表框选额【日期】,右侧设置日期的格式,如下图所示:
求阶段的最后一个日期值12.png
设置完毕后,就可以看到透视表的格式也做了相应的变化,如下图所示:
求阶段的最后一个日期值13.png


TA的精华主题

TA的得分主题

 楼主| 发表于 2017-10-23 14:52 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
5、结果解读
我们先看一下列表中,日期2017年的3月份,因为是连续数据,所以有3月30和31日,所以我们这个计算出来的数据,用ENDOFMONTH 函数计算月份的最后一天的日期,那2017年3月份应该就是2017-3-31,依次类推,可以计算季度和年度的最后一天日期,效果如下图所示:
求阶段的最后一个日期值14.png
现在我们将2017年3月份的31号修改为30号,刷新透视表后,我们发现月度和年度最后一天的日期自动调整为30号,即验证了我们这两个函数返回的是周期内最后一天,并非自然月或者是自然季度的最后一天的日期,效果如下图所示:
求阶段的最后一个日期值15.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-10-23 14:53 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
通过计算最后一天的日期,再结合day函数,我们可以看到周期内一共实际发生额的天数。

TA的精华主题

TA的得分主题

发表于 2018-7-15 16:04 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2022-10-19 10:15 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2022-10-19 14:51 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-16 13:29 , Processed in 0.040939 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表