反馈已提交

网络繁忙

获取日期在当月中是第几周

  • 文档创建者:cherishdqy
  • 历史版本:9
  • 最近更新:HeroZ 于 2023-02-01
  • 1. 概述

    1.1 版本

    报表服务器版本
    功能变更
    11.0-

    1.2 问题描述

    已知函数中有 WEEK() 可获取日期所在一年中的第几周,如何获取日期在当月的第几周呢?

    1.3 实现思路

    使用 DATEINMONTH() 获取日期所在月份的第一天日期,使用 WEEKDAY() 获取第一天的星期数,加上查询日期的天数,除以 7 向上取整,即为日期在当月的第几周。

    2. 操作步骤

    常见的日期参考:常见日期处理函数

    1. 在 A1 单元格插入公式:RANGE(date(2018, 12, 1), today()),并设置单元格的扩展方向为纵向,如下图所示:

    2. 在 B1 单元格插入公式:ROUNDUP((DAY(A1) + (IF(WEEKDAY(DATEINMONTH(A1, 1)) = 0, 7, WEEKDAY(DATEINMONTH(A1, 1)))) - 1) / 7, 0),如下图所示:

    公式
    说明
     WEEKDAY(DATEINMONTH(A1, 1))日期所属月份第一天对应的星期数
    IF(WEEKDAY(DATEINMONTH(NOW(), 1)) = 0, 7, WEEKDAY(DATEINMONTH(NOW(), 1)))如果日期所属月份第一天对应的星期数为星期天,返回 7,否则返回对应的星期数
    DAY(A1)返回日期中的日
    ROUNDUP((DAY(A1) + (IF(WEEKDAY(DATEINMONTH(A1, 1)) = 0, 7, WEEKDAY(DATEINMONTH(A1, 1)))) - 1) / 7, 0)查询日期的天数加上日期所属月份第一天对应的星期数,除以 7 向上取整

    注:此公式计算结果以星期一为一周的计算起始时间,如需从星期天开始计算,将公式修改为:ROUNDUP((DAY(A1) + (IF(WEEKDAY(DATEINMONTH(A1, 1)) = 0, 7, WEEKDAY(DATEINMONTH(A1, 1))))) / 7, 0)

    3. 效果查看

    保存模板,点击分页预览。

    3.1 PC 端效果

    222

    3.2 移动端效果

    App 与 HTML5 效果相同,如下图所示:

    222

    4. 模板下载

    已完成的模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\function\使用公式计算日期在当月中的第几周.cpt

    点击下载模板:使用公式计算日期在当月中的第几周.cpt

    附件列表


    主题: 报表专题
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持