Formül Basitleştirme

Katılım
7 Ekim 2012
Mesajlar
12
Excel Vers. ve Dili
2007
Aşağıdaki formülü nasıl basitleştirebilirim. Aslında yapmak istediğim G2-H2-I2 hücresindeki değerleri G2 için T2:T6; H2 İÇİN U2:U4; I2 için V2:V4 arasındaki değerlere göre seçmek ve gruplandırmak. Bu formülü daha basit bir şekilde nasıl yapabilirim.

=+EĞER(VE(G2>=$T$2;G2<=$T$3;H2>=$U$2;H2<=$U$3;I2>=$V$2;I2<=$V$3);1;EĞER(VE(G2>=$T$3;G2<=$T$4;H2>=$U$2;H2<=$U$3;I2>=$V$2;I2<=$V$3);2;EĞER(VE(G2>=$T$4;G2<=$T$5;H2>=$U$2;H2<=$U$3;I2>=$V$2;I2<=$V$3);3;EĞER(VE(G2>=$T$5;G2<=$T$6;H2>=$U$2;H2<=$U$3;I2>=$V$2;I2<=$V$3);4;EĞER(VE(G2>=$T$2;G2<=$T$3;H2>=$U$2;H2<=$U$3;I2>=$V$3;I2<=$V$4);5;EĞER(VE(G2>=$T$3;G2<=$T$4;H2>=$U$2;H2<=$U$3;I2>=$V$3;I2<=$V$4);6;EĞER(VE(G2>=$T$4;G2<=$T$5;H2>=$U$2;H2<=$U$3;I2>=$V$3;I2<=$V$4);7;EĞER(VE(G2>=$T$5;G2<=$T$6;H2>=$U$2;H2<=$U$3;I2>=$V$3;I2<=$V$4);8;EĞER(VE(G2>=$T$2;G2<=$T$3;H2>=$U$3;H2<=$U$4;I2>=$V$2;I2<=$V$3);10;EĞER(VE(G2>=$T$3;G2<=$T$4;H2>=$U$3;H2<=$U$4;I2>=$V$2;I2<=$V$3);11;EĞER(VE(G2>=$T$4;G2<=$T$5;H2>=$U$3;H2<=$U$4;I2>=$V$2;I2<=$V$3);12;EĞER(VE(G2>=$T$5;G2<=$T$6;H2>=$U$3;H2<=$U$4;I2>=$V$2;I2<=$V$3);13;EĞER(VE(G2>=$T$2;G2<=$T$3;H2>=$U$3;H2<=$U$4;I2>=$V$3;I2<=$V$4);14;EĞER(VE(G2>=$T$3;G2<=$T$4;H2>=$U$3;H2<=$U$4;I2>=$V$3;I2<=$V$4);15;EĞER(VE(G2>=$T$4;G2<=$T$5;H2>=$U$3;H2<=$U$4;I2>=$V$3;I2<=$V$4);16;EĞER(VE(G2>=$T$5;G2<=$T$6;H2>=$U$3;H2<=$U$4;I2>=$V$3;I2<=$V$4);17;"X"))))))))))))))))



Dosyaya https://www.filemail.com/d/dnbovjguiwncyan ulaşılabilir
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,243
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Örnek dosya paylaşırsanız destek almanız kolaylaşacaktır. Altın üyeliği olmayan üyelerimiz harici dosya yükleme sitelerini kullanabiliyorlar.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,243
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Kriterlerinizde bir aritmetik varmı diye baktım ama göremedim.

4 grup koduna kadar U2-U3 V2-V3 hücreleri kullanılıyor. Belki bu kısım biraz daha toplu kurgulanabilir.

Formülünüzdeki 4 grup koduna ait formülü örneklersek aşağıdaki gibi oluyor.

