如何在计算中使用作为具有不同单位前缀的文本的数字

问题描述 投票:1回答:2

我在电子表格中有数据描述通过移动网络传输的数据量:一列(超过300行)中的数据有三种可能的形式:

123,45KB  
123,45MB  
1,23GB  

如何正确转换或使用此数据以对数字求和或进行其他计算?

if-statement formula libreoffice-calc
2个回答
1
投票

假设您的数据位于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
投票

替代公式:

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

使用数组中倒数第二个字符的位置来确定因子。

© www.soinside.com 2019 - 2024. All rights reserved.