H

Çözüldü Verileri tarih saate göre düzenleme

handemir12

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Sayın İLGİLİLER;
Ek deki dosyada iki koşullu bir arama yapıyorum, bunlar tarih ve saat.
Arama kriterlerine uymayan sonuç var ise bir önceki değeri kopyalıyor.
Fakat dikkat ettim uygun sonuçlar olsa da (bazen, neden bazen olduğunu da anlayamadım) yok kabul edip bir önceki değeri kopyalıyor.
Sanırım arama kriterleri ile aranan veriler arasında BİÇİM uyuşmazlığı var, bir şekilde biçim boyacısı yada hücreleri biçimlendir bölümünden
yararlanarak aynı biçime getirdim fakat başaramadım.
İlgilenirseniz çok sevinirim
SAYGILARIMLA
 

Ekli dosyalar

Selamlar,
Dosyanızı detaylı olarak incelemedim.
Açıklamalarınızdan hareketle
11.01.2018 için 10:20:00 için AL4 hücresinde 141625 yerine 141675 gelmesi problemi :
** Excel'in sayıları 15 basamak olarak saklaması kaynaklı bir problem...
Özellikle, saat (ya da Cos, Sin, ....) gibi 15 basamak ve üzerini ilgilendirebilen durumlar için dosyanızda olduğu gibi saatleri (direkt yazmadan) formülle hesaplatıp getirme işlemlerinde15 basamak olayı etkili olmaktadır.
Denemek için AL6 hücresine
=AL3=C62
formülünü yazın.

AL3 : Formülle getirdiğiniz 10:20:00
C62 : Listeden arattırılacak olan (11.01.2018 e ait olan) 10:20:00
Dolayısıyla =AL3=C62 formülü bize DOĞRU sonucunu vermeli... Oysa ki AL6 daki sonuç YANLIŞ yazıyor olacak. Yani iki değer birbirine EŞİT değil.

AL6 hücresi seçili iken
Formüller >>> Formülü Değerlendir seçtiğinizde açılan menüde Değerlendir butonuna basarak adım adım formülü değerlendirin.
Sonuçta göreceğiniz durum
AL3 = C62
0,430555555555555 = 0,430555555555556
Yani iki değer birbirine eşit değil....

Çözüm olarak, Yuvarlama işlemi kullanılabilir...
AL3 teki formülünüz
=DÜŞEYARA(AL2;O4 : P108;2;YANLIŞ)
yerine
KYUVARLA işlevi ile yuvarlatılırsa
=KYUVARLA(DÜŞEYARA(AL2;O4 : P108;2;YANLIŞ);1/144)
formülünü kullanabilirsiniz....
Formülü hücreye girdiğinizde
AL6 ya yazdığınız =AL3 = C62 DOĞRU sonucunu üretecektir... Ve de AL4 te de 141625 değerini yazacaktır...
Diğer formülle getirdiğiniz saatlerde de aynı işlemi uygulamak gerekir. Son basamak bir üst sayıya yuvarlanması gereken durumlarda bu problem ile karşılaşmamış olacaksınız.

Diğer yazdığınız ise,
"AG4 den başlayan formülü de eksik kurgulamış olabilirim"
Dosyanız boyut olarak büyük. Hesaplama şleminde aynı işlemi 2 defa hesaplatmak yerine TEK hesaplatma ile biraz performans kazanabilirsiniz.
Yani
AG4 hücresindeki formülünüz
=EĞER(ÇOKETOPLA($D$4:$D$20001;$B$4:$B$20001;$AF4;$C$4:$C$20001;AG$3)>0;ÇOKETOPLA($D$4:$D$20001;$B$4:$B$20001;$AF4;$C$4:$C$20001;AG$3);0)
Bunun yerine
=MAK(0;ÇOKETOPLA($D$4:$D$20001;$B$4:$B$20001;$AF4;$C$4:$C$20001;AG$3))
şeklinde yazılabilir...
 
Üst