我有一个包含以下相关数据的电子表格:
| A | B | C |
--|------|------|-----|
1 | Time |Number|Const|
2 |01:00 | 100 | 5 |
3 |01:30 | | |
4 |02:00 | | |
在此设置中,第2行中的值是静态的。但是,需要通过获取相邻列的时间值并获取它们与A2之间的差来计算B列中的其余单元格。然后需要将分钟差与C2中的常数相乘以获得数字格式值。
马上行动,在B3中无法执行以下操作:
=A3 - $A$1 * $C$2
作为结果,我想要得到的是分钟数的半小时乘以5,这应该是150的30 * 5。
我认为这不是那么简单,因为我需要Calc的一种将时间值转换为可用值的方法。为此,我还尝试了以下公式:
=TIME(,A3-$A$1,)*$C$2
=TIME(,A3,)-TIME(,$A$1,)*$C$2
第一个给我502错误,所以我确定这不是正确的方法。第二个参数为0,与第一个没有TIME
公式的公式输出的方式大致相同。
我也尝试使用TIMEVALUE
公式,但是使用该公式引用任何时间格式的单元格只会给我一个NAME
错误。
我还可以尝试其他什么方法?
答案 0 :(得分:1)
如果您将A列中的值识别为时间,那么对于LibreOffice来说很容易。
如果我在一个单元格中输入01:00
,它会将其识别为时间,并将其更改为01:00:00
如果您需要完全按照01:00
进行格式化,则可以右键单击该单元格并选择适当的格式。在这种情况下,单元格看起来像01:00
,但是如果单击它,则值栏会显示01:00:00
然后可以使用这些时间值进行数学运算。
因此=A3-A2
的计算方式为00:30:00
您几乎可以使用MINUTE()
函数,但不要使用。如果您所有的时间间隔都少于1小时,那么MINUTE()
会起作用。位,如果间隔大于一个小时,则MINUTE()
仅给出其分钟部分(因此,如果间隔达到01:30
,则MINUTE()
将给您30
这不是您想要的)。
实际上,您实际上使用的是日期存储方式。 LibreOffice似乎以与Microsoft相同的方式存储日期。这是一个浮点数。整数部分是天,浮点部分是一天的分数。
因此,如果您右键单击具有时间值00:30
的单元格,然后选择格式/数字/常规,它将呈现0.208333
。您可以将其乘以1440
(即24*60
)将其转换为分钟,即将一天的一部分转换为分钟数,即使间隔大于1小时也可以使用。 / p>
因此B3
中的公式变为:
=B2 + ((A3-A2)*1440)*$C$2
您可以向下复制此公式-$C$2
格式表示它继续引用C2
单元格。省略$
使其相对,因此,如果将其复制并粘贴到B4
中,LibreOffice会将其更改为
=B3+((A4-A3)*1440)*$C$2