
Общая формула
=LEFT(A1,LEN(A1)-2)/10^((MATCH(RIGHT(A1,2),("PB","TB","GB","MB","KB"),0)-3)*3)
Резюме
Чтобы нормализовать единицы измерения в гигабайты (или мегабайты, килобайты и т. Д.), Вы можете использовать умную формулу, основанную на функциях ПОИСКПОЗ, ВЛЕВО и ВПРАВО. В показанном примере формула C5 имеет следующий вид:
=LEFT(B5,LEN(B5)-2)/10^((MATCH(RIGHT(B5,2),("PB","TB","GB","MB","KB"),0)-3)*3)
Примечание: для простоты мы используем десятичные значения (с основанием 10), но есть и двоичный стандарт. См. ниже.
Объяснение
Важно: эта формула предполагает, что единицы измерения - это последние 2 символа строки, которая включает как число, так и единицу измерения.
Эта формула работает, потому что цифровые единицы имеют отношение «степень 10».
По сути, эта формула отделяет числовую часть размера от единицы измерения, а затем делит число на соответствующий делитель для нормализации до гигабайт. Делитель рассчитывается как степень 10, поэтому формула сводится к следующему:
=number/10^power
Чтобы получить число, формула извлекает все символы слева вверх, но не включая единицы:
LEFT(B5,LEN(B5)-2)
Чтобы получить "мощность", формула соответствует единице в жестко заданной константе массива:
MATCH(RIGHT(B5,2),("PB","TB","GB","MB","KB"),0)
Возвращает позицию единицы в константе массива. Например, для формулы в C5 единицей измерения является «КБ», поэтому позиция равна 5. Этот результат корректируется путем вычитания 3, а затем умножения результата на 3, что дает 6 в качестве степени, которая используется как показатель степени. чтобы вычислить правильный результат в гигабайтах:
=900/10^6 =900/1000000 =0.0009
Бинарная стандартная формула
Компьютеры используют двоичную систему счисления для хранения и представления данных о размере, но такие префиксы, как «кило», «мега», «гига» и т. Д., Основаны на метрической системе. Это сбивающая с толку тема, но использование десятичных единиц для хранения на компьютере не совсем корректно, и расхождение увеличивается по мере увеличения единиц. Приведенная ниже формула нормализуется до двоичных единиц.
=LEFT(A1,LEN(A1)-2)/2^((MATCH(RIGHT(A1,2),("PB","TB","GB","MB","KB"),0)-3)*10)
С помощью этой формулы вы технически получаете гибибайты (ГиБ), а не гигабайты. Больше информации здесь и здесь.