Libreoffice Calc:如何在计算中使用不同单位前缀的文本形式

问题描述:

我在电子表格中有描述通过移动网络传输的数据量的数据:一列(超过300行)中的数据有三种可能的形式: - 123,45KB - 123,45MB - 1,23GBLibreoffice Calc:如何在计算中使用不同单位前缀的文本形式

我该如何转换或使用这些数据才能对数字进行求和或做其他计算?

+0

我相信你误解了这个问题。如果您已经在工作表的单元格中具有“123,45KB”,“123,45MB”,“1,23GB”的数据,则该数据是文本而不是数字。所以“为了总结或做其他计算”**数字**格式不能帮助。相反,首先需要将文本数据转换为数字数据。 –

+0

你说得对。我假设我需要以某种方式将单元格格式化为数字,以便进行计算,但最终目标 - 通过不同方法可以实现 - 将从数据中进行求和(或其他计算)。我编辑了问题和标题。 –

假设你的数据是在A柱和总有两个字符为单元(“KB”,“MB”或“GB”)在端部,则该公式用于将数据以数字可以是:

=--LEFT(A2;LEN(A2)-2)*10^(IF(RIGHT(A2;2)="KB";3;IF(RIGHT(A2;2)="MB";6;IF(RIGHT(A2;2)="GB";9)))) 

结果:

enter image description here

将式中B2,并根据需要向下继续进行。

我怀疑你的语言环境中的小数点分隔符是逗号。如果不是,请说明它是什么。

此外,由于这个网站是英文的,我使用了英文函数名称。也许你需要将它们翻译成你的语言版本。

如果您的语言环境中的小数点分隔符是而不是逗号,那么您需要用小数点分隔符替换逗号以获取正确的数字小数值。

例如,如果小数定界符是点,则:

=SUBSTITUTE(LEFT(A2,LEN(A2)-2),",",".")*10^(IF(RIGHT(A2,2)="KB",3,IF(RIGHT(A2,2)="MB",6,IF(RIGHT(A2,2)="GB",9)))) 
+0

谢谢@AxelRichter,但它不起作用。它给了我#VALUE!错误。如果我一步一步来:'= LEFT(A2,LEN(A2)-2)'产生一个有效的结果,但是当我给它添加一个'* 10'时,它会抛出一个错误。这是否意味着LEFT产生的东西不是一个数字(还)? –

+0

@Nova deViator:据说,我怀疑你的语言环境中的小数点分隔符是逗号。如果您的语言环境中的小数定界符不是逗号,那么您需要用小数点分隔符替换逗号。看我的补充。 –

+0

下面是截图:https://imagebin.ca/v/3TSBoQjdXmH8 –

一种替代式:

=LEFT(A1,LEN(A1)-2)*10^(3*MATCH(RIGHT(LEFT(A1,LEN(A1)-1)),{"K","M","G"},0)) 

使用在阵列中的下一个到最后一个字符的位置,以确定该因子。