Eksik değerleri bul
Bazen iki listeyi karşılaştırarak A listesindeki bir değerin B listesinde bulunup bulunmadığını kontrol etmeniz gerekebilir. Örneğin, bir ürün listeniz var ve listedeki ürünlerin tedarikçiniz tarafından sağlanan ürün listesinde olup olmadığını kontrol etmek istiyorsunuz. Bu görevi gerçekleştirmek için aşağıda üç yöntem listelenmiştir, istediğiniz yöntemi seçebilirsiniz.
Eksik değerleri MATCH, ISNA ve IF ile bul
Eksik değerleri VLOOKUP, ISNA ve IF ile bul
Eksik değerleri COUNTIF ve IF ile bul
Eksik değerleri MATCH, ISNA ve IF ile bul
Yukarıdaki ekran görüntüsünde gösterildiği gibi listenizdeki tüm ürünlerin tedarikçinizin listesinde olup olmadığını bulmak için önce listedeki bir ürünün (A listesi değeri) tedarikçi listenizdeki (B listesi) konumunu almak için MATCH fonksiyonunu kullanabilirsiniz. Bir ürün bulunamazsa MATCH #N/A hatasını döndürür. Daha sonra bu sonucu ISNA'ya besleyerek #N/A hatalarını TRUE'lara dönüştürebilirsiniz, yani bu ürünler eksiktir. IF fonksiyonu daha sonra beklediğiniz sonucu döndürecektir.
Genel sözdizimi
=EĞER(ISNA(EŞLEŞ("aranan_değer",arama_aralığı,0)),"Eksik","Bulundu")
√ Not: "Eksik", "Bulundu" ifadelerini ihtiyaçlarınıza göre herhangi bir değere değiştirebilirsiniz.
- aranan_değer: EŞLEŞ'in arama_aralığında varsa konumunu almak için kullandığı değer veya yoksa #N/A hatası. Burada listenizdeki ürünlerdir.
- arama_aralığı: aranan_değer ile karşılaştırılacak hücre aralığı. Burada tedarikçinin ürün listesidir.
Listenizdeki tüm ürünlerin tedarikçinizin listesinde olup olmadığını bulmak için lütfen aşağıdaki formülü H6 hücresine kopyalayın veya girin ve sonucu almak için Enter tuşuna basın:
=EĞER(ISNA(EŞLEŞ(30002,$B$6:$B$10,0)),"Eksik","Bulundu")
Veya, formülü dinamik hale getirmek için bir hücre referansı kullanın:
=EĞER(ISNA(EŞLEŞ(G6,$B$6:$B$10,0)),"Eksik","Bulundu")
√ Not: Yukarıdaki dolar işaretleri ($) mutlak referansları belirtir, yani formüldeki arama_aralığı formülü diğer hücrelere taşıdığınızda veya kopyaladığınızda değişmez. Ancak, aranan_değer dinamik olmasını istediğinden, aranan_değer'e dolar işareti eklenmez. Formülü girdikten sonra, formülü alttaki hücrelere uygulamak için dolgu tutamacını aşağı çekin.
Formül açıklaması
Burada aşağıdaki formülü örnek olarak kullanıyoruz:
=EĞER(ISNA(EŞLEŞ(G8,$B$6:$B$10,0)),"Eksik","Bulundu")
- EŞLEŞ(G8,$B$6:$B$10,0): match_type 0, EŞLEŞ fonksiyonunun G8 hücresindeki 3004 değerinin ilk eşleşmesinin konumunu $B$6:$B$10 dizisinde döndürmesini zorlar. Ancak bu durumda, EŞLEŞ değerini arama dizisinde bulamadığı için #N/A hatasını döndürecektir.
- ISNA(ISNA(EŞLEŞ(G8,$B$6:$B$10,0))) = ISNA(ISNA(#N/A)): ISNA, bir değerin “#N/A” hatası olup olmadığını bulmak için çalışır. Eğer öyleyse, fonksiyon TURE döndürür; Değer “#N/A” hatası dışında bir şeyse, FALSE döndürür. Yani, bu ISNA formülü TURE döndürecektir.
- EĞER(ISNA(EŞLEŞ(G8,$B$6:$B$10,0)),"Eksik","Bulundu") = EĞER(TRUE,"Eksik","Bulundu"): ISNA ve EŞLEŞ tarafından yapılan karşılaştırma TRUE ise EĞER fonksiyonu Eksik döndürecektir, aksi takdirde Bulundu döndürür. Yani, formül Eksik döndürecektir.
Eksik değerleri VLOOKUP, ISNA ve IF ile bul
Listenizdeki tüm ürünlerin tedarikçinizin listesinde olup olmadığını bulmak için yukarıdaki EŞLEŞ fonksiyonunu VLOOKUP ile değiştirebilirsiniz, çünkü bir değer başka bir listede mevcut değilse yani kayıpysa #N/A hatası döndürdüğü için EŞLEŞ ile aynı şekilde çalışır.
Genel sözdizimi
=EĞER(ISNA(VLOOKUP("aranan_değer",arama_aralığı,1,YANLIŞ)),"Eksik","Bulundu")
√ Not: "Eksik", "Bulundu" ifadelerini ihtiyaçlarınıza göre herhangi bir değere değiştirebilirsiniz.
- aranan_değer: VLOOKUP'un arama_aralığında varsa konumunu almak için kullandığı değer veya yoksa #N/A hatası. Burada listenizdeki ürünlerdir.
- arama_aralığı: aranan_değer ile karşılaştırılacak hücre aralığı. Burada tedarikçinin ürün listesidir.
Listenizdeki tüm ürünlerin tedarikçinizin listesinde olup olmadığını bulmak için lütfen aşağıdaki formülü H6 hücresine kopyalayın veya girin ve sonucu almak için Enter tuşuna basın:
=EĞER(ISNA(VLOOKUP(30002,$B$6:$B$10,1,YANLIŞ)),"Eksik","Bulundu")
Veya, formülü dinamik hale getirmek için bir hücre referansı kullanın:
=EĞER(ISNA(VLOOKUP(G6,$B$6:$B$10,1,YANLIŞ)),"Eksik","Bulundu")
√ Not: Yukarıdaki dolar işaretleri ($) mutlak referansları belirtir, yani formüldeki arama_aralığı formülü diğer hücrelere taşıdığınızda veya kopyaladığınızda değişmez. Ancak, aranan_değer dinamik olmasını istediğinden, aranan_değere dolar işareti eklenmez. Formülü girdikten sonra, formülü alttaki hücrelere uygulamak için dolgu tutamacını aşağı çekin.
Formül açıklaması
Burada aşağıdaki formülü örnek olarak kullanıyoruz:
=EĞER(ISNA(VLOOKUP(G8,$B$6:$B$10,1,YANLIŞ)),"Eksik","Bulundu")
- VLOOKUP(G8,$B$6:$B$10,1,YANLIŞ): range_lookup YANLIŞ, VLOOKUP fonksiyonunun tam olarak eşleşen değeri aramasını ve G8 hücresindeki 3004 değerini döndürmesini zorlar. Eğer aranan_değer 3004, $B$6:$B$10 dizisinin 1. sütununda varsa, VLOOKUP o değeri döndürür; Aksi takdirde, #N/A hata değerini döndürür. Burada, 3004 dizide bulunmadığından, sonuç #N/A olacaktır.
- ISNA(ISNA(VLOOKUP(G8,$B$6:$B$10,1,YANLIŞ))) = ISNA(ISNA(#N/A)): ISNA, bir değerin “#N/A” hatası olup olmadığını bulmak için çalışır. Eğer öyleyse, fonksiyon TURE döndürür; Değer “#N/A” hatası dışında bir şeyse, FALSE döndürür. Yani, bu ISNA formülü TURE döndürecektir.
- EĞER(ISNA(VLOOKUP(G8,$B$6:$B$10,1,YANLIŞ)),"Eksik","Bulundu") = EĞER(TRUE,"Eksik","Bulundu"): ISNA ve VLOOKUP tarafından yapılan karşılaştırma TRUE ise EĞER fonksiyonu Eksik döndürecektir, aksi takdirde Bulundu döndürür. Yani, formül Eksik döndürecektir.
Eksik değerleri COUNTIF ve IF ile bul
Listenizdeki tüm ürünlerin tedarikçinizin listesinde olup olmadığını bulmak için COUNTIF ve IF fonksiyonlarıyla daha basit bir formül kullanabilirsiniz. Formül, Excel'in sıfır (0) hariç herhangi bir sayıyı TRUE olarak değerlendireceği gerçeğinden yararlanır. Yani bir değer başka bir listede varsa, COUNTIF fonksiyonu o değerin o listedeki tekrar sayısını döndürür, ardından IF bunu TURE olarak alır; Eğer değer listede yoksa, COUNTIF fonksiyonu 0 döndürür ve IF bunu FALSE olarak alır.
Genel sözdizimi
=EĞER(COUNTIF("arama_aralığı",aranan_değer),"Bulundu","Eksik")
√ Not: "Bulundu", "Eksik" ifadelerini ihtiyaçlarınıza göre herhangi bir değere değiştirebilirsiniz.
- arama_aralığı: aranan_değer ile karşılaştırılacak hücre aralığı. Burada tedarikçinin ürün listesidir.
- aranan_değer: COUNTIF'in arama_aralığındaki tekrar sayısını döndürmek için kullandığı değer. Burada listenizdeki ürünlerdir.
Listenizdeki tüm ürünlerin tedarikçinizin listesinde olup olmadığını bulmak için lütfen aşağıdaki formülü H6 hücresine kopyalayın veya girin ve sonucu almak için Enter tuşuna basın:
=EĞER(COUNTIF($B$6:$B$10,30002),"Bulundu","Eksik")
Veya, formülü dinamik hale getirmek için bir hücre referansı kullanın:
=EĞER(COUNTIF($B$6:$B$10,G6),"Bulundu","Eksik")
√ Not: Yukarıdaki dolar işaretleri ($) mutlak referansları belirtir, yani formüldeki arama_aralığı formülü diğer hücrelere taşıdığınızda veya kopyaladığınızda değişmez. Ancak, aranan_değer dinamik olmasını istediğinden, aranan_değer'e dolar işareti eklenmez. Formülü girdikten sonra, formülü alttaki hücrelere uygulamak için dolgu tutamacını aşağı çekin.
Formül açıklaması
Burada aşağıdaki formülü örnek olarak kullanıyoruz:
=EĞER(COUNTIF($B$6:$B$10,G8),"Bulundu","Eksik")
- COUNTIF($B$6:$B$10,G8): COUNTIF fonksiyonu, G8 hücresindeki 3004 değerinin $B$6:$B$10 dizisinde kaç kez göründüğünü sayar. Açıkça, 3004 dizide bulunmadığından, sonuç 0 olacaktır.
- EĞER(COUNTIF($B$6:$B$10,G8),"Bulundu","Eksik") = EĞER(0,"Bulundu","Eksik"): EĞER fonksiyonu 0'ı FALSE olarak değerlendirir. Yani, formül ilk argüman FALSE olarak değerlendirildiğinde döndürülecek olan Eksik değerini döndürecektir.
İlgili fonksiyonlar
EĞER fonksiyonu, Excel çalışma kitabındaki en basit ve en kullanışlı fonksiyonlardan biridir. Karşılaştırma sonucuna bağlı olarak basit bir mantıksal test gerçekleştirir ve sonuç TRUE ise bir değer, sonuç FALSE ise başka bir değer döndürür.
Excel EŞLEŞ fonksiyonu, bir hücre aralığında belirli bir değeri arar ve değerin göreli konumunu döndürür.
Excel VLOOKUP fonksiyonu, bir tablonun ilk sütununda eşleşme yaparak bir değeri arar ve aynı satırdaki belirli bir sütundan karşılık gelen değeri döndürür.
COUNTIF fonksiyonu, Excel'de bir ölçütü karşılayan hücrelerin sayısını saymak için kullanılan bir istatistiksel fonksiyondur. Mantıksal operatörleri (<>, =, >, ve <) destekler ve kısmi eşleşme için joker karakterler (? ve *) kullanır.
İlgili Formüller
Joker karakterler içeren bir değeri ara
Excel'de bir aralıkta belirli bir metin dizesi içeren ilk eşleşmeyi bulmak için, joker karakterler olan asterisk (*) ve soru işareti (?) ile bir INDEX ve EŞLEŞ formülü kullanabilirsiniz.
Bazen Excel'in kısmi bilgilere dayanarak veri alması gerekebilir. Sorunu çözmek için, joker karakterler olan asterisk (*) ve soru işareti (?) ile birlikte bir VLOOKUP formülü kullanabilirsiniz.
INDEX ve EŞLEŞ ile yaklaşık eşleşme
Çalışanların performansını değerlendirmek, öğrencilerin notlarını değerlendirmek, ağırlığa göre posta ücretini hesaplamak vb. durumlarda Excel'de yaklaşık eşleşmeler bulmamız gerekebilir. Bu eğitimde, ihtiyacımız olan sonuçları almak için INDEX ve EŞLEŞ fonksiyonlarının nasıl kullanılacağını anlatacağız.
Birden fazla kriterle en yakın eşleşme değerini ara
Bazı durumlarda, birden fazla kritere dayalı olarak en yakın veya yaklaşık eşleşme değerini bulmanız gerekebilir. INDEX, EŞLEŞ ve EĞER fonksiyonlarının kombinasyonuyla, bunu Excel'de hızlı bir şekilde yapabilirsiniz.
En İyi Ofis Üretkenlik Araçları
Kutools for Excel - Kalabalıktan Sıyrılmaya Yardımcı Olur
Kutools for Excel, İhtiyacınız Olan Her Şeyin Tek Tıklama Uzağında Olduğundan Emin Olmak İçin 300'den Fazla Özelliğe Sahiptir...
Office Tab - Microsoft Office'de (Excel dahil) Sekmeli Okuma ve Düzenlemeyi Etkinleştir
- Bir saniyede, onlarca açık belge arasında geçiş yapın!
- Her gün yüzlerce fare tıklamasından kurtulun, fare eline veda edin.
- Birden fazla belgeyi görüntülediğinizde ve düzenlediğinizde üretkenliğinizi %50 artırır.
- Ofis'e (Excel dahil) Chrome, Edge ve Firefox gibi etkili sekmeler getirir.