
Fórmula genérica
=LEFT(A1,LEN(A1)-2)/10^((MATCH(RIGHT(A1,2),("PB","TB","GB","MB","KB"),0)-3)*3)
Resumo
Para normalizar unidades em Gigabytes (ou megabytes, kilobytes, etc.), você pode usar uma fórmula inteligente com base nas funções MATCH, LEFT e RIGHT. No exemplo mostrado, a fórmula em C5 é:
=LEFT(B5,LEN(B5)-2)/10^((MATCH(RIGHT(B5,2),("PB","TB","GB","MB","KB"),0)-3)*3)
Observação: para simplificar, estamos usando valores decimais (base 10), mas também existe um padrão binário. Ver abaixo.
Explicação
Importante: esta fórmula assume que as unidades são os últimos 2 caracteres da string que inclui um número e uma unidade de medida.
Essa fórmula funciona porque as unidades digitais têm uma relação de "potência de 10".
No núcleo, essa fórmula separa a parte do número do tamanho da unidade e, em seguida, divide o número pelo divisor apropriado para normalizar em Gigabytes. O divisor é calculado como uma potência de 10, portanto, a fórmula se reduz a isto:
=number/10^power
Para obter o número, a fórmula extrai todos os caracteres da esquerda até, mas não inclui as unidades:
LEFT(B5,LEN(B5)-2)
Para obter "potência", a fórmula corresponde na unidade em uma constante de matriz embutida em código:
MATCH(RIGHT(B5,2),("PB","TB","GB","MB","KB"),0)
O que retorna a posição da unidade na constante da matriz. Por exemplo, para a fórmula em C5, a unidade é "KB", então a posição é 5. Esse resultado é ajustado subtraindo 3 e multiplicando o resultado por 3, o que produz 6 como a potência, que é usada como o expoente para calcular o resultado correto em gigabytes:
=900/10^6 =900/1000000 =0.0009
Fórmula binária padrão
Os computadores usam o sistema numérico binário para armazenar e relatar o tamanho dos dados, mas os prefixos como "quilo", "mega", "giga", etc. são baseados no sistema métrico. É um tópico confuso, mas usar unidades de tamanho decimal para armazenamento em um computador não é realmente correto, e a discrepância aumenta conforme as unidades ficam maiores. A fórmula abaixo normalizará em unidades binárias.
=LEFT(A1,LEN(A1)-2)/2^((MATCH(RIGHT(A1,2),("PB","TB","GB","MB","KB"),0)-3)*10)
Com esta fórmula, você está tecnicamente obtendo Gibibytes (GiB), não Gigabytes. Mais informações aqui e aqui.