• DİKKAT

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

.::Tarih Sütunlarındaki BOŞ hücrelerde TOPLA.ÇARPIM::.

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,986
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Merhabalar.
Koşullara uyduğunda hücrelerde tarih üreten, uymadığında boş bırakan formül içeren sütunlarım (Q:AO) ve bu sütunların DOLU/BOŞ durumuna göre bu sütunlara karşılık gelecek şekilde başka sütunlarda (AP:BN) SAYIlar mevcut.

TOPLA.ÇARPIM işlevini kullanırken BOŞ tarih sütunları sorununa ilişkin birkaç örnek gördüm ama, belgemde sorun yaşıyorum.

Aşağıdaki formülden maksatım;
-- Q:AO sütunlarındaki tarihlerin AY sayıları D2 hücresine eşit (bu sütunlarda BOŞ hücreler mevcut),
-- K sütunundaki metinsel değerlerin B5 hücresine eşit,
olan satırlardaki;
-- Q:AO sütunlarındaki DOLU hücrelere karşılık gelen AP:BN sütunlarındaki sayıların TOPLAMını bulmak.

Kullandığım formül şöyle;
Kod:
=TOPLA.ÇARPIM((AY($Q$4:$AO$100)=$D$2)*($K$4:$K$100=$B5)*($AP$4:$BN$100))
Bu formülün baş tarafına
Kod:
METNEÇEVİR($Q$4:$AO$100;"a")<>"")*
ilavesi yaptığımda da -- (çift eksi) eklediğimde de sonuç alamadım.
Bir yerde hata yapıyorum ama nerede?
 
Kod:
.

=TOPLA.ÇARPIM(--($Q$4:$AO$100)<>"")*(AY($Q$4:$AO$100)=$D$2)*($K$4:$K$100=$B5)*($AP$4:$BN$100))

Deneyin. Olmadıysa, bir örnek dosya üzerinden gidelim.

.
 
Sorunum çözülmüş değil.

Sorunun asıl kaynağının tarih sütunlarındaki BOŞ hücreler değil,
TOPLA.ÇARPIM işlevinin kapsadığı sütun sayısıyla ilgili olduğunu düşündüm.

Formül içeriğinin kapsadığı sütun sayısı;
-- 16 (veya daha az) olduğunda doğru sonuç alırken,
-- 17 (veya daha fazla) olduğunda #DEĞER! hatası alıyorum.

Örnek belge ekte.
 

Ekli dosyalar

Sorunum çözülmüş değil.

Sorunun asıl kaynağının tarih sütunlarındaki BOŞ hücreler değil,
TOPLA.ÇARPIM işlevinin kapsadığı sütun sayısıyla ilgili olduğunu düşündüm.

Formül içeriğinin kapsadığı sütun sayısı;
-- 16 (veya daha az) olduğunda doğru sonuç alırken,
-- 17 (veya daha fazla) olduğunda #DEĞER! hatası alıyorum.

Örnek belge ekte.
.

Dosyanız ekte.


.
 

Ekli dosyalar

Sorunum çözülmüş değil.

Sorunun asıl kaynağının tarih sütunlarındaki BOŞ hücreler değil,
TOPLA.ÇARPIM işlevinin kapsadığı sütun sayısıyla ilgili olduğunu düşündüm.

Yukarıdaki şekilde diyerek eklediğim belgedeki asıl sorunun
BOŞ HÜCRE kavramıyla ilgisi var sanki.

Şöyle ki; belgedeki tarih ve sayılar (sağ taraftaki renkli kısımlar)
-- kopyala->özel yapıştır->değerleri şeklinde yazıldığında veya
-- mevcut tarih ve sayı verileri, formül sonucu olarak "" şeklinde yazdırıldığında TOPLA.ÇARPIM formülünün hiç çalışmadığını,
-- boş hücrelere F2->ENTER işlemi yapıldığında TOPLA.ÇARPIM formüllerinin sonuç ürettiğini
fark ettim. Bu duruma ilişkin olarak ne yapmam lazım acaba?

Çözüm önerilerini beklemekteyim.

Cevabın bu kısmını Sayın SERDAR'ın belge ekleyerek verdiği cevaptan sonra ekliyorum.
Çünkü hemen hemen aynı anda konuya cevap yazmışız.

Sayın SERDAR, ilginiz için teşekkürler ancak, gönderdiğiniz belgedeki formülü
asıl belgeme uyguladığımda da sorun aynen devam ediyor.
Sebebi de yukarıda açıkladığım gibi; tarih ve sayısal verilerin tümü,
hücre değerleri "" şeklinde sonuç üreten formüllerdir.

Bu konuda yapılacak bir şey var mıdır acaba?
 
Son düzenleme:
.

Bir hücreye 1 yazın ve kopyalayın. Tüm alana özel yapıştır olarak yapıştırın. Göreceksiniz ki, bazı boş hücreler 0 olurken, özellikle sarı alandaki hücreler boş kalıyor. Dolayısıyla bu hücreler temiz değil.

Formülünüzde bir hata yok.

.
 
.

