Excel 使用不同单位(KB、MB、GB)表示的值进行计算

Excel 使用不同单位(KB、MB、GB)表示的值进行计算,excel,excel-formula,excel-2013,array-formulas,Excel,Excel Formula,Excel 2013,Array Formulas,我正在寻找一个简单的方法在Excel中计算不同的单位值。我在KB、MB和GB中有几个值的列表,我想在GB中获得计算输出 以下是列表中的一部分: 66.0 MB 570 KB 1.10 GB 2.21 KB 输出:???国标 所有值都在同一行(C)中,值后面有B/KB/MB/GB。假设列表在A1到A4范围内 {=SUM(VALUE(LEFT(A1:A4,FIND(" ",A1:A4)))*IF(RIGHT(A1:A4,2)="MB",1/1000,IF(RIGHT(A1:A4,2)="KB",1

我正在寻找一个简单的方法在Excel中计算不同的单位值。我在
KB
MB
GB
中有几个值的列表,我想在
GB
中获得计算输出

以下是列表中的一部分:

66.0 MB
570 KB
1.10 GB
2.21 KB
输出:???国标


所有值都在同一行(C)中,值后面有B/KB/MB/GB。

假设列表在A1到A4范围内

{=SUM(VALUE(LEFT(A1:A4,FIND(" ",A1:A4)))*IF(RIGHT(A1:A4,2)="MB",1/1000,IF(RIGHT(A1:A4,2)="KB",1/1000000,1)))}

文本到以空格作为分隔符的列,并且:

=SUMIF(B:B,"GB",A:A)+SUMIF(B:B,"MB",A:A)/1000+SUMIF(B:B,"KB",A:A)/1000000

可能适合。

您可以通过以下方式使用10倍的优雅技巧:

如果您在Mac上使用Excel,则需要将“;”替换为“;”(感谢@pokkie):


您还必须搜索任何值,如
1.2GB
,并将其替换为
1,2GB

是单独列中的单位还是相同的?@xQbert这些单位在同一列中:-)如有必要,我可以更改它。@Bartdude我在Excel中没有编程经验,因此这里的问题是:-)对不起,伙计们,带截止日期的excel noob:P显示了一个与格式相关的类似问题。@pnuts>感谢您指出这一点。这就是说,显然OP在这个具体案例中没有表现出任何努力也是可以接受的。事实上,任何其他编程语言中的同一类问题都会很快被解决……对于GB/MB/KB之间的正确转换,它应该是1024而不是1000,应该是1024/1024而不是1000000。此外,我的Excel需要“;”作为参数分隔符(对于其他Excel版本可能不同),因此它取决于所使用的定义。不知道,一直认为GB/MB/KB的转换是基于2到n次方的。在另一列中设置了值类型并为字节设置了另一个sumif后,工作非常顺利,谢谢!:-)在为字节创建额外的(IF)后,工作非常有魅力。谢谢我发现你的答案是最一般和优雅的!
=LEFT(A1,LEN(A1)-2)/10^((MATCH(RIGHT(A1,2),{"PB","TB","GB","MB","KB"},0)-3)*3)
=LEFT(A1;LEN(A1)-2)/10^((MATCH(RIGHT(A1;2);{"PB";"TB";"GB";"MB";"KB"};0)-3)*3)