mantığım almıyor excel doğru toplama yapamıyormu?

Katılım
22 Nisan 2006
Mesajlar
7
Arkadaşlar merhaba,


Uzun zamandır excel kullanmama rağmen çok basit bir sorun ile karşılaştım ve çözemiyorum kendimden utanıyorum yardımlarınızı bekliyorum :)

sorun: listem 35.000 satır 95 kolon ..sadeleştiri anlatayım, aynı satırdaki 3 kolona ait numeric bilgiyi kendi aralarında toplatıp çıkarıyorum tam sonuç vermiyor, rakamlarım noktadan sonra 10 digit (000.0000000000 formatında)

örnek:

1280.2200000000 + 5028.7600000000 - 5897.8200000000 =

sonuç = 411.160000000000 olması gerekirken 411.1600000010 çıkıyor

not: formulü ben sağlama yapmak , çıkan sonucu kontrol etmek için kullanıyorum bu nedenle round kullanmamın anlamı yok çünkü PDU (Parts Data Upload) ile yurtdışındaki bir sisteme yüklüyorum sistem hata veriyor

kafayı kırcam a+b-c= hata olcak iş değil



:kafa:
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Büyük ihtimalle işlem yaptığınız sayıların 10 digitten sonrasında da rakamlar mevcut, ve işlem yaparken bunlar dikkate alınıyor.
 

mehmett

Altın Üye
Katılım
18 Mayıs 2005
Mesajlar
2,571
Excel Vers. ve Dili
Excel 2010 Türkçe
Sn karamurselli,

Sizin dosyada da aynı sorun var.
Virgülden sonraki basamak sayısını arttırırsanız 1 rakamını göreceksiniz.
İlginç bir durum.
 
Katılım
4 Eylül 2004
Mesajlar
183
Excel Vers. ve Dili
Excel 2010 Türkçe
iyi ki, paralardan 6 sıfır atıldı, enflasyondan dolayı 10 haneli sıfırlara kadar paralar olsaymış, yanlışlıklar başlıyacaktı demek.
 

İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,104
Excel Vers. ve Dili
Excel, 365 - İngilizce
Bildiğim kadarı nedenini basit olarak söyleyeyim:

1. Excel'in 15 dijit sınırı.
2. Sayıların 10'luk sistemden ikili sayılı sisteme dönüşleri,
3. 1/3, 1/6... ve benzeri sayılardaki son dijitin ne olacağı sorunu,

İster istemez excelde bazı işlemler birbirlerine eşit çıkmamakta ve bunu bilen excel yapımcıları da bu tür hataları gidermek ve diğer işlemler için;

INT
MROUND
ROUND
ROUNDDOWN
ROUNDUP
TRUNC

işlevleri excele koymuşlar.

Bu nedenle, bu problemde, round fonksiyonu kullanılıp istenilen dijitte yuvarlama yapılırsa hata giderilebilir.
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

Belki bundandır.......

15 basamak duyarlı Excel anlamlı 15 basamağı kaydedip duyarlı olarak hesaplar.


Excel, görüntülenen değerleri değil, saklanan değerleri hesaplar Görüntülenen ve yazdırılan değer saklanan değeri biçimlendirmeyi ve görüntülemeyi nasıl seçtiğinize bağlıdır. Örneğin, tarihi "22.6.2008" olarak görüntüleyen bir hücre, hücredeki tarih için depolanan değer olan bir seri numarası da içerir. Tarihin görüntüsünü, başka bir biçime değiştirebilirsiniz (örneğin, "22-Haz-96"); fakat, bir değerin çalışma sayfasındaki görünümünü değiştirmek, depolanan değeri değiştirmez.

.




Excel'de
Özellik En büyük sınır

Sayı duyarlığı 15 basamak

Bir hücreye girilebilecek en yüksek sayısal değer 9,99999999999999E307

En yüksek pozitif sayısal değer 1,79769313486231E308

En düşük negatif sayısal değer 2,2250738585072E-308

En düşük pozitif sayısal değer 2,229E-308

En yüksek negatif sayısal değer -1E-307

Formül içeriğinin uzunluğu 1.024 karakter

Çalışma sayfası dizileri Kullanılabilen bellekle sınırlıdır. Ayrıca, diziler tüm sütunlara başvuramazlar. Örneğin, bir dizi tüm C:C sütununa veya C!:C65536 aralığına başvuramaz. Ancak, bir dizi C1:D65535 aralığına, bu aralığın en büyük çalışma sayfası boyutundan bir satır kısa olması ve tüm C veya D sütununu içermemesi nedeniyle başvurabilir.

Seçilmiş aralıklar 2.048

