English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

A B C D
請假起 請假迄 小計 特休剩餘(原15小時)
1 09時 18時 8時 7時
2 09時 12時 3時 4時
3 13時 18時 5時 -1時
以上為EXCEL的表格。

請問各位大大,承上例,
該怎麼在C3設函數:當B3-A3時,若D3<0(出現負數)時 ,則D4顯示0,C3顯示4時呢?可以順便講解一下為何要這麼設公式嗎?謝謝

2007-02-12 12:30:18 · 5 個解答 · 發問者 1 in 電腦與網際網路 軟體

謝謝各位前輩精僻的解答,我還有個問題如下:
A3從13時開始請假,那條件設A3<=12的話,A3能輸入13時嗎?
B2請到12時,條件設B3>=13的話,B2能輸入12時嗎?

2007-02-13 18:01:48 · update #1

謝謝各位的幫忙,我測試過了上述問題OK,
再幫我看一下我試著寫的條件哪兒有問題,我跑不出來…
=IF(AND(A5<=12,B5>=13),B5-A5,IF(B5-A5

2007-02-15 11:52:54 · update #2

5 個解答

將"時"字全部去掉. 原15小時列在儲存格 D2 便於計算.
A B C D
1 請假起 請假迄 小計 特休剩餘(原15小時)
2 15
3 09 18 8 7
4 09 12 3 4
5 13 18 5 -1

C3 = IF(AND(A3<=12,B3>=13),B3-A3-1,B3-A3)
D3 = IF(D2-C3>0,D2-C3,0)
然後往下複製即可.
由於多二行, 版主所述c3 改為C5顯示4時, (4減4等於零) 則D5還是顯示0.
由於中午休息1小時(12:00~13:00)不算在內, 故C3之公式內設定 AND(A3<=12,B3>=13)時 B3-A3-1, 若非此條件則 B3-A3 即可.
另外D3之公式內設定 D2-C3>0 時 D2-C3, 若 D2-C3 非大於零(即是小於零), 則答案等於零.

2007-02-15 10:01:39 補充:
A3從13時開始請假,那條件設A3<=12的話,A3能輸入13時嗎?
B2請到12時,條件設B3>=13的話,B2能輸入12時嗎?
皆可以呀!

套入公式測試就可瞭解囉!

2007-02-15 18:39:44 補充:
應該=IF(AND(A5<=12,B5>=13),B5-A5,IF(B5-A5 如此D4才可以減兩數相減之餘數, 得數 =D5.

2007-02-12 15:35:38 · answer #1 · answered by Frank Chiou 7 · 0 0

=IF(AND(A5<=12,B5>=13),B5-A5,IF(B5-A5 AND(A5<=12,B5>=13)條件成立應該是B5-A5-1,但(B5-A5-1)還有可能小於D4,會參生條件不足的空窗.所以應在第一條件中刪除多餘條件
=IF(AND(A5<=12,B5>=13,(B5-A5-1)
2007-02-17 11:02:48 補充:
=IF(AND(A5<=12,B5>=13),B5-A5,IF(B5-A5<D4,B5-A5,D4))
AND(A5<=12,B5>=13)條件成立應該是B5-A5-1,但(B5-A5-1)還有可能小於D4,會參生條件不足的空窗.所以應在第一條件中刪除多餘條件
=IF(AND(A5<=12,B5>=13,(B5-A5-1)<D4),B5-A5-1,IF(B5-A5<D4,B5-A5,D4))

2007-02-17 05:57:37 · answer #2 · answered by 顯栓 7 · 0 0

 A  B           C                D
                                 15
09:00 18:00 = IF((B2-A2)*24-(A2<=12/24)*(B2>=13/24)*1>D1,D1,  =D1-C2
        (B2-A2)*24-(A2<=12/24)*(B2>=13/24)*1

※A、B欄格式為hh:mm,C、D欄為G/通用格式。

乘/除24是為了在時間與數值格式間互轉,如:
09:30*24=9.5 G/通用格式
9.5/24=09:30 hh:mm

以上應夠用了。欲知詳情,請參閱微軟技術支援服務。

2007-02-13 15:37:51 · answer #3 · answered by 過路人 1 · 0 0

----A欄----B欄------------------------C欄-----------------------------------------D欄
1-----起-----迄-------------------------小計----------------------------------------剩餘

2----9-------18------=IF(AND(A2<12,B2>13),B2-A2-1,B2-A2)------=15-C1
3----9-------12--------------(公式向下拉複製)---------------------------=IF(D2>0,D2-C3,0)
4---13------18--------------(公式向下拉複製)---------------------------(下拉複製)

公式解析:C2跟老年人兄大致相同,唯一不同的是12時與13時因為是午休,所以「起」不可能是12時,「迄」不可能是13時,只是稍做修改,不影響結果。假如「起」在12時以前,「迄」在13時以後,那麼「迄」「起」相減的結果要再扣1時的午休,否則其他情況下相減即可。

D3:如果前一個D還是正數,則目標D是前一個D扣目標C。而假如前一個D已經是0或負數了,則目標D一定為0,表示此表格已經玩完,今年特休剩餘結束。

註:可以將填入「時」部分的儲存格格式改「自訂」,類型輸入「###"時"」,如此只要輸入數字,單位會自動加入,但還是數字格式因此不影響計算

2007-02-14 08:54:53 補充:
C欄所設公式IF(AND(A2<=12,B2>=13),B2-A2-1,B2-A2)

其中的A<=12、B>=13,並不影響你能輸入A、B的值,只是若符合這條件的話,要多「減1」

例如,你12點請假,13點上班,但是其實這一小時本來就是午休時間,所以C欄請假小計欄會是(13-12)-1=0,其實根本用不到假

假如符合A小於12、B大於13的條件,表示請假是跨中午午休時間的,所以有一小時的假不用被扣

2007-02-12 18:43:07 · answer #4 · answered by 基哥 5 · 0 0

恩,
假如說 你要的答案是:
(C3 應該是九吧? 而不是八?)

___A___B___C___D___E
1__09__18___9___7
2__09__12___3___4
3__13__18___4___0

我會建議你在 E1, E2, E3 填入原休假時間(這次休假前剩餘的量)
如下

___A___B___C___D___E
1__09__18___9___7___15
2__09__12___3___4___7
3__13__18___4___0___4

C3 的公式 就可以是 =MIN(B3-A3,E3)
D3 的公式 就可以是 =MAX(E3-C3,0)

先解釋C, 用MIN 就等於算出你所填入的兩數最小值,
等於 (B3 減A3 ) 或 (E 3) 之間的最小值, 所以你怎麼用也不會用超過先前剩餘的時間

至於D, 你用MAX 可以算出填入數之間的最大值,
等於算出 零與剩餘的時數之間哪者最大,
你最少也只有零

希望這樣可以解決

2007-02-12 12:53:26 · answer #5 · answered by ~Ãú~ 5 · 0 0

fedest.com, questions and answers