[问题] 比较两个日期大小

楼主: 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