Bir fonksiyondaki bağımsız değişkenler 30

Fonksiyonların iç içe düzeyleri 7

Kullanılabilen çalışma sayfası fonksiyon sayısı 329

Hesaplama için izin verilen en erken tarih 1.Ocak.1900 (1904 tarih sistemi kullanılıyorsa, 1.Ocak.1904)

Hesaplamalar için izin verilen en son tarih 31.Aralık.9999
Girilebilecek en büyük saat 9999:99:99


Edit: Gene formumda değilmişim
 

xternet

Altın Üye
Katılım
12 Kasım 2004
Mesajlar
455
Excel Vers. ve Dili
2010 Tr
Altın Üyelik Bitiş Tarihi
12-10-2028
Bende bildiğim kadarıyla benzer şeyler söylemek isterim. Çünkü böyle bir sorunla bende karşılaşmıştım.

Örneğin;
A1 hücresine 1235,
B1 hücresine 1000
yazdınız ve
C1 hücresinde "=A1/B1"
işlemini yaptınız ve sonucu 1,235 şeklinde çıktı. Size virgülden sonra 1 hane yeterli olduğundan hücre ayarını yaptınız (ondalık basamak sayısı 1) ve artık hücrede 1,2 gözüküyor.
Siz şimdi örneğin;
D1 hücresinde "=C1*5" işlemini yaptığınızda sonucun 6 olmasını beklersiniz. Çünkü 1,2*5=6 dır. Ama sonuç "6,175" olarak çıkar. Çünkü excel işlem yaparken gözüken değeri değil aslını hesaba katar.
Ama C1 hücresine "=YUVARLA(A1/B1;1)" diyerek işlem yaptırırsanız gözüken değerle işlem yapılan değer aynı olmuş olur.
 
Katılım
22 Nisan 2006
Mesajlar
7
teşekkürler

Arkadaşlar daha önce bu siteden hiç yardım almamıştım , sorunlarımı kendi başıma çözmeye çalışmıştım hızlı ve gerçekçi yardım çabalarınız için teşekkür ederim, sanırım sizinle daha sık görüşeceğiz,

buarada leventm... işlem yaptığım rakamlarda 10. digitden sonra bilgi yok formatını 20 digitede çıkarıp kontrol etmiştim değişmiyor

zafer in belirttiği teoriye göre max 15 digitten az olduğu için kapsam dışı diye düşünüyorum


slmlr
 
Katılım
7 Kasım 2005
Mesajlar
192
Excel Vers. ve Dili
excel2003
Sayın xternet C1'i 1,2 olarak kabul eder eğer Araçlar/Seçenekler/Hesaplamalar'dan duyarlılık görüntelendiği gibi butonunu doldurursanız."C1*5"=6 her zaman 6 çıkar
 

xternet

Altın Üye
Katılım
12 Kasım 2004
Mesajlar
455
Excel Vers. ve Dili
2010 Tr
Altın Üyelik Bitiş Tarihi
12-10-2028
Bu bilgiden dolayı teşekkür ederim Sn.otufan03. Şu excelde yok yok.
 
Katılım
22 Nisan 2006
Mesajlar
7
Acil çözüm bulmam lazım.

Arkadaşlar ,

Ekteki sorunumun nedeni ile ilgili microsoft'a yazdım cevap gelince sizinle paylaşırım,
 
Katılım
22 Nisan 2006
Mesajlar
7
Micorsoft un cevabı !!

Arkadaşlar,

Micorsoft dan gelen cevap ektedir anladığım kadarı ile Excel hesaplamayı IEEE standartlarına göre yapıyor (ne demekse) round hariç çözüm yok yani excel yanlış hesap yapıyor

:hiho:
adamların örneği de ilginç =1*(.5-.4-.1) =0.0000000000000000278

1*0= 0.0000000000000000000 olması lazım !!


----------------------------------------------------------
SYMPTOMS
Many combinations of arithmetic operations on floating-point numbers in Microsoft Excel and Microsoft Works may produce results that appear to be incorrect by very small amounts. For example, the equation
=1*(.5-.4-.1)
may be evaluated to the quantity (-2.78E-17), or -0.0000000000000000278 instead of 0.

CAUSE
This behavior is not a problem in or a limitation of Excel or Works; this behavior occurs because the Institute of Electrical and Electronics Engineers (IEEE) 754 floating-point standard requires that numbers be stored in binary format.
WORKAROUND
Method 1
To minimize any effects of floating point arithmetic storage inaccuracy, use the Round() function to round numbers to the number of decimal places that is required by your calculation. For example, if you are working with currency, you would likely round to 2 decimal places:

=ROUND(1*(0.5-0.4-0.1),2)
 
Üst