如何计算具有不同单位的列中的值的总和?

时间:2015-12-15 08:00:08

标签: spreadsheet libreoffice-calc

Date            From            To              Upload      Download    Total
03/12/15        00:53:52        01:53:52        407 KB      4.55 MB     4.94 MB
                01:53:51        02:53:51        68.33 MB    1.60 GB     1.66 GB
                02:53:51        03:53:51        95.39 MB    2.01 GB     2.10 GB
                03:53:50        04:53:50        0 KB        208 KB      209 KB
                04:53:50        05:53:50        0 KB        10 KB       11 KB
                05:53:49        06:53:49        0 KB        7 KB        7 KB
                06:53:49        07:53:49        370 KB      756 KB      1.10 MB
                07:53:48        08:53:48        2.69 MB     64.05 MB    66.74 MB

我在电子表格中有这些数据。最后一列包含一小时内的总数据使用情况。我想在GB中添加一天中使用的所有数据。您可以看到的总数据使用情况各不相同。它有KB,MB和GB。我怎么做的是LibreOffice Calc。

1 个答案:

答案 0 :(得分:0)

将所有总计转换为千字节,然后将千字节列相加似乎是最简单的方法。

假设您的“总计”列是列F,并且此列中的条目是文本(而不是格式化为末尾具有不同字节大小指示符的数字),此公式将GB转换为KB:

=IF(RIGHT(F2,2)="GB",1048576*VALUE(LEFT(F2,LEN(F2)-3)),"Not a GB entry")

IF函数采用参数IF(Test is True, Then Do This, Else Do That)。在这种情况下,我们告诉Calc:

  • 如果此字符串中的右侧两个字符为“GB”
  • 然后将左侧字符减去3,将字符串转换为VALUE的数字,然后乘以1,045,576
  • ELSE提供错误消息

您想要处理GB,MB和KB,这需要嵌套的IF语句,如下所示:

=IF(RIGHT(F2,2)="GB",1048576*VALUE(LEFT(F2,LEN(F2)-3)),IF(RIGHT(F2,2)="MB",1024*VALUE(LEFT(F2,LEN(F2)-3)),IF(RIGHT(F2,2)="KB",VALUE(LEFT(F2,LEN(F2)-3)),"No byte size given")))

复制并粘贴公式,无论列长多少。然后对计算出的KB值进行SUM。