Excel formülü: Boyut birimlerini Gigabayt olarak normalleştirme -

İçindekiler

Genel formül

=LEFT(A1,LEN(A1)-2)/10^((MATCH(RIGHT(A1,2),("PB","TB","GB","MB","KB"),0)-3)*3)

Özet

Birimleri Gigabaytlara (veya megabaytlara, kilobaytlara, vb.) Normalleştirmek için MATCH, LEFT ve RIGHT işlevlerine dayalı akıllı bir formül kullanabilirsiniz. Gösterilen örnekte, C5'teki formül şöyledir:

=LEFT(B5,LEN(B5)-2)/10^((MATCH(RIGHT(B5,2),("PB","TB","GB","MB","KB"),0)-3)*3)

Not: Basit olması için ondalık (10 tabanında) değerler kullanıyoruz, ancak aynı zamanda ikili bir standart da var. Aşağıya bakınız.

Açıklama

Önemli: Bu formül, birimlerin hem bir sayı hem de ölçü birimi içeren dizenin son 2 karakteri olduğunu varsayar.

Bu formül işe yarıyor çünkü dijital birimlerin "10 gücü" ilişkisi var.

Çekirdekte, bu formül boyutun sayı bölümünü birimden ayırır, ardından sayıyı uygun bölenle böler ve Gigabaytlara normalize eder. Bölen, 10'un kuvveti olarak hesaplanır, dolayısıyla formül buna indirgenir:

=number/10^power

Numarayı almak için formül soldan başlayarak birimleri hariç tüm karakterleri ayıklar:

LEFT(B5,LEN(B5)-2)

"Gücü" elde etmek için formül, sabit kodlu bir dizi sabitindeki birimde eşleşir:

MATCH(RIGHT(B5,2),("PB","TB","GB","MB","KB"),0)

Dizi sabitindeki birimin konumunu döndürür. Örneğin, C5'teki formül için birim "KB", yani konum 5'tir. Bu sonuç 3 çıkarılıp sonra sonuç 3 ile çarpılarak ayarlanır, bu da üs olarak kullanılan güç olarak 6'yı verir. gigabayt cinsinden doğru sonucu hesaplamak için:

=900/10^6 =900/1000000 =0.0009

İkili standart formül

Bilgisayarlar veri boyutunu depolamak ve raporlamak için ikili sayı sistemini kullanır, ancak "kilo", "mega", "giga" vb. Gibi önekler metrik sisteme dayanır. Bu kafa karıştırıcı bir konudur, ancak bir bilgisayarda depolama için ondalık boyut birimleri kullanmak gerçekten doğru değildir ve birimler büyüdükçe tutarsızlık artar. Aşağıdaki formül ikili birimlere normalleşecektir.

=LEFT(A1,LEN(A1)-2)/2^((MATCH(RIGHT(A1,2),("PB","TB","GB","MB","KB"),0)-3)*10)

Bu formülle, teknik olarak Gigabayt değil, Gibibayt (GiB) elde edersiniz. Burada ve burada daha fazla bilgi.

İyi bağlantılar

Ron Rosenfeld'den Stackoverflow.com yanıtı

Ilginç makaleler...