Excel formülü: Bir sayıyı n anlamlı basamağa yuvarlayın -

İçindekiler

Genel formül

=ROUND(number,digits-(1+INT(LOG10(ABS(number)))))

Özet

Bir sayıyı belirli bir (değişken) sayıda belirtilen basamak veya rakamlara yuvarlamanız gerekiyorsa, bunu YUVARLA ve LOG10 işlevlerini kullanan zarif bir formülle yapabilirsiniz.

Gösterilen örnekte, D6'daki formül aşağıdaki gibidir:

=ROUND(B6,C6-(1+INT(LOG10(ABS(B6)))))

Açıklama

Matematikte iyi bir geçmişiniz yoksa bu göz korkutucu bir formül olabilir, ama hadi adım adım çalışalım.

Birincisi, bir fonksiyonun (bu durumda YUVARLAK) diğerlerinin etrafını sardığı böyle bir formülünüz olduğunda, genellikle dışarıdan içeriden çalışmak yararlıdır. Yani, özde bu formül B6'daki değeri YUVARLA işlev:

=ROUND(B6,x)

Burada x, gereken anlamlı basamak sayısıdır. Bu formülün zor kısmı x'i hesaplamaktır. Bu bir değişkendir, çünkü yuvarlanacak sayıya göre değişecektir. x bu bit ile hesaplanır:

C6-(1+INT(LOG10(ABS(B6))))

Bu karmaşık görünüyor, bu yüzden önce formülün verilen örnekler için nasıl çalışması gerektiğine bakalım. YUVARLA ile, ondalık basamağın sol tarafında negatif bir basamak sayısının çalıştığını unutmayın. Dolayısıyla, 1234567'yi artan sayıda anlamlı basamağa yuvarlamak için şunlara sahip oluruz:

=ROUND(1234567,-6) = 1000000 // 1 sig. digit =ROUND(1234567,-5) = 1200000 // 2 sig. digits =ROUND(1234567,-4) = 1230000 // 3 sig. digits =ROUND(1234567,-3) = 1235000 // 4 sig. digits

Yani, asıl sorun yuvarladığımız sayıya bağlı olarak -6, -5, -4 ve benzerlerinin nasıl hesaplanacağıdır.

Anahtar, bilimsel gösterimde olduğu gibi, bu sayıların üsler kullanılarak nasıl ifade edilebileceğini anlamaktır:

=ROUND(1234567,-6) = 1000000 = 1.0*10^6 =ROUND(1234567,-5) = 1200000 = 1.2*10^6 =ROUND(1234567,-4) = 1230000 = 1.23*10^6 =ROUND(1234567,-3) = 1235000 = 1.235*10^6

Her durumda üssün 6 olduğuna dikkat edin, bu bit ile belirlenir:

INT(LOG10(ABS(B6)))

Dolayısıyla formülün geri kalanı, istenen anlamlı basamak sayısına bağlı olarak YUVARLA vermek için doğru sayıyı bulmak için hesaplanan üs değerini kullanıyor:

=ROUND(1234567,-6) // 1-(1+6) = -6 =ROUND(1234567,-5) // 2-(1+6) = -5 =ROUND(1234567,-4) // 3-(1+6) = -4 =ROUND(1234567,-3) // 4-(1+6) = -3

Yani özetle:

  1. ABS, değeri mutlak (pozitif) bir değere dönüştürür
  2. LOG10 üssü alır, bu durumda 6 ondalık değerle
  3. INT, üssün ondalık kısmını keser
  4. Formül, YUVARLA vermek için doğru basamak sayısını bulmak için üs ve sağlanan anlamlı basamakları kullanır
  5. ROUND, sağlanan basamak sayısını kullanarak sayıyı yuvarlar

İyi bağlantılar

Excel'de Önemli Sayılara Yuvarlama (vertex42.com) Bilimsel gösterim girişi (Khan Academy)

Ilginç makaleler...