excel - 如何在 Excel 公式中将 Jira 耗时格式转换为分钟?

标签 excel excel-formula jira time-format elapsedtime

我收到了一个 Excel 电子表格,其中包含“花费的时间”列,其中包含标准 Jira 时间跟踪格式的值,分为天、小时和分钟:

Time Spent (Jira format)
------------------------
1d 7h 30m
30m
20d 5m

它无法重新生成 - 它来自某个特定的时间点,并且人物已经移动。我需要将这些时间转换为分钟数 - 例如上面的结果应该是:

Time Spent (minutes)
--------------------
1890
30
28805

这一切都需要在 Excel 中进行,理想情况下仅使用适用于所有此类时间跨度的公式 - 如果可能的话,宁愿避免使用 VBA。

最佳答案

将其分解为步骤。
多少天?如果它包含“d”,那么我们需要“d”左侧的字符:(乘以 24 表示小时或乘以 1440 表示分钟)

IF(ISERROR(FIND("d",A1)),0,LEFT(A1,FIND("d",A1)-1))

多少小时?好吧,如果它包含“h”,那么我们想要“h”左边的数字。如果我们捕获左边的 2 个字符,那将是一个 2 位数字,或者一个空格和一个 1 位数字。然后我们可以使用 TRIM 去除多余的空格:(再次乘以 60 分钟)

IF(ISERROR(FIND("h",A1)),0,TRIM(MID(A1,FIND("h",A1)-2,2)))

多少分钟?这与 Hours 基本相同,但查找的是“m”而不是“h” - 并且也不需要转换它。

IF(ISERROR(FIND("m",A1)),0,TRIM(MID(A1,FIND("m",A1)-2,2)))

将所有内容放在一起,这次包括对分钟的转换:

=IF(ISERROR(FIND("d",A1)),0,1440*LEFT(A1,FIND("d",A1)-1))+IF(ISERROR(FIND("h",A1)),0,60*TRIM(MID(A1,FIND("h",A1)-2,2)))+IF(ISERROR(FIND("m",A1)),0,TRIM(MID(A1,FIND("m",A1)-2,2)))

{EDIT} 更新了字符串以单位数分钟/小时开头的代码:

=IF(ISERROR(FIND("d",A1)),0,1440*LEFT(A1,FIND("d",A1)-1))+IF(ISERROR(FIND("h",A1)),0,60*TRIM(MID(" "&A1,FIND("h",A1)-1,2)))+IF(ISERROR(FIND("m",A1)),0,TRIM(MID(" "&A1,FIND("m",A1)-1,2)))

关于excel - 如何在 Excel 公式中将 Jira 耗时格式转换为分钟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49895538/

相关文章:

python - 使用另一个文件中的函数通过 xlsx 写入 Excel

excel - 计算列中的连续数字

jira - 查找曾经分配给我的问题

jira - 查询/过滤器以从事件父项 (EPIC) 列表中返回子问题

vba - 如何忽略 VBA 中的返回值?

excel - 如何在Excel中总结类别

VBA Excel代码,excel.exe不会关闭

vba - 范围适用于公式,但不适用于自定义函数

excel - 如何在没有VBA或宏的情况下在Excel中循环?

连接到 JIRA 时,Bitbucket 问题部分无用?