İçindekiler
Excel'de çalışırken bunu sık sık yapmamız gerekir. Bir veri kümesinde bir veya daha fazla kriteri karşılayan belirli bir değeri aramamız gerekir. Bugün Excel'de bir veri kümesinde birden fazla kriteri karşılayan bir veya daha fazla değeri nasıl arayabileceğinizi göstereceğim.
Alıştırma Çalışma Kitabını İndirin
Bu makaleyi okurken egzersiz yapmak için bu alıştırma çalışma kitabını indirin.
Çoklu Kriterlerle Arama.xlsxExcel'de Birden Çok Ölçütle Arama Yapmanın 2 Uygun Yolu
Aşağıdaki veri setine bakın. Çalışan Kimlikleri, Çalışan Adları, Birleşme Tarihleri, ve Maaşlar adlı bir şirketin Jupyter Group kullanarak birden fazla kriter içeren değerleri arayacağız. DIZIN, EŞLEŞME, XLOOKUP, ve FİLTRE fonksiyonları İşte bugünkü görevimiz için veri setine genel bir bakış.
Şimdi bu veri kümesinden çeşitli çoklu kriter türlerini karşılayan değerleri aramaya çalışacağız.
Yöntem 1: AND Türünde Birden Fazla Kriter Arama
Öncelikle, aşağıdaki kriterlerden bazılarına bakmaya çalışalım VE İşte, VE tipi çoklu kriterler, bir değerin seçilmek için tüm kriterleri karşılaması gerektiği anlamına gelir. KIMLIK daha büyük 400 ve daha yüksek bir maaş $40000 . Görevi şu şekilde gerçekleştirebilirsiniz 3 farklı şekillerde.
1.1 Satır ve Sütunlarda INDEX ve MATCH İşlevlerini Birleştirme
Ana konuya geçmeden önce, gidip şu sayfaya bir göz atabilirsiniz İNDEKS ve MAÇ Excel'in fonksiyonları. KIMLIK daha büyük 400 ve daha yüksek bir maaş $40000 kullanarak İNDEKS EŞLEŞTİRME Formül. Aşağıdaki talimatları takip edelim:
Adımlar:
- Öncelikle, hücreyi seçin G7 ve aşağıdaki formülü yazınız.
=INDEX(C5:C16,MATCH(1,(B5:B16>400)*(E5:E16>40000),0),1)
- Bundan sonra, tuşuna basın Girin Sonuç olarak, bir çalışanımızın klavyesinde KIMLIK daha büyük 400 ve daha yüksek bir maaş $40000 , Richard Samuelson .
- B5:B16>400 bütün Kimlikler sütun içinde B ve bir dizi döndürür DOĞRU ve YANLIŞ , DOĞRU ne zaman bir KIMLIK 'den büyüktür. 400 , aksi takdirde YANLIŞ .
- E5:E16>40000 bütün maaşlar sütun içinde E ve bir dizi döndürür DOĞRU ve YANLIŞ , DOĞRU bir maaş daha büyük olduğunda $40,000 , aksi takdirde YANLIŞ.
- (B5:B16>400)*(E5:E16>40000) 'nin iki dizisini çarpar. DOĞRU ve YANLIŞ ve bir 1 ne zaman KIMLIK 'den büyüktür. 400 ve maaş aşağıdakilerden daha büyüktür $40,000 . Aksi takdirde döner 0 .
- MATCH(1,(B5:B16>400)*(E5:E16>40000),0) dizinin içinden geçer (B5:B16>400)*(E5:E16>40000) ve ilk seri numarasını döndürür 1 karşılaştığı.
- Bu durumda, ilk 1 seri numarası 5'te olduğu için 5 döndürür.
- Sonunda, INDEX(C5:C16,MATCH(1,(B5:B16>400)*(E5:E16>40000),0),1) aralıktaki Çalışan adını döndürür C5:C16 'nin çıktısına eşit olan satır numarası ile MAÇ fonksiyonuna ve sütun numarasına eşittir 1 .
- Bu, bir çalışan ile gerekli KIMLIK daha büyük 400 ve daha yüksek bir maaş $40,000 Şimdi, eğer bunu anlıyorsanız, bana işe giren çalışanı bulmak için gerekli formülü söyleyebilir misiniz? 31 Aralık 2009 tarihinden önce ama yine de maaş alıyor 25.000 $'dan az .
- Daha sonra, aşağıdaki formülü hücreye yazın G7 .
=INDEX(C5:C16,MATCH(1,(D5:D16
- Bu nedenle, vur Girin . Ayrıca, şunları alacaksınız Angela Hopkins formülün getirisi olarak.
Daha fazlasını okuyun: Excel'de Kullanabileceğiniz 7 Arama Türü
1.2 XLOOKUP Fonksiyonunun Kullanımı
Bir önceki görevi şu şekilde gerçekleştirebiliriz XLOOKUP Ama unutmayın, XLOOKUP yalnızca Office 365 Ana konuya geçmeden önce, şu sayfalara bir göz atabilirsiniz XLOOKUP Şimdi, Excel'in KIMLIK daha büyük 400 ve daha yüksek bir maaş $40,000 kullanarak XLOOKUP fonksiyonunu öğrenmek için aşağıdaki talimatları takip edelim!
Adımlar:
- İlk olarak, aşağıdaki formülü hücreye yazın G7 .
=XLOOKUP(1,(B5:B16>400)*(E5:E16>40000),C5:C16)
- Sonuç olarak, daha önce olduğu gibi aynı çalışanımız var, Richard Samuelson Bu, aşağıdaki özelliklere sahip çalışanın adıdır KIMLIK daha büyük 400 ve daha yüksek bir maaş $40,000 .
- (B5:B16>400)*(E5:E16>40000) 'nin bir dizisini döndürür. 1 ve 0 , 1 ne zaman KIMLIK 'den büyüktür. 400 ve maaş aşağıdakilerden daha büyüktür $40,000 . 0 Aksi halde.
- XLOOKUP(1,(B5:B16>400)*(E5:E16>40000),C5:C16) önce dizi içinde 1'i arar (B5:B16>400)*(E5:E16>40000). Bir tane bulduğunda, aralıktaki bitişik hücresindeki değeri döndürür C5:C16 .
Daha fazlasını okuyun: Excel'de ARA Fonksiyonu Nasıl Kullanılır (4 Uygun Örnek)
1.3 FILTER İşlevinin Uygulanması
Bu İNDEKS EŞLEŞTİRME ve XLOOKUP formülünün bir sınırlaması vardır. Birden fazla değer verilen ölçütü karşılıyorsa, yalnızca ilk değeri döndürürler. Örneğin, daha önceki örnekte, yakından bakarsanız, aşağıdakilerin olduğunu göreceksiniz iki ile çalışanlar KIMLIK daha büyük 400 ve daha yüksek bir maaş $40,000 Onlar Richard Samuelson ve Usman Malik. Ama İNDEKS EŞLEŞTİRME ve XLOOKUP formüller geri döner sadece ilk Çalışan, Richard Samuelson Verilen kriterleri karşılayan tüm değerleri almak için FİLTRE Ama unutmayın, Excel'in FİLTRE fonksiyonu da sadece Office 365 .
Adımlar:
- Çalışanları bulmak için KIMLIK daha büyük 400 ve daha yüksek bir maaş $40,000 ve FİLTRE formül olacak:
=FILTER(C5:C16,(B5:B16>400)*(E5:E16>40000))
- Bundan sonra, bu kez tüm kriterleri koruyan tüm çalışanlarımız var, Richard Samuelson ve Usman Malik .
- (B5:B16>400)*(E5:E16>40000) 'nin bir dizisini döndürür. 1 ve 0 , 1 Kimlik 400'den büyük ve maaş 40.000 $'dan fazla olduğunda. 0 Aksi takdirde (Bkz. İNDEKS EŞLEŞTİRME bölümü).
- FILTER(C5:C16,(B5:B16>400)*(E5:E16>40000)) dizideki tüm değerlerin içinden geçer (B5:B16>400)*(E5:E16>40000), ve bulduğunda 1 aralığından bitişik değeri döndürür C5:C16 .
- Böylece tüm çalışanları bir KIMLIK daha büyük 400 ve daha yüksek bir maaş $40,000 .
- Şimdi, eğer bunu anlıyorsanız, bana aşağıdaki tarihler arasında katılan çalışanları bulmak için gerekli formülü söyleyebilir misiniz? 1 Ocak 2014, ve 31 Aralık 2016 ama şu kadar maaş aldı en az 30,000 $ Evet. Haklısın. Formül şöyle olacak:
=FILTER(C5:C16,(D5:D16>=DATE(2014,1,1))*(D5:D16=30000))
Daha fazlasını okuyun: Excel'de Birden Fazla Değere Nasıl Bakılır (10 Yol)
Yöntem 2: OR Türünde Birden Fazla Kriter Arama
Şimdi, aşağıdaki kriterlerin birden fazlasını karşılayan bazı değerleri bulmaya çalışacağız VEYA İşte, VEYA tipi kriterler, bir değerin seçilecek tüm kriterler arasında en az bir kriteri karşılaması gerektiği anlamına gelir. Daha önce katılan çalışanı bulmaya çalışalım 1 Ocak 2010 veya daha yüksek bir maaş alıyor $30,000 .
2.1 Tarih Aralığında INDEX ve MATCH İşlevlerini Birleştirme
Ziyaret etmek için buraya tıklayın İNDEKS işlevini ziyaret etmek için buraya tıklayın ve MAÇ işlevine devam etmeden önce, isterseniz.
Adımlar:
- Bu İNDEKS EŞLEŞTİRME formülü aşağıdaki formül kutusunda gösterildiği gibi olacaktır.
=INDEX(C5:C16,MATCH(TRUE,((D5:D1630000))>0,0),1)
- Bak, elimizde Jack Simpson , işe giriş tarihi olan ilk çalışan 1 Ocak 2010 tarihinden önce veya bir maaş 30.000 $'dan fazla Ama çok daha fazla çalışan var. İNDEKS EŞLEŞTİRME, sadece ilkini alabiliyoruz.
- Daha sonra tüm çalışanları bir araya getireceğiz. FİLTRE Bu, en az bir kriterle eşleşen gerekli çalışandır.
- D5:D16
="" strong=""> 'nin bir dizisini döndürür. DOĞRU ve YANLIŞ . DOĞRU sütunundaki birleşme tarihi D 1 Ocak 2010'dan daha azdır. YANLIŞ Aksi halde. - E5:E16>30000 'nin bir dizisini de döndürür. DOĞRU ve YANLIŞ . DOĞRU maaş 30.000 $'dan fazla olduğunda. YANLIŞ Aksi halde.
- (D5:D1630000) iki diziyi toplar ve başka bir dizi döndürür 0, 1, veya 2 . 0 hiçbir kriter karşılanmadığında, 1 sadece bir kriter karşılandığında ve 2 her iki kriter de karşılandığında.
- ((D5:D1630000))>0 dizisinin tüm değerlerini gözden geçirir (D5:D1630000) ve geri döner DOĞRU değerinden büyükse 0 ( 1 ve 2 ), ve YANLIŞ aksi takdirde ( 0 ).
- MATCH(TRUE,((D5:D1630000))>0,0) dizideki tüm değerlerin içinden geçer ((D5:D1630000))>0 ve bir seri numarası aldığı ilk seri numarasını döndürür. DOĞRU .
- Bu durumda, geri dönüşler 3 çünkü ilk DOĞRU seri halinde 3 .
- Sonunda, INDEX(C5:C16,MATCH(TRUE,((D5:D1630000))>0,0),1) aralıktaki çalışan adını döndürür C5:C16 tarafından döndürülen seri numarası ile MAÇ fonksiyon.
Şimdi, eğer bunu anlıyorsanız, bana bir çalışanı bulmak için formülü söyleyebilir misiniz? KIMLIK daha az 300, veya Ocak ayından daha kısa bir katılma tarihi 1, 2012, veya daha yüksek bir maaş $30,000 ?
Evet. Haklısın. Formül şöyle olacak:
=INDEX(C5:C16,MATCH(TRUE,((B5:B16<200)+(D5:D1630000))>0,0),1)
Daha fazlasını okuyun: Excel'de Metin Arama Nasıl Yapılır (7 Uygun Yöntem)
2.2 XLOOKUP Fonksiyonunun Uygulanması
Aynı görevi aşağıdakileri kullanarak da gerçekleştirebilirsiniz XLOOKUP Excel'de işlev. XLOOKUP yalnızca Office 365 .
Adımlar:
- İşe giriş tarihi Ocak ayından önce olan çalışanı bulmak için formül 1, 2010, veya daha yüksek bir maaş $30,000 olacak:
=XLOOKUP(TRUE,((D5:D1630000))>0,C5:C16)
- Bakın, daha önce olduğu gibi aynı çalışanımız var, Jack Simpson . Ama tıpkı İNDEKS EŞLEŞTİRME formülüne göre, daha fazla çalışan verilen kriterleri karşılamaktadır. Biz sadece ilkini aldık.
- ((D5:D1630000))>0 geri döner DOĞRU iki kriterden en az biri karşılandığında, aksi takdirde YANLIŞ Yukarıdaki bölüme bakınız.
- XLOOKUP(TRUE,((D5:D1630000))>0,C5:C16) sütunundan çalışan adını döndürür C5:C16 , ilk aldığı yer DOĞRU .
Daha fazlasını okuyun: Excel'de Başka Bir Sayfadan Değer Arama (3 Kolay Yöntem)
2.3 FILTER Fonksiyonunun Kullanımı
Son olarak, aynı görevi aşağıdakileri kullanarak gerçekleştireceğiz FİLTRE Excel'de işlev. FİLTRE işlevi yalnızca Office 365 Bu sefer daha önce katılan tüm çalışanları alacağız. 1 Ocak 2010, veya daha fazla maaş aldılar $30,000 .
Adımlar:
- Formül, aşağıdaki formül kutusunda gösterilenle aynı olacaktır.
=FILTER(C5:C16,((D5:D1630000))>0)
- Böylece, verilen kriterlerden en az birini karşılayan tüm çalışanları döndürür.
- Bakın, bu sefer verdiğimiz kriterleri karşılayan tüm çalışanları aldık, işe başlama tarihi 1 Ocak 2010, veya daha yüksek maaş $30,000 .
- ((D5:D1630000))>0 geri döner DOĞRU iki kriterden en az biri karşılandığında, aksi takdirde YANLIŞ . Bakınız İNDEKS EŞLEŞTİRME Bölüm.
- FILTER(C5:C16,((D5:D1630000))>0) aralığındaki tüm hücrelerin içinden geçer C5:C16 ancak yalnızca bir DOĞRU .
Daha fazlasını okuyun: Excel'de Bir Tabloya Nasıl Bakılır (8 Yöntem)
Sonuç
Bu yöntemleri kullanarak, herhangi bir veri kümesinden birden fazla kriteri karşılayan bir değeri arayabilirsiniz. Başka bir yöntem biliyor musunuz? Veya herhangi bir sorunuz var mı? Bize sormaktan çekinmeyin.