[問題] 比較兩個日期大小

作者: mofeather (牛)   2019-05-14 11:01:16
(若是和其他不同軟體互動之問題 請記得一併填寫)
軟體: Office 365 excel
各位先進您好,因為工作上剛好需要比較兩個日期大小
如下列顯示方式
第一欄 第二欄
9/19/2018 9/7/2018
想要設定為若是第二欄小於等於第一欄,則顯示1否則顯示空白
公式為 IF(B2=<A2,1," ")
大部分欄位沒有問題,都可以正常顯示
但是就一兩個欄位有問題(如同上面9/17/2018比9/7/2018)
卻顯示空白
另外就是
第一欄 第二欄
11/7/2018 3/6/2019
照理說是顯示空白,但是卻顯示1
是否有哪種方式能改進
謝謝
作者: soyoso (我是耀宗)   2019-05-14 11:28:00
猜有可能是儲存格內並不都是日期序期值(數字),而是文字型態,1.先問所呈現的日期格式是否於儲存格格式內設定的m/d/yyyy。2.如果不是的話,看是否先從資料剖析來各別調整這二欄,欄位的資料格式以日期m/d/y,改為符合日期序列值,再從儲存格格式內改為m/d/yyyy方式呈現日期序列值(序"期"值)錯字修改
作者: mofeather (牛)   2019-05-14 11:39:00
謝謝,我試試看的確可行,感謝
作者: SIQ (SSQ)   2019-05-14 17:08:00
你所提範例1 都是2019 所以沒問題11/7/2018 3/6/2019 日期從1900/1/1起算 直接比 2019一定大你想比較 應是不管年份 只比月日吧DATEDIF 誰大誰小 欄位資料更改 會出一些問題可用DATE 年抓 TODAY 但同一年比較也可以 Month Day 加 and 串起來自己想 會獲得更多 加油回傳空白 "" 雙引號二個就可以 中間不用再一個空白多一空白 看不到 但日後若需文字串接又需函數查尋會出其他問題看顛倒 沒事 XD
作者: soyoso (我是耀宗)   2019-05-14 17:35:00
範例1,都是2019?明明是9/19/2018和9/7/2018都是2018。所以沒問題?內文就寫了一兩個欄位有問題(如同上面9/17/2018比9/7/2018),這是什麼意思,就是9/7/2018<=9/17/2018,原本想要回傳1(為真),但卻回傳" ",這有可能是什麼原因造成呢?二種情況1.二個儲存格都是文字型態,文字型態的比對是由左至右一個字元一個字元比對,一旦任一個字元比對為大時,就不會接下去比對了,那回來看為什麼會出現這情況,這是因為比對到第三個字元時"7"<="1"為假,所以才回傳為假的" "2.9/17/2018為日期序列值(數值),而9/7/2018為文字,文字是大於數字的,所以判斷文字<=數字為假回傳" "原po要比較的就是兩兩日期的比較,和上面回文寫應是不管年份,只比月日一點關係也沒有,只要是符合日期序列值的,就是可以數值來比較大小。
作者: SIQ (SSQ)   2019-05-14 17:40:00
試一下 9/7/2018直接打會當成文字 2018/9/7 後再改儲存格格式
作者: soyoso (我是耀宗)   2019-05-14 17:44:00
直接打了會當成文字,所以?問題不是打了會當成文字,而是要將文字型態的日期,改為符合日期序列值,總不會要原po每筆都重打2018/9/7後再改儲存格格式吧這也就是我回文要以資料剖析來調整,且原po也回覆的確可行
作者: SIQ (SSQ)   2019-05-14 17:46:00
經資料剖析後 重新 Date 組合 成真正日期再改儲存格格式
作者: soyoso (我是耀宗)   2019-05-14 17:47:00
嗯,這不就是我11:28~11:33回文提的嗎
作者: SIQ (SSQ)   2019-05-14 17:48:00
也可用公式 避免資料轉手別人不會處理 又出問題我想接著說另一方式 激烈運動完好累腦袋亂掉 晚點PO
作者: soyoso (我是耀宗)   2019-05-14 17:49:00
公式可以資料剖析也可以啦,我之所以要回那麼大一串就是要說明17:08~17:17的回文是不正確
作者: SIQ (SSQ)   2019-05-14 17:55:00
我有回 看顛倒 SORRY 造成誤會SOYOSO大說的沒錯 那時真的回錯

Links booklink

Contact Us: admin [ a t ] ucptt.com