Board logo

標題: [發問] 開始時間與結束時間算法 [打印本頁]

作者: fantersy    時間: 2019-6-27 20:44     標題: 開始時間與結束時間算法

各位先進好
小弟有一問題想請教
Sum  offset  lookup 去做了一張表讓其工時能自動統計表單
但麻煩的是因為是24小時計算有些算不出來
超過00:00小弟有加1 但算出來的值還是不對
懇請解惑!!
感謝!!
公式如下
H2==IF(G2>F2,($G2-$F2)*60*24,(($G2+1)-($F2))*60*24)+SUM(OFFSET($C$2,,,LOOKUP(VALUE($F2),$B$2:$B$11,{1,2,3,4,5,6,7,8,9,10})))-IF(G2>F2,SUM(OFFSET($C$2,,,LOOKUP(VALUE($G2),$B$2:$B$11,{1,2,3,4,5,6,7,8,9,10}))),SUM(OFFSET($C$2,,,LOOKUP(VALUE($G2+1),$B$2:$B$11,{1,2,3,4,5,6,7,8,9,10}))))
[attach]30950[/attach]
[attach]30951[/attach]
作者: 准提部林    時間: 2019-6-29 10:23

上傳附檔與題不同???
是否重傳???
作者: fantersy    時間: 2019-7-1 14:05

回復 2# 准提部林

大大您好!!
[attach]30969[/attach]
重傳了附件
內容與原提問的圖片一樣,再麻煩確認一下
感謝您的幫忙!!
作者: 准提部林    時間: 2019-7-1 16:37

本帖最後由 准提部林 於 2019-7-1 17:19 編輯

回復 3# fantersy


休息時間調整一下:   
[attach]30971[/attach]

或這個方式:
[attach]30972[/attach]
作者: fantersy    時間: 2019-7-2 10:52

回復 4# 准提部林


    謝謝 准提部林 大大
這公式 比我之前還深澳
有點看不太懂  
需要點時間了解
作者: fantersy    時間: 2019-7-2 18:02

回復 4# 准提部林

准提部林大 您好
小弟嘗試了去用 您建議的公式去修改

並嘗試做了儲存格跟位置的修正,但都得不到一個答案
附件~請參考
[attach]30982[/attach]
想請問!!
我已經把範圍的ROW的範圍加大了為何還會錯誤!?
SMALL 已經抓到了相對的位置
但Lookup 卻抓不到
真的不太懂這公式的意思

麻煩您解惑!!謝謝!!
作者: 准提部林    時間: 2019-7-2 20:19

回復 6# fantersy

開始時間        結束時間
00:00        00:00
00:10        01:10
03:00        03:10
05:20        06:00
06:00        08:00
10:00        10:10
12:10        13:10
15:00        15:10
17:20        18:00
18:00        20:00
22:00        22:10

第一行必須是00:00, 否則 00:01 會LOOKUP為#N/A
共有11行*2個數字, 所以 SMALL必須是ROW(1:22),  
MOD則為 ROW(2:23), 也可用  MOD(ROW(1:22)+1,2), 只要形成{0;1;0;1~~~}陣列即可

=============================
作者: fantersy    時間: 2019-7-3 19:24

回復 7# 准提部林


   好的!!非常感謝 准提部林大的回覆 !!
作者: ML089    時間: 2019-7-4 15:59

回復 3# fantersy

依照3樓資料格式

H2公式
=MOD(G2-F2,1)*1440-SUM(
(MOD(F2*1440+ROW(INDIRECT("1:"& (G2-F2+(F2>G2))*1440)),1440)>TRANSPOSE(INT(A$2:A$11*1440)))*
(MOD(F2*1440+ROW(INDIRECT("1:"& (G2-F2+(F2>G2))*1440)),1440)<=TRANSPOSE(INT(B$2:B$11*1440)))*TRANSPOSE(C$2:C$11>0))
陣列輸入
作者: ML089    時間: 2019-7-4 16:06

回復 9# ML089

因 起始時間+1起跳,所以 8:00-8:00  3:00-3:00 這種為0的時間會不計入扣除,前公式可修簡

H2 陣列公式
=MOD(G2-F2,1)*1440-SUM(
(MOD(F2*1440+ROW(INDIRECT("1:"& (G2-F2+(F2>G2))*1440)),1440)>TRANSPOSE(INT(A$2:A$11*1440)))*
(MOD(F2*1440+ROW(INDIRECT("1:"& (G2-F2+(F2>G2))*1440)),1440)<=TRANSPOSE(INT(B$2:B$11*1440))))

下拉




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)