• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

hesaplama hatası

Katılım
1 Şubat 2007
Mesajlar
516
Excel Vers. ve Dili
excel2003
Selam
=11/6*F21-3/2*E20+D19 şeklindeki bir hesaplamada F21=14,4;E20=31,2;D19=20,4 0lduğunda formüle göre "0" yapması gerekirken 4,9738E-14 şeklinde bir durum oluşuyor.
=EĞER(G27=0;"";EĞER(G27>0;BİRLEŞTİR("+";G27);G27)) formülünde G27=1,2; Sonuç +1,2 olması gerekirken +1,19999999997 şeklinde yazıyor. Bunun sebebi nedir? Hesaplama neden düzgün sonuç vermiyor. Veriler tamsayı olduğunda sorun çıkmıyor
Teşekkürler
 
Merhaba Arkadaş,
Kod:
=(11/6)*F21-(3/2)*E20+D19
parantezlere dikkat edin lütfen.
Sorun işlem sırası
Kolay gelsin
 
Excel'de parantez kullanılmadan oluşturulan formüllerde işlemler aşağıdaki sırayla yapılır.
Önce ÇARPMA - BÖLME işlemleri, ardından TOPLAMA - ÇIKARTMA işlemleri.

Oluşturduğunuz formülün bulunduğu hücre seçiliyken FORMÜLLER menüsündeki
FORMÜLLERİ DEĞERLENDİR düğmesine tıklayarak işlem adımlarını görebilirsiniz.

Sonucun 0 (sıfır) çıkması için formülün aşağıdaki şekilde parantezler kullanılarak yazılması gerekir.
.
Kod:
=(11/6*F21)-(3/2*E20)+D19

FORMÜLLERİ DEĞERLENDİR işlemini bir kez kendi oluşturduğunuz (sonucu 5 çıkar),
bir de yukarıda belirttiğim şekilde oluşturulmuş formül için uygulayarak farkı görebilirsiniz.

İkinci fdrmülünüz için ise durum şudur.
G27 hücresine pozitif bir sayı yazdığınızda sonuç bir sayı değil, başına + işareti konulmuş bir METİN olur
(BİRLEŞTİR formülünün METİN sonucu vermesi de doğal tabi), negatif saı yazdığınızda ise G27'deki negatif SAYIyı verir.
Ben +1,19999999997 şeklinde bir sonuç elde edemiyorum.
 
Son düzenleme:
Ömer Hocam sizin cevabınızı görmemişim ben yazarken gelmiş olmalı. Anladım bu şekilde isteğime ulaşamayacağım o zaman. Aslında daha önce bir formül almıştım ama onda da katsayısı 0 olan terimi yazdırmak istemiyorum. Formülde bunu gideremediğim için başka yol kullanayım dedim. Formülümüz
=EĞER(MOD(E24;1)=0;METNEÇEVİR(E24;"0");METNEÇEVİR(E24;"0/0"))&"n³ "&EĞER(F24>=0;"+";" ")&EĞER(MOD(F24;1)=0;METNEÇEVİR(F24;"0");METNEÇEVİR(F24;"0/0"))&"n²"&EĞER(G24>=0;"+";" ")&EĞER(MOD(G24;1)=0;METNEÇEVİR(G24;"0");METNEÇEVİR(G24;"0/0"))&"n"&EĞER(H24>=0;"+";" ")&EĞER(MOD(H24;1)=0;METNEÇEVİR(H24;"0");METNEÇEVİR(H24;"0/0"))
Eğer burada katsayısı "0" olan terimi yazdırmazsak işim tam anlamıyla çözülmüş olacak. Teşekkürler
 
Kusura bakmayın ama bu tür formül sorularında hep sorun yaşıyoruz.
Formülün uygulandığı örnek belge yükleyip onun üzerinde açıklarsanız hemen sonu ç alacağınızı sanıyorum.
Örnek belge ile ilgili açıklama cevaplarımın altındaki İMZA bölümünde var.
 
Yanlış anlamadıysam mevcut formülünüzü aşağıdaki şekilde değiştirerek 0 olan değerlerden kurtulmuş olursunuz.
.
Kod:
=[COLOR="Blue"]EĞER(E24=0;"";[/COLOR]EĞER(MOD(E24;1)=0;METNEÇEVİR(E24;"0");METNEÇEVİR( E24;"0/0"))&"n³")&[COLOR="blue"]EĞER(F24=0;"";[/COLOR]EĞER(F24>=0;"+";" ")&EĞER(MOD(F24;1)=0;METNEÇEVİR(F24;"0");METNEÇEVİR(F24;"0/0"))&"n²")&[COLOR="blue"]EĞER(G24=0;"";[/COLOR]EĞER(G24>=0;"+";" ")&EĞER(MOD(G24;1)=0;METNEÇEVİR(G24;"0");METNEÇEVİR(G24;"0/0"))&"n")&[COLOR="blue"]EĞER(H24=0;""[/COLOR];EĞER(H24>=0;"+";" ")&EĞER(MOD(H24;1)=0;METNEÇEVİR(H24;"0");METNEÇEVİR(H24;"0/0")))

NOT: Bu arada, hücrelere ondalıklı sayılar yazdığınızda
(virgülden sonra farklı uzunlukta değerler yaparak deneyin derim)
oluşan kesirli biçimlendirme ile ilgili olarak aşağıdaki konu sayfasında yer alan 6 numaralı
cevabıma bir göz atmanız yerinde olur sanırım, konu sizi de ilgilendiriyor bence.

kesirli bölme işlemindeki çıkan farklı sonuç telafisi

