返回列表 上一主題 發帖

困擾的 EXCEL ( IF)

困擾的 EXCEL ( IF)

上班        下班
8        21

=IF(((Q2-P2)>8),8,
IF(Q2=0,0,
IF(P2=0,0,
IF((AND(P2<12,Q2>12)),(SUM(Q2-P2-1)),(SUM(Q2-P2))))))

假設
下班-上班  大於8  就用8計算
如果任何一格等於0 用0計算
如果上班小於12下班大於12 則下班-上班再減1
都不是的話則下班-上班

上面的計算結果 這樣正確嘛!?
Cyssuc

回復 11# Cyssuc

你的資料是文字格式,當然會錯誤

公式修改如下

早上 8~12,下午 13~17

= 早上時數 + 下午時數
= MAX(0,MIN(12,Q2*1)-MAX(8,P2*1)) + MAX(0,MIN(17,Q2*1)-MAX(13,P2*1))

或直接用來源
= MAX(0,MIN(12/24,G2)-MAX(8/24,E2)) + MAX(0,MIN(17/24,G2)-MAX(13/24,E2))
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 11# Cyssuc
首先, 用來做計算的式子元素,不建議文字而最好是給數值,
建議你採用 =IF(TIME(16,0,0)<G96,17,...而非 =IF(TIME(16,0,0)<G96,"17",...
因為系統將文字自動轉換成數值的動作有可能因為浮點精度而產生誤差.

其次觀察你給的公式 :
Q96的式子 從 18.5 直接跳 17, 13.5 直接跳 12  確實是你想要的結果嗎?
還是打錯了?
若是等距計算可以用 =IF(G96<TIME(8,30,0),0,HOUR(G96)+IF(MINUTE(G96)<30,0.5,1)) 來完成.
若該式無誤則可改用:
=IF(OR(G96>=TIME(18,30,0),G96<TIME(16,30,0)),HOUR(G96)+IF(MINUTE(G96)<30,0.5,1),IF(G96>=TIME(17,20,0),17,16.5))
試試看.

TOP

回復 10# luhpro


    我已經 好氣餒~~  哈哈

感謝提醒  單純KEY 數字 是對的

01.png (88.01 KB)

01.png

02.png (110.44 KB)

02.png

03.png (102.33 KB)

03.png

Cyssuc

TOP

本帖最後由 luhpro 於 2014-9-9 22:21 編輯
回復  luhpro
    8        14.5
答案應該等於14.5-8-1
故等於5.5
問題是 按上方列表計算答案是6.5   所 ...
Cyssuc 發表於 2014-9-9 08:18

咦?
我的電腦算出來是對的耶...


回復  ML089
    我想哭的原因。。。。
Cyssuc 發表於 2014-9-9 17:00

話說表面上看不出來問題點,
是否你可以把 P50 與 Q 50 的公式也秀出來看看.
還有你可以測測看將 P50 與 Q50 兩個儲存格都先刪除值,
再將格式改為 "G/通用格式",
最後分別打上 13 與 17 兩個整數數值覆蓋上去看看是否 O50 的結果會變正常..

TOP

回復 8# Cyssuc

可能需要按F9重新計算

不然將部分資料檔案上傳,我幫你看看問題在哪裡
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 7# ML089


   
    我想哭的原因。。。。

0000.png (47.65 KB)

我想哭的原因。。。。

0000.png

Cyssuc

TOP

回復 3# Cyssuc

    8        14.5
答案應該等於14.5-8-1
故等於5.5

{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 5# Cyssuc

這樣哪裡有錯?
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 4# ML089


    如果早上8點
中午12點下班

兩個公式 貌似都會錯誤

麻煩了
Cyssuc

TOP

        靜思自在 : 原諒別人就是善待自己。
返回列表 上一主題