Excel 2003 Yanlış Çıkartma İşlemi

Katılım
8 Şubat 2007
Mesajlar
88
Excel Vers. ve Dili
2003 tr
Selam Arkadaşlar Uzun Zamandır Excel 2003'te Ara Ara Yaşadığım Bir Sorun Var


A-1 SATIRI : 72.6 ADET
B-1 SATIRI : 72.5 ADET

ÜRÜN VAR =A1-B1 SONUÇ : 1 ADET OLMASI LAZIM

AMA BEN BUNU KOPYALA ÖZEL YAPIŞTIR YAPTIĞIMDA

0.0999999999999943 BÖYLE BİR SONUÇ ÇIKIYOR ACABA NEDENDİR ..

SAYGILARIMLA
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,490
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Sözünü ettiğiniz değerler 72,6 ve 72,5 olmayabilir.
Görüntü olarak o değerleri görüyorsunuzdur.
 
Katılım
4 Ocak 2010
Mesajlar
2,074
Excel Vers. ve Dili
OFFICE 2007 PRO TR - Win7 X64
Altın Üyelik Bitiş Tarihi
18.06.2019
Selamlar,

Soruyla Necdet hocamıza ilgileniyo ama ben affına sığınarak bir dosya gönderiyorum.
ekdeki dosyayı inceleyin

k3
Kod:
=MUTLAK(YUVARLA(J3-I3;2))
m3

Kod:
=MUTLAK(YUVARLA(L3-K3;2))
 

Ekli dosyalar

Son düzenleme:

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,490
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Sayın esmatekel, M3 hücresinin ondalık basamak sayısı 23 olarak belirlenmiş,sıkıntıyı o yüzden yaşıyorsunuz.
 
Katılım
8 Şubat 2007
Mesajlar
88
Excel Vers. ve Dili
2003 tr
Teşekkürler

Kod:
=YUVARLA(AE15+AE16-AE17-AE18;2)
Yukarıdaki Kodu Kullandım Ve Sorunum Çözüldü İlgilenen Herkeze Teşekkür Ederim ....



Saygılarımla
Mehmet ADAK
 
Katılım
4 Ocak 2010
Mesajlar
2,074
Excel Vers. ve Dili
OFFICE 2007 PRO TR - Win7 X64
Altın Üyelik Bitiş Tarihi
18.06.2019
Selamlar,

Rica Ederiz

İyi Çalışmalar Dilerim.
 
Katılım
8 Şubat 2007
Mesajlar
88
Excel Vers. ve Dili
2003 tr
Sayın Necdet Bey Ondalık Sayısını Ben 23 Yaptım Anlatmak İstediğim
72.6 - 72,5 = 0,1 çıkması Gerekirken
0.0999999999999943 böyle bir rakam çıkıyoru anlatmak için ondalık sayısını 23 olarak belirttim
 
