Excel: Dynamic formula for change unit size in KB,

2019-08-28 16:22发布

How to correct the formula to be dynamic for all units KB, MB, GB, TB, etc ... It works perfectly for MB and GB but does not work for other units. my formula is:

{=IF(SUM(IF(ISNUMBER(VALUE(LEFT(A1:A10,LEN(A1:A10)-3))+0),VALUE(LEFT(A1:A10,LEN(A1:A10)-3))+0))>=1000,TEXT(SUM(IF(ISNUMBER(VALUE(LEFT(A1:A10,LEN(A1:A10)-3))+0),VALUE(LEFT(A1:A10,LEN(A1:A10)-3))+0))/1024,"0.00")&" GB",TEXT(SUM(IF(ISNUMBER(VALUE(LEFT(A1:A10,LEN(A1:A10)-3))+0),VALUE(LEFT(A1:A10,LEN(A1:A10)-3))+0)),"0.00")&" MB")}

Excel Formula DEMO

2条回答
兄弟一词,经得起流年.
2楼-- · 2019-08-28 17:14

USE:

=ROUND(SUMPRODUCT(LEFT(A1:A4,FIND(" ",A1:A4)-1)*10^(MATCH(RIGHT(A1:A4,2),{"KB","MB","GB","TB"},0)*3))/(10^(INT((LEN(SUMPRODUCT(LEFT(A1:A4,FIND(" ",A1:A4)-1)*10^(MATCH(RIGHT(A1:A4,2),{"KB","MB","GB","TB"},0)*3)))-1)/3)*3)),2) & " " & INDEX({"KB","MB","GB","TB"},INT((LEN(SUMPRODUCT(LEFT(A1:A4,FIND(" ",A1:A4)-1)*10^(MATCH(RIGHT(A1:A4,2),{"KB","MB","GB","TB"},0)*3)))-1)/3))

![enter image description here

查看更多
我只想做你的唯一
3楼-- · 2019-08-28 17:15

I did it like this and it's working fine for me.

{=TEXT(SUM(NUMBERVALUE(LEFT(A1:A4,FIND(" ",A1:A4,1)-1))*IF(RIGHT(A1:A4,2)="KB",1/1000000,IF(RIGHT(A1:A4,2)="MB",1/1000,IF(RIGHT(A1:A4,2)="GB",1,IF(RIGHT(A1:A4,2)="TB",1000,IF(RIGHT(A1:A4,2)="PB",1000000,0)))))),"0,00") & " GB"}
查看更多
登录 后发表回答