1. 程式人生 > >根據上下班時間(可能跨1天),利用Excel的公式計算白班時間和夜班時間

根據上下班時間(可能跨1天),利用Excel的公式計算白班時間和夜班時間

問題補充:
上班時間可能是這樣的:
序號 上班時間  下班時間
1      6:00      17:00
2      5:38      10:00
3      4:20      8:39
4      22:50    5:40
5      18:49    8:38

那如何區分白班和夜班的工時呢??

倒班制的,要是員工5:30去上班 就要為他計算半個小時的夜班
問題分析:
涉及到的幾個難點:
1)需要區分白班工時還是夜班工時。
    6:00-22:00 為白班工作時間,與上下班時間段存在多種關係
2)可能跨天工作。因表中儲存的只有時間,沒有日期,所以存在第一天上班,而第二天才下班的情況
綜合起來,可能存在比較複雜的多種情況
解決思路: 
 1)不用VBA程式設計,用公式實現
 2)直接計算總工時和白班工時,夜班公式通過 總工時-白班工時計算
 3)總工時,只需考慮跨天的情況.只處理最多24小時,也即每個人最多跨1天工作。可簡單根據下班時間與上班時間的大小關係處理:當下班時間<上班時間,即認為跨天工作,將下班時間加1後再計算
 4)白班時間:可分為第一天的白班+第二天的白班
     其中:第一天的白班:用 min(白班結束時間,處理後的下班時間)-max(白班開始時間,上班時間)計算
              第二天的白班:用 處理後的下班時間-白班開始時間計算
最終實現:
公式示例及11種典型情況的驗證如下圖:

相關推薦

根據上下班時間可能1利用Excel公式計算白班時間夜班時間

問題補充: 上班時間可能是這樣的: 序號 上班時間 下班時間 1 6:00 17:00 2 5:38 10:00 3 4:20 8:39 4 22:50 5:40 5 18:49 8:38 那如何區分白班和夜班的工

求解多邊形面積2S= Σ【Xi Yi+1-Yi-1】,i屬於1~n公式解析及編程實現

poi logs 驗證 地圖 class view hide 對比 turn yogurt今天要個大家分享一個基礎的二維空間多邊形面積求算方法,主要也是為了下一篇《橢球體上某區域面積的求算,及Albers投影與墨卡托投影後該區域面積對比》打一個基礎。關於投影的相關過

計算程序運行的時間以求得1-10000之間的素數為例

spa pen span 計算 sub 父類 println style 運行 //抽象類public abstract class Template { abstract void code();//要麽就聲明為實體方法,提供方法;要麽就加上abstract關鍵

1.給棧新增一個獲取最小值的方法元素為Integer型要求時間複雜度為O(1)

分析:在資料結構與演算法中,當要求時間複雜度最小時基本都是要犧牲空間複雜度。棧是先進後出,此處要求用棧實現一個獲取最小值的方法且時間複雜度為O(1),首先考慮的方向就是再借助一個棧來實現,這個棧主要用來儲存最小值序列(這個地方可以思考一下為什麼不能用一個變數來儲存最小值)。 下面直接附上程式碼:   

獲取當天時間相關時間凌晨、第二凌晨

方法一:通過毫秒數獲取當天時間相關資訊 //當前時間毫秒數 long current=System.currentTimeMillis(); //今天零點零分零秒的毫秒數 long zero=current/(1000*3600*24)*(1000*3600*24)-TimeZone.getDe

黑馬程式設計師 —— Java高階視訊_IO輸入與輸出第十八1

------- android培訓、java培訓、期待與您交流! ---------- 一  其它物件 -  System 現在來看一下一些其他類是如何使用的。 比起了解這些類的方法怎麼使用,在這幾節學習過程中, 更重要的是要掌握如何通過查閱API文件實現功能。 1

mysql根據時間欄位查詢一一週一個月內的資料

原文路徑:https://www.cnblogs.com/Luouy/p/7590812.html,原文應該也是各處摘抄的,此處做了一些去重處理。查詢一天:select * from 表名 where to_days(時間欄位名) = to_days(now());selec

每篇半小時1入門MongoDB——2.MongoDB環境變量配置Shell操作

