反饋已提交

網絡繁忙

週末工作日判斷

1. 概述

1.1 預期效果

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

1.2 實現思路

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

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

注:暫不支援判斷法定節假日。

2. 範例

2.1 報表設計

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

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 端均支援,效果如下圖所示:

3. 範本下載

已完成範本可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\週末工作日判斷.cpt

點選下載範本:週末工作日判斷.cpt


附件列表


主題: 報表專題
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

文 檔回 饋

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

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

不再提示

10s後關閉