{Excel}如何计算有年月日和“上午”“下午”字符的日期时间差?

【格式】General
【Excel中的字符】2022-5-8 下午3:18
如何计算出,B2-A2,然后显示出2个日期之间的时间差?以便看出2个日期之间,相隔了多少小时和多少分钟。

img

还望大家指教,非常感谢!

参考一下https://blog.csdn.net/weixin_39773337/article/details/113871151?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165269164316781435485650%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165269164316781435485650&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-113871151-null-null.142^v9^control,157^v4^control&utm_term=python+%E8%AE%A1%E7%AE%97%E6%97%B6%E9%97%B4%E5%B7%AE&spm=1018.2226.3001.4187

如果先把 A2 B2 设置成日期格式,那么它们的差24 就是小时数,再60就是分钟数

=(B2-A2)*24
=(B2-A2)*24*60

第一个公式的结果是浮点数,小数部分*60就是分钟数。
第二个公式是差值的总的分钟数

A2 B2 是常规格式,因为有中文字所以实际上它就是文本型数据
经测试,用以下公式可以转换:

=(VALUE((LEFT(B2,FIND("午",B2)-2)))+VALUE(RIGHT(B2,LEN(B2)-FIND("午",B2)))+IF(ISERROR(FIND("下",B2)),0,0.5)-(VALUE((LEFT(A2,FIND("午",A2)-2)))+VALUE(RIGHT(A2,LEN(A2)-FIND("午",A2)))+IF(ISERROR(FIND("下",A2)),0,0.5)))*24

结果是小数,也就是 几点几几几小时,那么它的整数部分就是小时数,小数部分*60小就分钟数。