Çözüldü Bir hücrede yazılı olan sayıların adedi nasıl bulunur?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

erkansaglam

Kilopat
Katılım
16 Ağustos 2013
Mesajlar
277
Daha fazla  
Cinsiyet
Erkek
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?
 
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
 
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

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.
 
=EĞER(A1="";"";UZUNLUK(A1)-UZUNLUK(YERİNEKOY(A1;",";""))+1)
Bunu deneyin.

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.
 
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.​

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.

excel.png
 
=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. (boş bırak-boşuk koy demek değil yanlış anlamayın, virgülleri boşluk ile değiştirmek isteseydik " " bunu kullanırdık, "" bu bir nevi sil demek. Formül içerisinde metinler çift tırnak içinde "" belirtilir)
Ş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.
 

Yeni konular

Geri
Yukarı