Hocam formüllerin sırayla izahını yapar mısınız?

=EĞER(A1="";"";UZUNLUK(A1)-UZUNLUK(YERİNEKOY(A1;",";""))+1) Eğer formülü adı üzerinde; eğer şu şart sağlanırsa; şunu yap; sağlanmazsa şunu yap +1 ekle Renklendirmelerle anlatmaya çalıştım. (Eğer formülü bu kadar kısa bitmeyebilir; eğer şu şart sağlanırsa bunu yap, sağlanmazsa hemen sonuca varma, şu şart sağlanıyor mu ona bak, o da sağlanmazsa şu şartın sağlanıp sağlanmadığına bak şeklinde uzayıp gider. Bizim formüldeki şart sağlanmazsa şunu yap kısmına geçelim, yani mavi kısma. Uzunluk(A1) kısmı A1 hücresindeki karakterleri sayar. A1 hücresinde (8,9,10,11) 9 karakter var UZUNLUK(YERİNEKOY(A1;",";"")) dediğimizde yine A1 hücresindeki karakterleri sayıyor ancak saymadan önce YERİNEKOY formülü devreye giriyor. YERİNEKOY formülü der ki; A1 hücresindeki "," karakterini bul ve "" ile değiştir. Şimdi "," bu karakteri "" ile sildiğimize göre A1 hücresi (891011) şeklinde değişti, UZUNLUK formülü A1 hücresinde 6 karakter bulmuş oldu. =EĞER(A1="";"";UZUNLUK(A1)-UZUNLUK(YERİNEKOY(A1;",";""))+1) A1 boş olsaydı "" devreye girecekti yani boş bırakacaktı. boş olmadığı için uzunluklar sayıldı (9-6) 3 ve en sondaki +1 ile sonuç 4 çıktı. Yukarıdaki anlattığımı tam olarak anladıysanız diğer formülü anlatmama gerek yok aslında. =EĞER(D1="";"";D1 200) Eğer D1 boş ise boş bırak değilse D1'i 200 ile çarp Biraz kafa karıştırıcı bir şekilde anlatmış olabilirim.

Formülü paket adedi başlığının altına yazıyorum. İlk sırayı hesap ediyor. Hücreyi seçiyorum ve sağ altına gelince imleç, siyah artı işaretine dönüşüyor. Aşağı doğru çekiyorum ve paket adedi altındaki hücrelere bu formülü uyguluyorum. Ücret kısmımın altına da yine aynı şekilde birim fiyatla adedi çarpacak formülü yazıyorum ve alt hücrelere de bunu uyguluyorum. Adet fiyatı olan 200 ile de adedi çarpınca ücret çıkıyor. Ama paket numarası girilmemiş hücrelerde #DEĞER! hatası alıyorum. Sanıyorum ki adet girilmemiş hücrelere boşluk koyuyor ve o hücreyi birim fiyatla çarpmak istediğim de ise hata veriyor. Umarım anlatabilmişimdir.

Merhaba, Örneğin bir hücreye "8, 9" yazdım diyelim. Sayı adedinin 2 olduğu başka bir hücreye yazdırmak istiyorum. Nasıl yapabilirim?

=EĞER(A1="";"";UZUNLUK(A1)-UZUNLUK(YERİNEKOY(A1;",";""))+1) Bunu deneyin.

Kişisel veri varsa onları kaldırıp ekran görüntüsü ekleseniz daha sağlıklı bilgi alabilirsiniz. Şimdi görmeden bir şey diyemedim.

Oldu. Teşekkür ederim. Bu formül işe yaradı ama buna bağlı olan bir diğer hücre #DEĞER! hatası verdi. Aslında size işi şöyle özetlemek isterim. Ben hücreye paket numaralarını yazıyorum. Bir diğer hücrede kaç adet paket satıldığını görüyorum -ki bu kısmı sizin sayenizde yaptım. Ben paket adedini elle giriyordum. Birim fiyatla da çarpınca ücret ortaya çıkıyordu. Yalnız formülü diğer hücrelere de uzatınca paket numarası girilmeyen hücrelerde boşluk var sanırsam ki çarpma işlemini yapmadı. Buna da bir çözümünüz varsa daha minnettar kalırım.

A1 hücresine "8,9" yazdınız diyelim. Başka bir hücreye aşağıdaki formülü yazarsanız sonuç 2 çıkacaktır. Mantık şu; Hücredeki "," karakterini sayınca sonuç 1 çıkacak formülün sonundaki +1 ile de doğru sonucu yani 2 yi bulacağız. Burada dikkat edilmesi gereken husus her sayının yada karakterin arasında "," konulmuş olması gerekmekte. Eğer arada boşluk var ise bunu da sayıya dahil eder ve sonuç hatalı olur. Boşluk var ise öncelikle onları kaldırın. =UZUNLUK(A1)-UZUNLUK(YERİNEKOY(A1;",";""))+1

Hocam yine Eğer formülünü kullanın "paket adedi" sütunu "D" ise; =EĞER(D1="";"";D1 200)

Yanıtınız için teşekkür ederim. Mantığı anladım ama formülize edemedim. Mantık, cümledeki boşluk sayısının 1 fazlası kadar kelime sayısı olması gibi bir şey. Formülü denedim. Hücrede 2 veya daha fazla sayı varsa formül harika. Fakat hücre boşken formül 1 değerini buluyor. Hücrede 1 adet sayı var ve virgül koymadığım halde (1, gibi) 1 sonucunu veriyor. Sanki hücrede 1 adet sayı varken ki durumu gözden geçirmemiz gerekiyor.