• DİKKAT

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

EYOKSA veya EHATALIYSA fonksiyonu

hakanbent

Altın Üye
Katılım
31 Ağustos 2006
Mesajlar
37
Excel Vers. ve Dili
excel 11- türkçe
Sayın Forum arkadaşlarım;

Hazırladığım formül ile başka sayfalardan veri çekiyorum. Ancak ilgili sayfanın, ilgili hücresinde "#YOK" değerinin dönmesini istemiyorum. Ancak aşağıdaki fonksiyonda çok fazla denememe rağmen, Eyoksa ve Ehatalıysa fonksiyonlarını kullanadım.

Kod:
=EĞER(DÜŞEYARA($A$2;puantaj!$A$2:$AF$81;2;0)=1;harcırah_listesi!$E$2;EĞER(DÜŞEYARA($A$2;puantaj!$A$2:$AF$81;2;0)=2;harcırah_listesi!$E$3;EĞER(DÜŞEYARA($A$2;puantaj!$A$2:$AF$81;2;0)=3;harcırah_listesi!$E$4;EĞER(DÜŞEYARA($A$2;puantaj!$A$2:$AF$81;2;0)=4;harcırah_listesi!$E$5;EĞER(DÜŞEYARA(A2;puantaj!$A$2:$AF$81;2;0)=5;harcırah_listesi!$E$5;EĞER(DÜŞEYARA($A$2;puantaj!$A$2:$AF$81;2;0)=6;harcırah_listesi!$E$6))))))

Dosyayı da ekliyorum ilgili formül "personel sayfasının, B2 hücresinde" yardımlarınız için şimdiden teşekkür ederim.

Saygılarımla.
 
Formülünüzü önce EHATALIYSA() içine yazıp hata üretiyosa 0 (sıfır) değerini aksi halde çalışmasını sağlayabilirsiniz.

=EĞER(EHATALIYSA( FORMÜLÜNÜZ ) ; 0 ; FORMÜLÜNÜZ)
 
sayın xxcell;

Daha önceki denemelerimde de aynı sizin söylediğiniz gibi denemiştim. Ancak gene de olmadı. Hatanın nereden kaynaklandığını bulamadım.

Saygılarımla.
 
sayın xxcell;

Daha önceki denemelerimde de aynı sizin söylediğiniz gibi denemiştim. Ancak gene de olmadı. Hatanın nereden kaynaklandığını bulamadım.

Saygılarımla.

Aşağıdaki şekilde deneyin.

=IF(ISERROR(IF(VLOOKUP(A2;puantaj!A2:AF81;2;0)=1;harcırah_listesi!B2;"")&IF(VLOOKUP(A2;puantaj!A2:AF81;2;0)=2;harcırah_listesi!B3;"")&IF(VLOOKUP(A2;puantaj!A2:AF81;2;0)=3;harcırah_listesi!B4;"")&IF(VLOOKUP(A2;puantaj!A2:AF81;2;0)=4;harcırah_listesi!B5;"")&IF(VLOOKUP(A2;puantaj!A2:AF81;2;0)=5;harcırah_listesi!B5;"")&IF(VLOOKUP(A2;puantaj!A2:AF81;2;0)=6;harcırah_listesi!B6;""));"";IF(VLOOKUP(A2;puantaj!A2:AF81;2;0)=1;harcırah_listesi!B2;"")&IF(VLOOKUP(A2;puantaj!A2:AF81;2;0)=2;harcırah_listesi!B3;"")&IF(VLOOKUP(A2;puantaj!A2:AF81;2;0)=3;harcırah_listesi!B4;"")&IF(VLOOKUP(A2;puantaj!A2:AF81;2;0)=4;harcırah_listesi!B5;"")&IF(VLOOKUP(A2;puantaj!A2:AF81;2;0)=5;harcırah_listesi!B5;"")&IF(VLOOKUP(A2;puantaj!A2:AF81;2;0)=6;harcırah_listesi!B6;""))


ISERROR=EHATALIYSA
IF=EĞER
VLOOKUP=DÜŞEYARA

..
 
İç içe o kadar eğer kullanmak fazla sağlıklı değil.
Genelde bir çok fonksiyon (yada kod) birbirinden farklı birsürü değişik teknikle çok alternatifli olarak kullanılabilir.
Herzaman amaca en uygun fonksiyonu (yada kodu) vede en doğru teknikle kullanmak bize zaman, bellek, anlaşılırlık kazandırır.

Eğer 1 ise şu hücreyi al, 2 ise şu hücreyi al, 3 ise şu hücreyi al şeklinde hazırlamışsınız. Kodunuz çalışıyor ama hata üretincede şu tepkiyi ver eklemeye kalkınca YA BELİRLİ BİR UZUNLUĞU AŞTIĞI İÇİN, YADA İÇ İÇE EĞER SAYISINI AŞTIĞI İÇİN bu formülü kabul etmiyor.


eleman () fonksiyonu ile şu şekilde düzeltirseniz çalışacaktır.

=ELEMAN(EĞER(EHATALIYSA(DÜŞEYARA(A2;puantaj!A2:AF81;2;0));0;DÜŞEYARA(A2;puantaj!A2:AF81;2;0))+1;0;harcırah_listesi!B2;harcırah_listesi!B3;harcırah_listesi!B4;harcırah_listesi!B5;harcırah_listesi!B6;harcırah_listesi!B7)

Alternatif olarak dolaylı () fonksiyonu ile;

=EĞER(EHATALIYSA(DÜŞEYARA(A2;puantaj!A2:AF81;2;0));0;DOLAYLI("harcırah_listesi!B"&DÜŞEYARA(A2;puantaj!A2:AF81;2;0)+1))
 
Teşekkür

Sayın xxcell ve Yurttas hocalarım;

Yurttas hocam, ne yazık ki verdiğiniz formülü uyguladım ancak, (herhalde çok uzun olması nedeni ile ben beceremedim.)çalışmadı. Sayın xxcell hocam verdiğiniz formüller çok güzel çalışıyor. Elinize emeğinize sağlık.Yurttas hocam size de ilgilendiğiniz ve emek harcadağınız için çok teşekkür ederim.

En derin saygılarımla.
 
Sayın xxcell ve Yurttas hocalarım;

Yurttas hocam, ne yazık ki verdiğiniz formülü uyguladım ancak, (herhalde çok uzun olması nedeni ile ben beceremedim.)çalışmadı. Sayın xxcell hocam verdiğiniz formüller çok güzel çalışıyor. Elinize emeğinize sağlık.Yurttas hocam size de ilgilendiğiniz ve emek harcadağınız için çok teşekkür ederim.

En derin saygılarımla.


Nasıl çalışmadı?

Sayın xxcell'in dediklerine tamamen katılıyorum. Ancak sizin formülünüzün mantığını bozmamak amacıyla bu şekilde düzenledim.

Dosyanıza uyarlanmış şekliyle ekte.


Dosyanız ekte.


..
 
Sayın Yurttas Hocam;

İlginize ve emeğinize çok teşekkür ederim. Ayrıca özür dilerim. Söylemek istediğim sizin formülünüzün çalışmadığı yönünde değildi. Ben formülün uzun olması nedeni ilke kopyala yapıştır yaptım. Daha sonra incelediğimde yapıştırdığm formülde örneğin;ha rcırah_listesi!B2;harcırah_listesi!B3; şeklinde bozulmalar olmuş bu nedenle çalışmamış. İlginiz ve Emeğiniz için tekrar teşekkür ederim.

En derin saygılarımla.
 
Geri
Üst