利用Google电子表格公式动态获取经过的分钟数

时间:2018-07-23 09:00:16

标签: google-sheets

我用IFTTT创建了一个简单的小部件,当我单击它时会在Google Spreadsheet中记录日期和时间。

查看示例:enter image description here

我想做的是:在D3上创建一个公式,以便它以分钟为单位获取C2C3所花费的时间: 0:01

将公式放在C3中可得到:

=ADDRESS(ROW()-1,COLUMN() -1,4) = C2

=ADDRESS(ROW(),COLUMN() -1,4) = C3

意思是,如果我要做=C3-C2,我会得到0:01:00

但是,当我执行以下操作时: =(ADDRESS(ROW(),COLUMN() -1,4)-ADDRESS(ROW()-1,COLUMN() -1,4))(应该是C3-C2),我得到一个错误: Function MINUS parameter 1 expects number values. But 'C3' is a text and cannot be coerced to a number.

我尝试使用VALUE()来获取C3和C2的值,然后得到差值,但现在我有点迷失了。

您可能会注意到我对Google Spreadsheet公式的经验很少

TLDR; D3应该让我知道

之间的时差

(current column -1 )(current row)减去(current column -1)(current row -1)分钟

C3-C2

1 个答案:

答案 0 :(得分:1)

您需要使用TIMEVALUE(),它将“时间”字符串转换为时间值,并且还需要组合“日期”和“时间”值以获得准确的计算(否则它将都假定为同一日期)。

由于您需要手动输入单元格引用,因此您对ADDRESS()的使用是有意义的,但这仅返回单元格地址的String值。然后,您必须使用INDIRECT()来获取存储在该地址中的值。

=(INDIRECT(ADDRESS(ROW(),COLUMN()-2,4))+TIMEVALUE(INDIRECT(ADDRESS(ROW(),COLUMN()-1,4))))-(INDIRECT(ADDRESS(ROW()-1,COLUMN()-2,4))+TIMEVALUE(INDIRECT(ADDRESS(ROW()-1,COLUMN()-1,4))))

最后,请确保将单元格的格式设置为“持续时间”。

enter image description here