Alıştırma: EĞERYOKSA ile Bulunamayan Fiyatlar
Yayın: · Son güncelleme:
Kısaca
Dört ürünlük fiyat listesinden üç sipariş kodunun fiyatını DÜŞEYARA ile bulun, listede olmayan kod için EĞERYOKSA ile "Fiyat yok" yazdırın. Alıştırma, yalnızca beklenen #YOK hatasını yakalamayı pratik ettirir.
Görev
A1:B5 aralığında dört ürün kodu ve fiyatı, D2:D4'te ise sipariş edilen kodlar var. Kodlardan biri fiyat listesinde yok. Fiyatlar varsayımsaldır.
E2 hücresine, D2'deki kodun fiyatını DÜŞEYARA ile bulan ve kod listede yoksa "Fiyat yok" yazan bir formül yazın. Formülü E4'e kadar kopyalayın. Hata yakalamak için EĞERHATA değil EĞERYOKSA kullanın.
Formül yazacağınız hücreler: E2, E3, E4
Veri
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Kod | Fiyat | Sipariş kodu | Fiyat | |
| 2 | A100 | 12,5 | A200 | ? | |
| 3 | A200 | 45 | A700 | ||
| 4 | A300 | 8 | A400 | ||
| 5 | A400 | 30 |
Soru işaretli hücre, formülü yazacağınız yerdir.
İpuçları (3)
- Önce DÜŞEYARA(D2;$A$2:$B$5;2;YANLIŞ) yazın ve A700 satırında #YOK gördüğünüzü doğrulayın.
- Bu formülü EĞERYOKSA'nın birinci argümanı yapın.
- İkinci argümana tırnak içinde "Fiyat yok" yazın.
Çözümü göster
=EĞERYOKSA(DÜŞEYARA(D2;$A$2:$B$5;2;YANLIŞ);"Fiyat yok")=IFNA(VLOOKUP(D2,$A$2:$B$5,2,FALSE),"Fiyat yok")Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.
DÜŞEYARA, D2'deki A200 kodunu A2:A5'te tam eşleşmeyle arar ve ikinci sütundaki 45'i döndürür. A700 listede olmadığı için #YOK oluşur, EĞERYOKSA bunu "Fiyat yok" metnine çevirir. A400 için 30 gelir. Tablo aralığı $ ile sabitlendiği için kopyalamada kaymaz.
Beklenen sonuçlar
| Hücre | Değer |
|---|---|
| E2 | 45 |
| E3 | Fiyat yok |
| E4 | 30 |
Bu alıştırmada kullanılan fonksiyonlar
Bu alıştırma şu dersin parçasıdır: İleri Ders 6: EĞERHATA ve EĞERYOKSA ile Hata Yönetimi
Sıkça Sorulan Sorular
EĞERHATA ile çözsem sonuç farklı olur mu?
Bu veride sonuç aynıdır. Fark, formülde başka bir hata olduğunda ortaya çıkar: EĞERHATA onu da "Fiyat yok" diye gizler, EĞERYOKSA ise gösterir.
YANLIŞ argümanını yazmazsam ne olur?
DÜŞEYARA yaklaşık eşleşme yapar ve A700 için listedeki en yakın küçük kod olan A400'ün fiyatını döndürebilir. Kod aramalarında son argümanı her zaman YANLIŞ yazın.