.
 
Son düzenleme:
Sayfayı yenileyerek son cevabımı kontrol edin, ilave açıklama yazmıştım.
 
Ömer Hocam çok oldun diyeceksin ama n'li terimlerin katsayıları 1 olduğunda n³+n²+n+1 şeklinde, -1 olduğunda n'li terimlerin solunda sadece "-" koyabilir miyiz? Çok zor ise hiç uğraşmayalım bu kadarı da yeter. Teşekkürler
 
Sanırım tamam. Elime aldığım şeyi bıraktığım pek vaki değildir.
Bu arada 8 numaralı cevabımdaki NOT kısmına bakmanızı bir kez daha hatırlatmak isterim.
Bu formülleri soru hazırlamakta kullanacaksanız, HATALI SORU durumuyla karşılaşmamanız açısından önemli bence.

İlave bilgi METNEÇEVİRme işleminde işareti doğrudan da elde edebilirsiniz =METNEÇEVİR(A1;"+ 0;- 0")

.
Kod:
=EĞER(E24=0;"";EĞER(MOD(E24;1)=0;EĞER(E24=1;"";EĞER(E24=-1;"- ";METNEÇEVİR(E24;"0")))&" n³ ";METNEÇEVİR(E24;"0/0")&" n³ "))&EĞER(F24=0;"";EĞER(MOD(F24;1)=0;EĞER(F24>=0;"+";"")&EĞER(F24=1;"";EĞER(F24=-1;"- ";METNEÇEVİR(F24;"0")))&" n² ";METNEÇEVİR(F24;"0/0")&" n² "))&EĞER(G24=0;"";EĞER(MOD(G24;1)=0;EĞER(G24>=0;"+";"")&EĞER(G24=1;"";EĞER(G24=-1;"- ";METNEÇEVİR(G24;"0")))&" n ";METNEÇEVİR(G24;"0/0")&" n "))&EĞER(H24=0;"";EĞER(H24>=0;"+";" ")&EĞER(MOD(H24;1)=0;METNEÇEVİR(H24;"0");METNEÇEVİR(H24;"0/0")))
 
Son düzenleme:
Hocam çok teşekkür ediyorum. Söylediklerinizi deneyeceğim. Anlamadığım Eğer(f24=-1;"-n²" şeklinde eklemiştim. Aynı şey değil miydi? Bu şekilde yazınca hücrelerden birine 0 girdiğimde boş bırakıyordu. Hocam tekrardan teşekkürler
 
Hocam tekrarda kusura bakmayın bu seferde aralara n2 ve n li terim 1'den büyük pozitif bir sayı ise araya + işareti koymadı
 
Tekrar merhaba.

İstediğiniz sonucu aşağıdaki formül ile elde edebilirsiniz.
Önceki veriler boş ve ilk dolu verinin pozitif olması durumunda
baştaki + işaretinin yazılmaması durumu dahil tüm seçenekleri hallediyor sanırım.
.
Kod:
=KIRP(EĞER(E24=0;"";YERİNEKOY((EĞER(MOD(E24;1)=0;METNEÇEVİR(E24;EĞER(MUTLAK(E24)=1;"+ ;-";" + 0; - 0"));METNEÇEVİR(E24;" + 0/0; - 0/0"))&" n³ ");"+";""))&EĞER(F24=0;"";EĞER(E24=0;YERİNEKOY((EĞER(MOD(F24;1)=0;METNEÇEVİR(F24;EĞER(MUTLAK(F24)=1;"+ ;-";" + 0; - 0"));METNEÇEVİR(F24;" + 0/0; - 0/0"))&" n² ");"+";"");(EĞER(MOD(F24;1)=0;METNEÇEVİR(F24;EĞER(MUTLAK(F24)=1;"+ ;-";" + 0; - 0"));METNEÇEVİR(F24;" + 0/0; - 0/0"))&" n² ")))&EĞER(G24=0;"";EĞER(VE(E24=0;F24=0);YERİNEKOY((EĞER(MOD(G24;1)=0;METNEÇEVİR(G24;EĞER(MUTLAK(G24)=1;"+ ;-";" + 0; - 0"));METNEÇEVİR(G24;" + 0/0; - 0/0"))&" n ");"+";"");(EĞER(MOD(G24;1)=0;METNEÇEVİR(G24;EĞER(MUTLAK(G24)=1;"+ ;-";" + 0; - 0"));METNEÇEVİR(G24;" + 0/0; - 0/0"))&" n ")))&EĞER(H24=0;"";EĞER(MOD(H24;1)=0;METNEÇEVİR(H24;EĞER(VE(E24=0;F24=0;G24=0);" 0; - 0";"+ 0; - 0"));METNEÇEVİR(H24;EĞER(VE(E24=0;F24=0;G24=0);" 0/0; - 0/0";"+ 0/0; - 0/0")))))
 
Son düzenleme:
Hocam çok harika olmuş. Ama o kadar uzun bir mantıksal sınama ki şaşırdım açıkçası. Elleriniz dert görmesin
 
Acele etmeyin son hanedeki sorunu (tek başına olma durumu) fark ettim, ona bakıyorum.
 
Düzelttim sanırım, sayfayı yenileyip son formül cevabımı tekrar kontrol edin.

Formülü;
-- ilgili hücrelerden sadece biri (herbiri için ayrı ayrı ayrı deneyin) doluyken (tamsayı/ondalıklı)
-- bir'den fazla hücre (aralıklı olarak) doluyken (tamsayı/ondalıklı)
deneyin.
.
 
Geri
Üst