.get same 修復 nss its keys 電腦 sts lis 上一篇:每篇半小時1天入門MongoDB——1.MongoDB介紹和安裝 配置環境變量 Win10系統為例 右鍵單擊“此電腦”—&md

python 第二周第十一 我的python成長記 一個月搞定python數據挖掘!(19) -scrapy + mongo

msg 步驟 [0 ssi xtra tin perl overflow tab mongoDB 3.2之後默認是使用wireTiger引擎 在啟動時更改存儲引擎:   mongod --storageEngine mmapv1 --dbpath d:\data\db 這

機器學習特征表達——日期與時間特征做離散處理數字到分類的映射稀疏類分組相似特征歸檔創建虛擬變量提取新特征 本質就是要麽多變少或少變多

通過 time 理想 ast 可能 ear 創建 eat 根據 特征表達 接下來要談到的特征工程類型雖然簡單卻影響巨大。我們將其稱為特征表達。 你的數據並不一定總是理想格式。你需要考慮是否有必要通過另一種形式進行特征表達以獲取有用信息。 日期與時間特征: 我們假設你擁有p

solr服務的搭建以solr4.1實現

start 配置文件 eve ever ont 分詞 路徑 中文 數據 1.準備工作:一個幹凈的Tomcat,solr-4.10.3. 2.新建一個文件夾我這裏命名為solr,將Tomcat和solr-4.10.3放進去。新建一個solrhome的文件夾,裏面放的是solr

二周第四次課2月1

可執行文件 打開 軟鏈接 分區 chm 失敗 sha span 結果 2.18 特殊權限set_uid2.19 特殊權限set_gid2.20 特殊權限stick_bit2.21 軟鏈接文件2.22 硬連接文件2.18 特殊權限set_uid#which passwd/us

二周第四次課2月1筆記

blog size ima ext bcf 不可 需要 pro ade 二周第四次課(2月1日)2.18 特殊權限set_uid2.19 特殊權限set_gid2.20 特殊權限stick_bit2.21 軟鏈接文件2.22 硬連接文件 2.18 特殊權限set_uid特殊

十周第二次課3月1

linux十周第二次課(3月1日)11.14/11.15 Apache和PHP結合httpd的主配置文件是/usr/local/apache2.4/conf/httpd.confvim /usr/local/apache2.4/conf/httpd.conf 修改以下4個地方1 ServerName #Ser

Linux學習筆記第四周第四次課3月1

gzip bzip2 xz gunzip unxz 6.1 壓縮打包介紹常見壓縮文件windows-------- .rar .zip .7zlinux ------------ .zip .gz .bz2 .xz .tar.gz

SQLSERVER復制數據庫某一個表到另一個數據庫中服務器

led 數據 rom msdb pan 錯誤 ons 數據庫 ble 一、復制數據庫某一個表到另一個數據庫中(同一服務器) SELECT * INTO 表1 FROM 表2 --復制表2如果只復制結構而不復制內容或只復制某一列只要加WHERE條件就好了 例子:SELECT

sed工具與正則表達式的使用shell第四

sed工具正則表達式sed工具 【流式編輯器】 —— 非交互,基於模式匹配過濾及修改文本—— 逐行處理,並將結果輸出到屏幕——可實現對文本的輸出,刪除,替換,復制,剪切,導入,導出等各種操作 命令格式:1)前置命令 | sed [選項] ‘條件指令‘ 【利用管道】2)sed [選項] ‘條件指

SpringMVC+RestFul詳細示例實戰教程實現域訪問

java springmvc restful 跨域 一、理解 REST REST(Representational State Transfer),中文翻譯叫“表述性狀態轉移”。是 Roy Thomas Fielding 在他2000年的博士論文中提出的。它與傳統的 SOAP Web 服務區別

Nginx反向代理配置解決域問題

一. 跨域    指的是瀏覽器不能執行其他網站的指令碼。它是由瀏覽器的同源策略造成的,是瀏覽器對 JavaScript 施加的安全限制。 實際開發過程中表現為,如果本地的Html程式碼未提交到伺服器,本地是不能直接呼叫伺服器 API 獲取資料的。 二. Nginx