有条件地从时间中删除尾随零
Conditional removal of trailing zero's from time
我只想删除 excel 中时间的尾随零。即 0700 应显示为 07,但 1630 应保持为 1630。
我已经能够在 UDF 中执行此操作,但它开始减慢我的 sheet 速度。有什么方法可以将其作为内置函数实现吗?
按要求回答:
=IF(RIGHT(TEXT(A1,"hhmm"),2="00",
左(文本(A1,"hh"),2),
文本(A1,"hhmm"))
必须使用 TEXT 将时间标识为字符串,否则 excel 会将其视为小数。
虽然这个问题已经得到解答,但其他方法可能包括:
=TEXT(A1,IF(MOD(A1*24,1),"hhmm","hh"))
或:
=TEXT(A1,IF(OR(MINUTE(A1),SECOND(A1)),"hhmm","hh"))
在这两种情况下,return 值都是一个字符串(该值不再在内部表示为数字)。
我只想删除 excel 中时间的尾随零。即 0700 应显示为 07,但 1630 应保持为 1630。
我已经能够在 UDF 中执行此操作,但它开始减慢我的 sheet 速度。有什么方法可以将其作为内置函数实现吗?
按要求回答:
=IF(RIGHT(TEXT(A1,"hhmm"),2="00", 左(文本(A1,"hh"),2), 文本(A1,"hhmm"))
必须使用 TEXT 将时间标识为字符串,否则 excel 会将其视为小数。
虽然这个问题已经得到解答,但其他方法可能包括:
=TEXT(A1,IF(MOD(A1*24,1),"hhmm","hh"))
或:
=TEXT(A1,IF(OR(MINUTE(A1),SECOND(A1)),"hhmm","hh"))
在这两种情况下,return 值都是一个字符串(该值不再在内部表示为数字)。