反饋已提交

網絡繁忙

周末工作日判断

  • 文檔創建者:axing
  • 最近更新: 2022-09-13
  • 1. 概述

    1.1 預期效果

    在報表設計中,希望能夠透過公式判斷當月的工作日和週末,如下圖所示:

    1.2 實現思路

    方案一:若您使用的設計器為 11.0.4 及之後的版本,可以使用 ISWORKDAY 函式。

    方案二:透過 if 函式來實現。

    注:暂不支持判断法定节假日。

    2. 範例

    2.1 报表设计

    設計報表樣式,儲存格內容如下圖所示:

    1603777757591537.png

    1)A2 儲存格插入公式:

    RANGE(dateinmonth(today(),1),dateinmonth(today(),-1))

    公式說明如下表所示:

    公式含义
    dateinmonth(today(), 1)返回当前月份第一天的日期
    dateinmonth(today(), -1)返回当前月份最后一天的日期
    RANGE(dateinmonth(today(), 1), dateinmonth(today(), -1))

    获取当前月份从第一天到最后一天,所有日期的序列

    注:RANGE 函数具体使用可参见:Range函数使用介绍

    2)B2儲存格插入公式:

    switch(weekday(A2),0,"星期天",1,"星期一",2,"星期二",3,"星期三",4,"星期四",5,"星期五",6,"星期六")


    公式含义

    weekday(A2)

    獲取 A2 列的日期並傳回星期數。傳回值為介於 0 到 6 之間的某一整數,分別代表從星期日到星期六的某一天

    switch(weekday(A2),0,"星期天",1,"星期一",2,"星期二",3,"星期三",4,"星期四",5,"星期五",6,"星期六")

    如果「weekday(A2)」的傳回值為0,則整個函式傳回結果為「星期天」;如果「weekday(A2)」的傳回值為1,則整個函式傳回結果為「星期一」,以此類推

    注:switch 函数的具体介绍请参见:switch函数

    3)C2儲存格插入公式:

    if(inarray(weekday(A2),[0,6])>0,"周末","工作日")

    公式说明如下表所示:

    公式含义
    weekday(A2)獲取 A2 列的日期並傳回星期數。傳回值為介於 0 到 6 之間的某一整數,分別代表星期中的某一天(從星期日到星期六)
    inarray(weekday(A2), [0,6]) 

    傳回「weekday(A2)」在陣列[0,6]的位置,例如「weekday(A2)」=1,則結果為 0;「weekday(A2)」=0,則結果為1;「weekday(A2)」=6,則結果為2

    注:inarray函数具体介绍请参见:inarray

    if(inarray(weekday(A2), [0,6]) > 0, "周末", "工作日")若 A2 日期是週六或週日,則最終結果為「週末」;其他情況為「工作日」

    2.2 效果預覽

    1)PC端

    儲存報表,點選「分頁預覽」,效果同 1.1 節預期效果一致。

    2)行動端

    點選「行動端預覽」,App 端及 H5 端均支援,效果如下圖所示:

    7dcb9b54afe5e533e8c0a8e3d17eca3.png

    3. 範本下載

    已完成範本可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\周末工作日判断.cpt

    点击下载模板:週末工作日判斷.cpt


    附件列表


    主題: 原简体文档
    • 有幫助
    • 沒幫助
    • 只是瀏覽
    • 圖片不清晰
    • 用語看不懂
    • 功能說明看不懂
    • 操作說明太簡單
    • 內容有錯誤

    文 檔回 饋

    滑鼠選中內容,快速回饋問題

    滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

    不再提示

    10s後關閉