Son düzenleme:
Katılım
8 Şubat 2007
Mesajlar
88
Excel Vers. ve Dili
2003 tr
En Büyük/En Küçük Kısıtlamaları
Her bilgisayarın işleyebileceği en büyük ve en küçük sayı bellidir. Sayının saklanacağı belleğin bit sayısı sonsuz olmadığı için, saklanabilecek en büyük veya en küçük sayı da sonsuz değildir. Excel'de saklanabilecek en büyük sayı 1,79769313486232E+308 ve en küçük pozitif sayı 2,2250738585072E-308 değeridir.
IEEE 754'e Bağlı Kalınan Durumlar
Yetersizlik durumu: Yetersizlik durumu, gösterilemeyecek kadar küçük bir sayı oluşturulduğunda ortaya çıkar. IEEE'de ve Excel'de sonuç 0'dır (tek özel durum, IEEE'de -0 kavramının kullanılması, ancak Excel'de kullanılmamasıdır).
Taşma durumu: Taşma durumu, gösterilemeyecek kadar büyük bir sayı için ortaya çıkar. Excel bu durumda kendi özel gösterimini (#SAYI!) kullanır.
IEEE 754'e Bağlı Kalınmayan Durumlar
Normalleştirilmemiş sayılar: Normalleştirilmemiş sayı, 0'ın üs değeri olarak gösterilir. Bu durumda, sayının tamamı mantiste saklanır ve mantisin başında 1 örtülü değeri olmaz. Dolayısıyla duyarlık kaybolur, sayı ne kadar küçükse duyarlık da o kadar çok kaybolur. Bu aralığın küçük ucundaki sayıların duyarlığı tek basamaklıdır.
Örneğin: Normalleştirilmiş sayıda 1 örtülü değeri bulunur. Örneğin mantiste 0011001 gösteriliyorsa, en başta 1 örtülü değeri olacağı için normalleştirilmiş sayı 10011001 halini alır. Normalleştirilmemiş sayının başında 1 örtülü değeri yoktur; dolayısıyla 0011001 örneğinde, normalleştirilmemiş sayı aynı kalır. Bu durumda, normalleştirilmiş sayıda sekiz anlamlı basamak (10011001) bulunur; normalleştirilmemiş sayıda ise baştaki sıfırlar anlamsız olduğu için beş anlamlı basamak (11001) bulunur.

Normalleştirilmemiş sayılar temelde normal alt sınırdan daha küçük sayıların saklanmasına olanak veren bir geçici çözümdür. Microsoft, belirtimin isteğe bağlı olan bu bölümünü uygulamaz, çünkü normalleştirilmemiş sayılar yapıları gereği değişken sayıda anlamlı basamağa sahip olabilir. Bu da hesaplamalarda önemli hatalara neden olabilir.
Pozitif/Negatif Sonsuz Sayılar: Sonsuz sayılar 0 ile bölme sonucunda oluşur. Excel sonsuz sayıları desteklemez, bu gibi durumlarda #SAYI/0! hatası verir.
Sayı Değil (NaN): NaN, geçersiz işlemleri göstermek için kullanılır (sonsuz/sonsuz, sonsuz-sonsuz veya -1'in kare kökü gibi). NaN'ler bir programın geçersiz bir işlemden sonra devam edebilmesini sağlar. Excel bunun yerine hemen #SAYI! veya #SAYI/0! gibi bir hata oluşturur.
Üste
Duyarlık
Kayan noktalı sayı, ikili düzende 65 bit aralığında üç bölüm olarak saklanır: işaret, üs değeri ve mantis. Bu tabloyu kapaBu tabloyu aç1 İşaret Biti 11 Bit Üs Değeri 1 Örtülü Bit 52 Bit Mantis
İşaret, sayının işaretini (pozitif veya negatif); üs değeri, sayının 2'nin katları olarak arttırılacağı veya azaltılacağı üs değerini (2'nin en büyük/en küçük üs değeri +1.023 ve -1.022'dir); mantis ise asıl sayıyı saklar. Mantisin sonlu saklama alanı, birbirine komşu iki kayan noktalı sayının ne kadar yakın olabileceğini (yani, duyarlığını) kısıtlar.

Mantis ve üs değeri ayrı bileşenler olarak saklanır. Dolayısıyla, duyarlık miktarı, söz konusu sayının boyutuna (mantisine) bağlı olarak değişebilir. Excel'de 1,79769313486232E308 ile 2,2250738585072E-308 arasındaki sayılar saklanabilir, ancak bu işlem yalnızca 15 basamaklı bir duyarlıkla yapılabilir. Bu kısıtlama, IEEE 754 belirtiminin kesin olarak izlenmesi nedeniyle oluşur ve Excel'in bir kısıtlaması değildir. Bu duyarlık düzeyi diğer elektronik tablo programlarında da bulunmaktadır.

Kayan noktalı sayılar şu biçimde gösterilir; burada üs değeri, ikili üs değeridir:
X = Kesir * 2^(üs değeri - sapma)
Kesir, sayının normalleştirilmiş kesirli bölümüdür; normalleştirilmiş olmasının nedeni, üs değerinin ilk bit her zaman 1 olacak şekilde ayarlanmasıdır. Böylece, ilk bit değerinin saklanması gerekmeyeceğinden, bir bit daha fazla duyarlık sağlanır. İşte bu nedenle de örtülü bir değeri vardır. Bu, üs değerinin ondalık ayırıcının bir basamak solunda kullanıldığı bilimsel gösterime benzer; ancak ikili düzende yalnızca 1'ler ve 0'lar olacağından, üs değerini ilk bit her zaman 1 olacak şekilde uygulayabilirsiniz.

Sapma, negatif üs değerlerinin saklanmasını önlemek için kullanılan sapma değeridir. Tek duyarlıklı sayıların sapması 127, çift duyarlıklı sayıların sapması ise 1,023'tür (bunlar ondalık değerlerdir). Excel, sayıları çift duyarlıklı olarak saklar.
Üste
Çok Büyük Sayılar Kullanmaya Örnek
Aşağıdaki verileri yeni bir çalışma kitabına girin:
A1: 1,2E+200
B1: 1E+100
C1: =A1+B1

C1 hücresindeki hesaplanan değer 1,2E+200 (A1 hücresiyle aynı) olacaktır. Örneğin EĞER(A1=C1) şeklinde EĞER işlevini kullanarak A1 ve C1 hücrelerini karşılaştırırsanız, sonuç DOĞRU olacaktır. Bunun nedeni, IEEE belirtiminin sayıları yalnızca 15 basamaklı bir duyarlıkla saklamasıdır. Yukarıdaki hesaplamanın saklanabilmesi için, Excel en az 100 basamaklı duyarlık gerektirir.
Üste
Çok Küçük Sayılar Kullanmaya Örnek
Aşağıdaki verileri yeni bir çalışma kitabına girin:
A1: 0,000123456789012345
B1: 1
C1: =A1+B1

C1 hücresindeki hesaplanan değer 1,000123456789012345 değil, 1,00012345678901 olacaktır. Bunun nedeni, IEEE belirtiminin sayıları yalnızca 15 basamaklı bir duyarlıkla saklamasıdır. Yukarıdaki hesaplamanın saklanabilmesi için, Excel en az 19 basamaklı duyarlık gerektirir.
Üste
Duyarlık Hatalarını Düzeltme
Excel, yuvarlama hatalarını gidermek için iki temel yöntem sunar: YUVARLA işlevi ve Duyarlılık görüntülendiği gibi veya Duyarlığı göründüğü gibi ayarla çalışma kitabı seçeneği.
Yöntem 1: YUVARLA İşlevi
Yukarıdaki verilerin kullanıldığı şu örnekte, YUVARLA işlevi kullanılarak bir sayı beş basamağa zorlanır. Böylece sonuç başka bir değerle karşılaştırılabilir.
A1: 1,2E+200
B1: 1E+100
C1: =YUVARLA(A1+B1;5)

1,2E+200 sonucunu verir.
D1: =EĞER(C1=1,2E+200; DOĞRU; YANLIŞ)

DOĞRU sonucunu verir.
Yöntem 2: Duyarlılık Görüntülendiği Gibi
Bazı durumlarda Duyarlılık görüntülendiği gibi seçeneğini kullanarak, yuvarlama hatalarının çalışmanızı etkilemesini önleyebilirsiniz. Bu seçenek, çalışma sayfasındaki her sayıyı görüntülenen değere sahip olmaya zorlar. Bu seçeneği etkinleştirmek için şu adımları izleyin:
Excel 2003 ve önceki sürümlerinde, Araçlar menüsünde Seçenekler'i tıklatın.
Hesaplama sekmesinde, Duyarlılık görüntülendiği gibi onay kutusunu tıklatıp seçin.
Excel 2007'de, Microsoft Office Düğmesi'ni tıklatın, Excel Seçenekleri'ni tıklatın ve sonra da Gelişmiş kategorisini tıklatın.
Bu çalışma kitabını hesaplarken bölümünde, istediğiniz çalışma kitabını ve sonra da Duyarlığı göründüğü gibi ayarla onay kutusunu seçin.
Örneğin, iki ondalık basamak gösterilen bir sayı biçimi seçip Duyarlılık görüntülendiği gibi seçeneğini etkinleştirirseniz, çalışma kitabınızı kaydettiğinizde iki basamağın ötesindeki tüm duyarlık kaybolur. Bu seçenek tüm çalışma sayfaları da dahil etkin çalışma kitabını etkiler. Bu seçeneği geri alamaz ve kaybolan verileri kurtaramazsınız. Bu seçeneği etkinleştirmeden önce çalışma kitabınızı kaydetmeniz önerilir.
Üste
Yinelenen İkili Sayılar ve Sıfıra Yakın Sonuçlu Hesaplamalar
Kayan noktalı sayıları ikili düzende saklama ile ilgili bir başka sorun da, ondalık düzende sonlu olan bazı yinelenmeyen sayıların ikili düzende sonsuz olan yinelenen sayılar olmasıdır. Bunun en yaygın örneği 0,1 değeri ve benzerleridir. Bu sayılar ondalık düzende düzgün biçimde gösterilebilmesine karşın, aynı sayı mantiste saklandığında, ikili düzende şu yinelenen ikili sayı haline gelir:
000110011001100110011 (bu şekilde devam eder)
IEEE 754 belirtimi hiçbir sayı için özel bir çözüm sağlamaz; saklayabildiği kadarını mantiste saklar, geri kalanı keser. Bu durum, saklamada -2,8E-17 veya 0,000000000000000028 kadar bir hataya neden olur.

0,0001 ondalık değeri gibi sık kullanılan ondalık kesirler bile ikili düzende tam olarak gösterilemez. (0,0001, noktadan sonra 104 bit içeren bir yinelenen ikili düzen kesridir). Bu, 1/3 kesrinin ondalık düzende tam olarak gösterilememesine benzer (0,33333333333333333333 değeri yinelenir).

Bu durumda, Microsoft Visual Basic for Applications'ta şu basit örneğin neden
Sub Main()
MySum = 0
For I% = 1 To 10000
MySum = MySum + 0,0001
Next I%
Debug.Print MySum
End Sub

çıkış olarak 0,999999999999996 değerini verdiğini açıklar. 0,0001 değerini ikili düzende gösterirken ortaya çıkan küçük hata, toplamı etkiler.
Üste
Negatif Sayı Ekleme Örneği
Şu formülü yeni bir çalışma kitabına girin:
A1: =(43,1-43,2)+1

A1 hücresini sağ tıklatın ve sonra da Hücreleri Biçimlendir'i tıklatın. Sayı sekmesinde, Kategori altında Bilimsel'i tıklatın. Ondalık basamak sayısı değerini 15 olarak ayarlayın.
Excel, 0,9 yerine 0,899999999999999 değerini görüntüler. İlk olarak (43,1-43,2) hesaplandığı için, -0,1 geçici olarak saklanır ve -0,1 değerinin saklanması nedeniyle oluşan hata, hesaplama sonucunu etkiler.
Üste
Değerin Sıfıra Ulaşması Örneği
Excel 95 veya önceki sürümlerde, şu formülü yeni bir çalışma kitabına girin:
A1: =1,333+1,225-1,333-1,225

A1 hücresini sağ tıklatın ve sonra da Hücreleri Biçimlendir'i tıklatın. Sayı sekmesinde, Kategori altında Bilimsel'i tıklatın. Ondalık basamak sayısı değerini 15 olarak ayarlayın.
Excel, 0 değeri yerine -2,22044604925031E-16 değerini görüntüler.

Ancak Excel 97'de, bu sorunu düzeltmek üzere bir iyileştirme kullanılmaya başlandı. Excel 97 ve sonrasında bir toplama veya çıkarma işlemi sıfır ya da sıfıra çok yakın bir değer verdiğinde, işlenen değeri ikili düzene veya ikili düzenden dönüştürme sonucunda oluşan hatalar giderilir. Yukarıdaki örnek Excel 97 ve sonrasında uygulandığında bilimsel gösterimde 0 veya 0,000000000000000E+00 değeri görüntülenir. Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
172911 (http://support.microsoft.com/kb/172911/ ) 10'un çok büyük veya çok küçük bir üs değeri alındığında sonuç hatalı oluyor (Bu bağlantı, bir kısmı veya tamamı İngilizce olan içeriğe işaret edebilir)
214373 (http://support.microsoft.com/kb/214373/ ) 10'un çok büyük veya çok küçük bir üs değeri alındığında sonuç hatalı oluyor (Bu bağlantı, bir kısmı veya tamamı İngilizce olan içeriğe işaret edebilir)
Kayan noktalı sayılar ve IEEE 754 belirtimi hakkında daha fazla bilgi için, lütfen şu World Wide Web sitelerine bakın:
http://www.ieee.org
 
Üst