Bir hücreye 1 yazın ve kopyalayın. Tüm alana özel yapıştır olarak yapıştırın. Göreceksiniz ki, bazı boş hücreler 0 olurken, özellikle sarı alandaki hücreler boş kalıyor. Dolayısıyla bu hücreler temiz değil.

Formülünüzde bir hata yok.

.

Sayın SERDAR ilginiz için teşekkürler ancak, konuya yazdığım bundan önceki son cevabımın son kısmında zaten bunu belirtmiştim.

Gerçek belgemde de hücreler TEMİZ değil evet, çünkü formüller mevcut ve formül sonuçları, bazı hücrelerde DEĞER üretirken bazı hücrelerde ise "" (BOŞ) şeklinde sonuç döndürüyor.

Bu durumda TOPLA.ÇARPIM işleviyle sonuç almam mümkün değil midir acaba?
 

Sayın SERDAR ilginiz için teşekkürler ancak, konuya yazdığım bundan önceki son cevabımın son kısmında zaten bunu belirtmiştim.

Gerçek belgemde de hücreler TEMİZ değil evet, çünkü formüller mevcut ve formül sonuçları, bazı hücrelerde DEĞER üretirken bazı hücrelerde ise "" (BOŞ) şeklinde sonuç döndürüyor.

Bu durumda TOPLA.ÇARPIM işleviyle sonuç almam mümkün değil midir acaba?


.

Sözünü ettiğiniz hücrelerde "" bu yok. Formülünüz bunun yerine nasıl bir karakter koyuyorsa bunu bilmiyorum.

.
 
.

F2 ENTER için aşağıdaki kodu kullanın.

Kod:
Sub Makro()

     Dim Alan As Range
     For Each Alan In Range("Q4:BN100")
        Alan.Select
        DoEvents
        SendKeys "{F2}", True
        SendKeys "{ENTER}", True
    Next
 
   
End Sub

.
 
Sözünü ettiğiniz hücrelerde "" bu yok. Formülünüz bunun yerine nasıl bir karakter koyuyorsa bunu bilmiyorum.

Tekrar merhaba Sayın SERDAR.

Belgeyi;
asıl belgemdeki formülleri (ya da kısaltılmış hallerini) ekledikten sonra bu haliyle paralelindeki hücrelere BOŞ/DOLU/SAYI kontrolü yapmak için bazı formül ve koşullu biçimlendirmeler uygulayarak
bu cevap ekinde tekrar yükledim..

Benim içeriği için "" (BOŞ) dediğim ama EXCEL diliyle KİRLİ hücrelerde sizin "" bu yok dediğiniz durumu açıklığa kavuşturmam lüzumlu hale geldi.

Zamanınızı alıyorum ama bir bakabilirseniz sevinirim.

Belgemi makrolu hale getirecek olursam gönderdiğiniz kodu tabii ki kullanacağım.

İlginiz için tekrar teşekkürler.

Örnek belge harici bağlantısı
.
 

Ekli dosyalar

Son düzenleme:
Merhabalar,
Sonuçları kontrol etmedim, eğer yanlışlık varsa mantık üzerinden gidebilirsiniz.
İlk önce TOPLAÇARPIM formülü ile sonuca gitmeyi denedim ama nedense bir türlü yapamadım.
Kod:
=TOPLA.ÇARPIM(ESAYIYSA(Q4:AO8)*ESAYIYSA(AP4:BN8)*(Q4:AO8>=TARİH(2015;5;1))*(Q4:AO8<=TARİH(2015;5;30)))
Formül ile sayma işlemini yaptım ama bir türlü toplama işlemini yapamadım. Uykulu uykulu gözümden kaçmıştır belki daha sonra formülü dizi formülüme çevirerek sonuca ulaştım (bana göre kontrolleri yapmadığımdan sabah erken kalkmam lazım)
Sonuç için;
Dizi formülüdür.
Kod:
=TOPLA(EĞER(ESAYIYSA(Q4:AO8)*(ESAYIYSA(AP4:BN8)*(Q4:AO8>=TARİH(2015;5;1))*(Q4:AO8<=TARİH(2015;5;30)));AP4:BN8))

Daxe Syán
 
Son düzenleme:
Merhabalar,...........Sonuç için;
Dizi formülüdür.
Kod:
=TOPLA(EĞER(ESAYIYSA(Q4:AO8)*(ESAYIYSA(AP4:BN8)*(Q4:AO8>=TARİH(2015;5;1))*(Q4:AO8<=TARİH(2015;5;30)));AP4:BN8))
Merhabalar Sayın bzace, yazdığınız dizi formülüne birkaç küçük ilave ile sorunu çözmüş oldum.
Kod:
=TOPLA(EĞER(ESAYIYSA($Q$8:$AO$104)*(ESAYIYSA($AP$8:$BN$104)*($Q$8:$AO$104>=TARİH($G$3;$G$2;1))*($Q$8:$AO$104<=SERİAY(TARİH($G$3;$G$2;1);0)))*($K$8:$K$104=H$3);$AP$8:$BN$104))
İlgi ve destek için teşekkürler.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Geri
Üst