5

如何在 Excel 中对日期和时间使用自定义数字格式的条件运算符?

如果我有一列数字,我可以使用自定义数字格式来显示单数或复数单词。

右键单击单元格>格式化单元格...>数字>类别:自定义>类型:

[=1]# "item";# "items"

> 好的

对于包含 1 的单元格,自定义数字格式显示“1 项”。

对于包含 7 的单元格,自定义数字格式显示“7 个项目”。

同样,我想对时间做同样的事情。

如果我有一列时间,比如00:01:00、00:20:00、00:25:00等,我想显示“1分钟”、“20分钟”、“25分钟”,等等

我第一次尝试[=1][m] "minute";[m] "minutes",但事实证明 1 表示 24 小时或 1 天。

1分钟的值是

1 / 24 / 60 = 1 / 1440 = 0.0006944444444444444444444444...

我尝试输入分数,但[=1/1440]in[=1/1440][m] "minute";[m] "minutes"变成[=1].

不幸的是,我试过[=0.000694444444444444][m] "minute";[m] "minutes"了,但这不起作用。

以下有效,但我想使用精确的分钟值。

[<=0.000694444444444445][m] "minute";[m] "minutes"

有1分钟有效的格式吗?


以下是有关自定义数字格式的文档:

4

1 回答 1

4

有趣的问题。乍一看,尝试这种分数格式:

[=0 1/1440][m] "minute";[m] "minutes"

似乎工作。但是,输入它后,您会看到它显示的小数点与帖子中的小数点相同。这对于当前会话来说是可以的,但是保存文件并重新打开会再次恢复到原来的问题。

问题是数字格式的值被四舍五入到 15 位精度,而需要 17 位来精确指定内部浮点数。看到这一点的一种方法是从即时窗口尝试这个 17 位精度测试:

?[0 1/1440]=0.00069444444444444444

这会返回True,但会删除最后两个 4,因此只有 15 位精确返回False

鉴于这些观察,我认为唯一可靠的方法是输入包含相当于一分钟的十进制值的 15 位间隔。这可以使用以下数字格式来完成:

[>0.000694444444444445][m] "minutes";[>0.000694444444444444][m] "minute";[m] "minutes"

(或者如果包含秒数,则第一个值可以替换为 2 分钟值,即 0.001388888888888888)

另一种方法是使用可能更简单的条件格式。首先将默认数字格式[m] "minutes"应用于单元格。然后从功能区中选择条件格式 > 新规则 > 使用公式... 选项:公式...:=MINUTE(A1)=1NumberFormat:[m] "minute"

于 2013-08-10T12:39:29.967 回答