C++:
=EĞER(VE(G2>=$T$2;G2<=$T$3;H2>=$U$2;H2<=$U$3;I2>=$V$2;I2<=$V$3);1;EĞER(VE(G2>=$T$3;G2<=$T$4;H2>=$U$2;H2<=$U$3;I2>=$V$2;I2<=$V$3);2;EĞER(VE(G2>=$T$4;G2<=$T$5;H2>=$U$2;H2<=$U$3;I2>=$V$2;I2<=$V$3);3;EĞER(VE(G2>=$T$5;G2<=$T$6;H2>=$U$2;H2<=$U$3;I2>=$V$2;I2<=$V$3);4))))
Ben bahsettiğim şekilde aşağıdaki gibi kısaltabildim.

C++:
=EĞER(VE(H2>=$U$2;H2<=$U$3;I2>=$V$2;I2<=$V$3);EĞER(VE(G2>=$T$2;G2<=$T$3);1;EĞER(VE(G2>=$T$3;G2<=$T$4);2;EĞER(VE(G2>=$T$4;G2<=$T$5);3;EĞER(VE(G2>=$T$5;G2<=$T$6);4)))))
Yani sizin uygulamanız bu bölüm için 264 karakter kullanırken benim önerim 166 karakter kullanarak sonuca ulaşıyor.

Formülün tümünü aynı mantıkla kısalttığımızda aşağıdaki şekle büründü. Sizin W2 hücresindeki formülünü 1069 karakter iken benim aşağıdaki önerim ise 676 karakter uzunluğundadır.

Belki bu şekilde değerlendirmek istersiniz.

C++:
=EĞER(VE(H2>=$U$2;H2<=$U$3;I2>=$V$2;I2<=$V$3);EĞER(VE(G2>=$T$2;G2<=$T$3);1;EĞER(VE(G2>=$T$3;G2<=$T$4);2;EĞER(VE(G2>=$T$4;G2<=$T$5);3;EĞER(VE(G2>=$T$5;G2<=$T$6);4))));EĞER(VE(H2>=$U$2;H2<=$U$3;I2>=$V$3;I2<=$V$4);EĞER(VE(G2>=$T$2;G2<=$T$3);5;EĞER(VE(G2>=$T$3;G2<=$T$4);6;EĞER(VE(G2>=$T$4;G2<=$T$5);7;EĞER(VE(G2>=$T$5;G2<=$T$6);8))));EĞER(VE(H2>=$U$3;H2<=$U$4;I2>=$V$2;I2<=$V$3);EĞER(VE(G2>=$T$2;G2<=$T$3);10;EĞER(VE(G2>=$T$3;G2<=$T$4);11;EĞER(VE(G2>=$T$4;G2<=$T$5);12;EĞER(VE(G2>=$T$5;G2<=$T$6);13))));EĞER(VE(H2>=$U$3;H2<=$U$4;I2>=$V$3;I2<=$V$4);EĞER(VE(G2>=$T$2;G2<=$T$3);14;EĞER(VE(G2>=$T$3;G2<=$T$4);15;EĞER(VE(G2>=$T$4;G2<=$T$5);16;EĞER(VE(G2>=$T$5;G2<=$T$6);17;"X"))))))))
 
Katılım
7 Ekim 2012
Mesajlar
12
Excel Vers. ve Dili
2007
Merhaba Korhan Bey. Aslında yapmak istediğim şuydu G2 hücresindeki değeri T2 ile T6 değerleri arasında bir aralık oluşturarak T2-T3,T3-T4,T4-T5,T5-T6 aralıklarından hangisinde ise o aralığı bulması. Yine H2 ve I2 hücrelerindeki değerleri U2-U4 ve V2-V4 değerleri arasında U2-U3,U3-U4 ve V2-V3,V3-V4 aralık oluşturarak toplamda G2-H2-I2 hücrelerindeki değerleri kullanarak 16 faklı grup oluşturmak için formülleştirmiştim.

Aslında forumda bu soruyu sorma amacım en kısa şekilde bu işlemi belki de formülü farklı bir şekilde oluşturarak yapabilir miyim sorusuna cevap aramaktı.

İlginiz için teşekkür ederim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,243
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Tek bir kriter aralığı olsaydı ARA (LOOKUP) ile sonuç alınabilirdi...

Ama sizde 3 lü kriter aralığı var. Ben kafamda kurguyu oluşturamadım.

Belki aklına farklı çözüm önerisi olan arkadaşlar çıkabilir...
 
Üst