çok koşullu saydırma

Katılım
20 Mart 2008
Mesajlar
58
Excel Vers. ve Dili
2003 İngilizce
Altın Üyelik Bitiş Tarihi
22.04.2019
Ekteki tabloda iki koşul koyarak hasta saydırmak istiyorum.
Birinci koşul olarak C1:C8 aralığında 0'dan büyük değer gördüğünde hastaları saysın; ayrıca 2. koşul olarak C=0 olursa ve bunun karşılığındaki D > 10 olursa D/10 yaparak hasta sayısına tam sayı olarak ilave etsin. Örneğin bu tabloda birinci koşula göre 4 hasta var ve ikinci koşul ilave edilince 1 hasta daha eklemesi gerekir. Bunu nasıl formüle edebilirim ? Eğer fonksiyonu ile denedim, ama beceremedim. Yardımlarınız için şimdiden teşekkürler
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Kod:
=TOPLA.ÇARPIM((C1:C8>0)+NSAT((C1:C8=0)*(D1:D8>10)*(D1:D8/10)))
Bu şekilde deneyiniz.

TOPLA.ÇARPIM ~ SUMPRODUCT

NSAT ~ TRUNC

.
 
Katılım
20 Mart 2008
Mesajlar
58
Excel Vers. ve Dili
2003 İngilizce
Altın Üyelik Bitiş Tarihi
22.04.2019
Ömer bey,

Çok teşekkür ederim. Ancak talebimi (ikinci koşulla ilgili) biraz eksik ifade etmişim. C sutununda ilk sıfırı gördüğü zaman bunun karşılığındaki D>10 olursa D/10 yaparak ilave yapsın, geri kalanı (diğer C0='ları) hesaba katmasın. Bunu biraz daha şöyle açayım. D sütünu hastaya verdiğimiz ilaç miktarını ifade ediyor ve bu ilaç kullanılmazsa bile zamanla eksponansiyel olarak azalıyor. İşlem içinde hastaya en az 10 birim ilaç vermemiz gerek. 10 birimden az kalmışsa yeni bir hasta ilave edemeyiz demek oluyor. Bu durumda benim yolladığım tabloda 4 hastaya işlem yaptıktan sonra elimizde 11 birim ilaç var ve biz 5. hastayı da alabiliriz. Sizin formül bu durumda çalıştı. Ancak mevcut tabloda C4'ü sıfır yaparsak (yani dördüncü hastayı işleme almazsak) elimizde 27 birim ilaç kalıyor ve biz ancak iki hasta daha yapabiliriz (ve şayet yaparsak D4'ten sonraki rakamlar elimizde kalmayacağı için ilave hasta alma şansımız yok. Ama sizin formül bunu hesap edemediği için sanki toplamda 10 hasta yapabiliriz sonucu çıkıyor. Bunu düzeltme şansımız olur mu ? Tşkler...
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
İlk sıfırı gördü fakat D>10 değil ise ikinci sıfırdamı bu şartı arıyacak yoksa sonuç sıfırmı olacak.
 
Katılım
20 Mart 2008
Mesajlar
58
Excel Vers. ve Dili
2003 İngilizce
Altın Üyelik Bitiş Tarihi
22.04.2019
Değerli üstad,

Hayır, ilk 0'ı gördüğünde iş bitecek. Onun karşılığındaki D'de işlem yapacak. Sonraki sıfırları ve karşılığındaki D değerlerini dikkate almayacak.

Tşkler
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Kod:
=EĞERSAY(C1:C8;">0")+EĞER(TOPLA((C1:C8=0)*(D1:D8>10))>0;
  NSAT(KAYDIR(D1;KAÇINCI(1;(C1:C8=0)*(D1:D8>10);0)-1;0)/10);0)
Dizi formülüdür. Girişini ctrl + shift + enter tuş kombinasyonu ile tamamlayınız.
.
 
Katılım
20 Mart 2008
Mesajlar
58
Excel Vers. ve Dili
2003 İngilizce
Altın Üyelik Bitiş Tarihi
22.04.2019
Eline sağlık üstad. Bu formül işimi görür, ancak küçük bir eksik kaldı. Sizin formül C satırını 0 bulunca D miktarı ne olursa olsun 1 hasta ilave ediyor. Halbuki D'deki miktar artıkça (her 10 birimde ilave diğer bir hasta) alabileceğim hasta sayım artar. Örnegin tablomda C4'ü sıfır yapınca D4'te kalan miktar 27 birim oluyor. Bu da 27/10=en az iki hasta daha ilave edebilecegim anlamına gelir. Bunu hesaba katabilirmiyiz mümkünse ??

Saygılar
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
#6 numaralı mesajı yeniden düzenledim.

.
 
Katılım
20 Mart 2008
Mesajlar
58
Excel Vers. ve Dili
2003 İngilizce
Altın Üyelik Bitiş Tarihi
22.04.2019
Ömer bey,

Çok teşekkür ederim. İyiki varsın.

Sağlık ve esenlikler dilerim

Kerim
 
Üst