İç içe Eğer (Nested if)


IF/EGER Fonksiyonu ve genel kullanımı IF/EGER fonksiyonuna giris konusunda görmüştük. Ancak birden fazla koşul aradığımız durumda tek IF/EGER fonksiyonu yeterli gelmeyecektir bu tip durumlarda nestedif/iç içe eğer yazarak çözüme ulaşmaya çalışacağız. nestedif/iç içe eğer  adı üzerinde birden fazla eğer fonksiyonunun ayni formül içinde beraber kullanılmasıdır. Basitten zora doğru giden örnekler ve önemli noktalarla konuyu anlamaya çalışalım.

Eğer(aranan koşul;koşul sağlanırsa değer; Eğer(diğer aranan koşul;koşul sağlanırsa değer; Eğer(diğer aranan koşul;koşul sağlanırsa değer; Eğer…; hiç bir koşul sağlanmazsa değer)))

1.Aşağıdaki örnekte öğrencilerin sınav puanları olan bir tablo var. Eğer puan kısmi bos ise öğrenci sınava girmedi demektir ve sonuc kismina “girmedi”, sınav puanı 70’in üzerindeyse “geçti”, altındaysa ise “kaldı” yazdıracağız.

nestedif_iciceeger2

Formul:

=IF(B2=””,”Girmedi”,IF(B2>=70,”Geçti”,”Kaldı”))

Not: Formüller her zaman soldan sağa doğru okunur. Yani bu formül için öncelikle bos hücre var mı diye bakar ve bos ise “girmedi” sonucunu verir, bos değil ise bir yan koşula geçer ve 70’den büyük mu diye bakar büyükse “geçti” sonucunu verir, 70’den büyük değil ise diğer tüm durumlarda “kaldı” sonucunu yazdırır.

nestedif_iciceeger

Daha iyi anlaşılması için formülün nasıl ilerlediğini bir akis şemasında gösterelim.

nestedifflow

Devamı »

Reklamlar

Zar At


Bu konu için kullandığımız fonksiyonlar ve ipuçları aşağıda, dosyayı indirmeden adımları ve ipuçlarını takip ederek kendiniz yapmayı denemek ister misiniz? 🙂

  1. 3’e 3’lük iki tane kare oluşturalım.
  2. RANDBETWEEN/RASTGELESAYIÜRET fonksiyonları 1 ile 6 arasında sayı üreten formülü 2 ayrı hücreye yazalım.
  3. Zar üzerindeki her bir sembol koşullu biçimlendirme, ikonlarından oluşturuldu.
  4. 3’e 3’lük her bir kare içine basit bir iç içe eğer fonksiyonu yazdık, koşullu biçimlendirme bu fonksiyonun sonucuna göre sembolü getirdi ya da getirmedi.

Not: Menu’de, Formuller/Formulas sekmesi altinda Simdi Hesapla/Calculate Now (kisayol:F9) her basıldığında sayfa hesaplama işlemi yapar ve yeniden rastgele sayı üretir. Ya da Visual Basic içerisine Calculate (sayfayı hesapla) komutu yazıp bu komutu bir tuşa atayabilirsiniz.

Sub hesapla()

Calculate

End Sub

download

İç İçe Eğer Kullanımı – Çalışanların Yıllık Primlerinin Hesaplanması


 EĞER(mantıksal_sınama;[eğer_doğruysa_değer];[eğer_yanlışsa_değer])

 IF(logical_test;[value_if_true];[value_if_false])

Not: IF/EGER ve iççice IF/EGER yazımı ile ilgili temel konu anlatımına buradan ulaşabilirsiniz.

Verilen şartlar doğrultusunda her bir çalışanın alacağı yıllık prim tutarını ayrı ayrı hesaplayalım.

nestedificicceegerÖnce tablomuzu tanıyalım:

ID: Çalışanların numarası

Standart prim: Extra hesaplamalar öncesi her çalışana tanımlanan prim tutarı

Master Durum: 1 =Mastırı var, 0= Mastırı yok

Pozisyon: MD=Mudur, MDY=Mudur yardımcısı U=Uzman

Toplam çalışılan yıl

Performans notu: 1’den 5’e kadar çalışanların değerlendirilmesi. 1 düşük performans, 5 yüksek performans

Proje adedi: Tamamlanan proje sayısı

Yıllık prim tutarı: Koşullar sonucu çalışanın alacağı prim

Şimdi son prim hesaplaması için verilen koşullara bakalım:

  1. Master’ı olan çalışanlar standart primin %15 fazlası kadar extra prim alır.
  2. Müdür ya da müdür yardımcısı pozisyonunda olan çalışan standart primin %50 kadar extra prim alır ancak master primi alamazlar.
  3. Çalıştığı yıl 5-10 arası olan 500TL, 10 yıl ve üzeri olan 750 TL ekstra prim alır.
  4. Performans notu 4 ve üzeri olanlar son hesaplama uzerinden %25 daha fazla prim alır.
  5. Performans notu 2 ve ya 3 olanlar ise en az 1 proje yapmış olma şartıyla son hesaplama uzerinden %20 fazla prim alır.

Devamı »