google-sheets - 如何在 Google 表格中将数字格式化为人类可读的小时和分钟?
问题描述
我想将数字(A 列:十进制形式的小时数)转换为人类可读的格式,只有分钟和小时间隔 15 分钟,理想情况下仅在以下情况下显示“分钟”和“小时”该值大于 0。
我尝试过应用与此类似的方法,但我不是从时间数据开始(只是数字)。
解决方案
这里有几个选项:
- 降到 15 分钟:
=IFERROR(1/INT(A1)^-1&" hour(s) ")
&IFERROR(1/(MOD(INT(4*A1)/4*60,60))^-1&" minute(s)")
- 四舍五入到 15 分钟:
=IFERROR(1/INT(ROUND(4*A1)/4)^-1&" hour(s) ")
&IFERROR(1/(MOD(ROUND(4*A1)/4*60,60))^-1&" minute(s)")
小时数 | 落地至 15 分钟 | 四舍五入到 15 分钟 |
---|---|---|
0.25 | 15分钟) | 15分钟) |
4.5 | 4 小时 30 分钟 | 4 小时 30 分钟 |
3 | 3小时) | 3小时) |
0.49 | 15分钟) | 30分钟) |
3.14 | 3小时) | 3 小时 15 分钟 |
3.99 | 3 小时 45 分钟 | 4个小时) |
笔记:
- 这
IFERROR(1/x^-1)
是检查非零值。如果为 0,则会导致除以 0 错误,该错误被 捕获IFERROR
,然后输出一个空白值。这样我就不必在IF
函数中重复使用计算。 - 可以通过 实现四舍五入到最接近的“1/x”
ROUND(x*value)/x
。在这种情况下,它是最近的四分之一,因此是 1/4。
推荐阅读
- machine-learning - 为什么一个只存在于给定类中的特征没有被强烈地预测到该类中,有什么原因吗?
- git - 直接在gitlab服务器上修改git仓库
- javafx - 跨嵌入式场景 JavaFX 的 TextField textProperty 侦听器
- nginx - Nginx添加新站点的子域无效
- vuejs2 - Laravel API 调用在生产中失败
- liquibase - Payara DataSource 没有被注入
- web-scraping - XPATH如何通过选择类来获取attr
- python - cmd.stdin.flush() IOError: [Errno 22] 无效参数
- c++ - 尝试从“C++ Concurrency in Action”(第 133 页)一书中用原子理解代码示例
- node.js - 使用 glob.sync() 忽略包含给定子字符串的文件