
Загальна формула
=LEFT(A1,LEN(A1)-2)/10^((MATCH(RIGHT(A1,2),("PB","TB","GB","MB","KB"),0)-3)*3)
Резюме
Щоб нормалізувати одиниці вимірювання до гігабайт (або мегабайти, кілобайти тощо), ви можете використовувати розумну формулу на основі функцій МАТЧ, ВЛІВО та ВПРАВО. У наведеному прикладі формула в С5 має вигляд:
=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 одиницею є "KB", отже, положення дорівнює 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)
За допомогою цієї формули ви технічно отримуєте Гібібайти (ГіБ), а не Гігабайти. Більше інформації тут і тут.