• DİKKAT

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

topla.çarpım da çarpım dizini oluşturma

mersilen

Destek Ekibi
Destek Ekibi
Katılım
31 Aralık 2009
Mesajlar
1,105
Excel Vers. ve Dili
excel 2007 türkçe
Excel Vers. ve Dili Ofis 2003
Merhabalar
Bir soruda hücre referansları ile dizi sabitlerini oluşturmak gerekti.{} işareti içinde hücre yazamadım.Bunun çözümü var mıdır.
Kod:
=TOPLA.ÇARPIM((D2:I2<>"")*({D2="";E2="";F2<>"";G2="";H2="";I2<>""}))
Formül değerlendirde aşağıdaki gibi çalışmalı

=TOPLA.ÇARPIM({YANLIŞ;YANLIŞ;DOĞRU;YANLIŞ;YANLIŞ;DOĞRU}*(D2="";E2="";F2<>"";G2="";H2="";I2<>""))

=TOPLA.ÇARPIM({YANLIŞ;YANLIŞ;DOĞRU;YANLIŞ;YANLIŞ;DOĞRU}*(YANLIŞ;YANLIŞ;DOĞRU;YANLIŞ;YANLIŞ;DOĞRU))

=TOPLA.ÇARPIM({YANLIŞ;YANLIŞ;DOĞRU;YANLIŞ;YANLIŞ;DOĞRU}*{YANLIŞ;YANLIŞ;DOĞRU;YANLIŞ;YANLIŞ;DOĞRU})

