Excel檔案顯示月/日/年,如果想要格子相減算出天數,都會跳出錯誤,請問要如何讓公式算出天數?

Attachment image

1 個解答

評分
  • 匿名
    1 月前
    最愛解答

    你的系統地區格式可能不是用「月/日/年」,

    Excel在辨識不出日期的情況下會一律當作文字處理

    硬是輸入 =F6-G6 的話會顯示#VALUE!錯誤,因為文字不能做加減乘除

    要對「月/日/年」格式的日期文字做加減的話,有幾個方式

    1.改系統地區格式

    Excel的日期判斷是根據系統的地區格式設定

    把系統的地區格式改成「英文(美國)」,Excel就會按照「月日年」的順序判斷日期

    (若是用Windows系統的話,按Win鍵+R,輸入intl.cpl可以快速叫出"地區與語言"設定)

    改好後,Excel就會自動辨識「月日年」格式的日期,

    直接輸入 =F6-G6 或 =VALUE(F6)-VALUE(G6) 之類都有效,儲存格格式記得設成通用或數值,會顯示31

    但要注意這個會影響到該台電腦上Excel打開的全部檔案,

    如果真的很常用到「月/日/年」格式,那可以考慮修改系統的地區格式。

    2.改公式

    如果希望維持原本的地區格式設定不改,又要用「月/日/年」格式做加減的話,

    就要從日期字串分別抓出月、日、年的數字,再用DATE取得日期值。

    前提是日期必須是文字,如果是數值的話會有錯誤。

    若日期字串都是固定「2位數字/2位數字/4位數字」的話,可以用下列公式:

    =DATE(RIGHT(F6,4),LEFT(F6,2),MID(F6,FIND("/",F6,1)+1,2))

    -DATE(RIGHT(G6,4),LEFT(G6,2),MID(G6,FIND("/",G6,1)+1,2))

    若有日期文字不太固定的情況,例如 07/05/2020、07/5/2020、7/05/2020之類,則公式需改成如下:

    =

    DATE(

        MID(F6,FIND("/",F6,FIND("/",F6,1)+1)+1,4),

        MID(F6,1,FIND("/",F6,1)-1),

        MID(F6,FIND("/",F6,1)+1,(FIND("/",F6,FIND("/",F6,1)+1))-(FIND("/",F6,1)+1))

    )

    以上可以得到F6的日期值

    把F6替換成G6可以得到G6的日期值

    兩個相減就行了...

    Attachment image
還有問題嗎?立即提問即可得到解答。