=TOPLA.ÇARPIM({0;0;1;0;0;1}


Gerçi aşağıdaki linkte formül kullanılamaz diye bir açıklama var ama alternatif çözümlerde olabilir.
http://office.microsoft.com/tr-tr/excel-help/HA010228458.aspx
 

Ekli dosyalar

Son düzenleme:
Merhaba,

Amaç koşullu biçimlendirme ile renklendirme yapmak ise ekteki örnek dosyayı kullanabilirsiniz.
 

Ekli dosyalar

Korhan bey cevap için teşekkürler,

Sizin cevapta istenen günler dışında ek bir gün daha olunca da doğruyu döndürüyor.
Benim dizin sabitlerini kullanmak istememdeki amaç formülasyonun kullanımını kolaylaştırmaktı.
Sabah işte ilham geldi bir çözüm ürettim.
{1;0;0;1;0;0} kısmını olması gereken şartlar gibi kabul edip doğrulara "1" değeri verince formül çalışıyor.
Formülü dizi formülü şeklinde kullanmak gerekiyor.
Kod:
=YADA(TOPLA(S({1;0;0;1;0;0}=S(D2:I2<>"")))=6;(TOPLA(S({0;1;0;0;1;0}=S(D2:I2<>"")))=6);(TOPLA(S({0;0;1;0;0;1}=S(D2:I2<>"")))=6);(TOPLA(S({1;0;1;0;1;0}=S(D2:I2<>"")))=6);(TOPLA(S({0;1;0;1;0;1}=S(D2:I2<>"")))=6);TOPLA(S(D2:I2<>""))=1)
 
Merhaba,

Ben sizin yapmak istediğinizi anlamıştım. Fakat farklı gün varyasyonları olduğu için YADA fonksiyonu ile çözüm üretmeyi uygun bulmuştum. Sizde aynı yöntemi kullanmışsınız. Tek fark doğru diziyi kullanarak alanı sorgulamışsınız. Soruda eğer gün varyasyonu olmayıp alanda dolu gün varsa yeşil renk yoksa kırmızı renk olsun denseydi çözüm daha kolay olurdu.
 
İlginize teşekkür ederim

Beyin cimnastiği olsun diye soruyorum?Bu tip çözümleme çalışmalarında aşağıdaki mantığı çalıştırabilecek formül var mıdır?
{0;0;1;0;0;1}={0;0;1;0;0;1};{0;0;1;0;1;1};{0;0;1;1;0;1}.....

Örneğin;

S(D2:I2<>"")={0;0;1;0;0;1};{0;0;1;0;1;1};{0;0;1;1;0;1}.....

S(D2:I2<>"")=yada({0;0;1;0;0;1};{0;0;1;0;1;1};{0;0;1;1;0;1}.....)

ara(S(D2:I2<>"");({0;0;1;0;0;1};{0;0;1;0;1;1};{0;0;1;1;0;1}.....)=doğru
 
Merhabalar
Bir soruda hücre referansları ile dizi sabitlerini oluşturmak gerekti.{} işareti içinde hücre yazamadım.

Merhaba,

Dizileri sizin söylediğiniz mantıkla elle tek tek yazmanın bana göre bir pratikliği yoktur. Bunun yerine tek tek, yada ile ve fonksiyonlarını kullanmak daha mantıklı olur.

Soruya pratik yönden yaklaşalım derseniz.

Benim çözümüm:

Pazartesiden Cumartesiye olan günlere 1-2-3-4-5-6 olarak sayı verelim. Gerçi bu sayıları vermezek bile sütun fonksiyonu ile bu sayıları elde edebiliriz, biz manuel verdiğimizi varsayalım.

1+4 Pazartesi ve Perşembe
2+5 Salı-Cuma
3+6 Çarşamba-Cumartesi
1+3+5 Pazartesi - Çarşamba - Cuma
2+4+6 Salı-Perşembe-Cumartesi


İstenen şartları verdiğimiz sayılara göre numaralandırdık. Bu şartlardaki numaraları matematiksel işleme sokarak benzersiz bir toplama sonucuna ulaşırsak basit bir dizi ile istediğiniz sonuçları alırız.

Benim hesaplama göre şartların ^3 üssünü alıp toplamak yeterli oluyor.

1-2-3-4-5-6 sayılarının ^3 üssü
1-8-27-64-125-216 dır. Son oluşan sayı gruplarını aşağıdaki gibi şartların numara karşılıkları ile toplarsak;

65 Pazartesi ve Perşembe
133 Salı-Cuma
243 Çarşamba-Cumartesi
153 Pazartesi - Çarşamba - Cuma
288 Salı-Perşembe-Cumartesi

Şartları ile {65\133\243\153\288} dizisini oluştırmuş oluruz.

Şimdi bu diziyi formüle ilave ederek istenen sonuçları elde edebiliriz.

Kod:
=TOPLA.ÇARPIM(--(TOPLA({1;2;3;4;5;6}^3*(D2:I2<>""))={65\133\243\153\288}))

Gibi. Yalnız sizin "Herhangibir Bir gün tek olarak dolu ise" şartınızda olduğu için basit bir ilave ile formülü aşağıdaki gibi tamamlarız.

Kod:
=YADA(BAĞ_DEĞ_DOLU_SAY(D2:I2)=1;TOPLA.ÇARPIM(--(TOPLA({1;2;3;4;5;6}^3*(D2:I2<>""))={65\133\243\153\288})))

Not: Hızlı yazımdan dolayı yazım hatası varsa kusuruma bakmayın.

.
 
Merhaba,

Ömer bey elinize sağlık. Güzel ve akıllıca bir yaklaşımla soruyu çözümlemişsiniz.
 
Teşekkür ederim Korhan bey.
 
Merhaba,
Soruya gelecek cevapları bende bekliyordum...
Harika bir çözüm Ömer bey, elinize sağlık.
 
Ömer hocam yine harikülade bir çözüm yapmışsınız.Bende zihninize sağlık deyim.

Not: http://www.excel.web.tr/f48/ko-ullu-hucre-reklendirme-t118899.html linkindeki soruya istinaden açmıştım.Lark beyin çözümünde sadece "x" karakterlerini esas alıyordu.Ben başka bir karakterde kullanılsa doğru sonucu üretecek bir formül için yola çıkmıştım.Sonuçta hem yeni bilgiler öğrenmiş oldum, hemde güzel bir formül ortaya çıktı.Herkese tekrar teşekkür ederim
 
Son düzenleme:
Teşekkür ederim arkadaşlar.
 
Geri
Üst