İçindekiler
Eğitimde, bir hedef hücre gerekli bir değeri içeriyorsa başka bir sütunda bir şeyin nasıl döndürüleceğini, kısmi eşleşmeyle nasıl arama yapılacağını ve VE mantığının yanı sıra VEYA ile birden çok ölçütün nasıl test edileceğini gösteren bir dizi "Excel içeriyorsa" formülü örneği sunulmaktadır.
Excel'deki en yaygın görevlerden biri, bir hücrenin ilgilenilen bir değer içerip içermediğini kontrol etmektir. Bu ne tür bir değer olabilir? Herhangi bir metin veya sayı, belirli bir metin veya herhangi bir değer (boş hücre değil).
Excel'de tam olarak hangi değerleri bulmak istediğinize bağlı olarak "Hücre içeriyorsa" formülünün çeşitli varyasyonları vardır. Genel olarak, mantıksal bir test yapmak ve koşul karşılandığında (hücre içeriyorsa) bir değer ve/veya koşul karşılanmadığında (hücre içermiyorsa) başka bir değer döndürmek için EĞER işlevini kullanırsınız. Aşağıdaki örnekler en sık karşılaşılan senaryoları kapsamaktadır.
Hücre herhangi bir değer içeriyorsa
Yeni başlayanlar için, herhangi bir metin, sayı veya tarih gibi herhangi bir şey içeren hücreleri nasıl bulacağımızı görelim. Bunun için, boş olmayan hücreleri kontrol eden basit bir EĞER formülü kullanacağız.
EĞER( hücre "", value_to_return , "")Örneğin, aynı satırdaki A sütununun hücresi herhangi bir değer içeriyorsa B sütununda "Boş değil" sonucunu döndürmek için B2'ye aşağıdaki formülü girip sağ alt köşedeki küçük yeşil kareye çift tıklayarak formülü sütunun aşağısına kopyalayabilirsiniz:
=IF(A2"", "Boş değil", "")
Sonuç buna benzer görünecektir:
Hücre metin içeriyorsa, o zaman
Sayıları ve tarihleri göz ardı ederek yalnızca metin değerlerine sahip hücreleri bulmak istiyorsanız, EĞER işlevini ISTEXT işleviyle birlikte kullanın. Hedef hücre şunları içeriyorsa başka bir hücrede bir değer döndürmek için genel formül şöyledir herhangi bir metin :
IF(ISTEXT( hücre ), value_to_return , "")Diyelim ki, A sütunundaki bir hücre metin içeriyorsa B sütununa "evet" sözcüğünü eklemek istiyorsunuz. Bunu yapmak için aşağıdaki formülü B2'ye yerleştirin:
=IF(ISTEXT(A2), "Evet", "")
Hücre sayı içeriyorsa, o zaman
Benzer şekilde, sayısal değerler (sayılar ve tarihler) içeren hücreleri de tanımlayabilirsiniz. Bunun için EĞER işlevini ISNUMBER ile birlikte kullanın:
IF(ISNUMBER( hücre ), value_to_return , "")Aşağıdaki formül, A sütununda karşılık gelen bir hücre herhangi bir sayı içeriyorsa B sütununda "evet" sonucunu döndürür:
=IF(ISNUMBER(A2), "Yes", "")
Hücre belirli bir metin içeriyorsa
Belirli bir metni (veya sayıları ya da tarihleri) içeren hücreleri bulmak kolaydır. Hedef hücrenin istenen metni içerip içermediğini kontrol eden normal bir EĞER formülü yazarsınız ve value_if_true Tartışma.
EĞER( hücre =" Metin ", value_to_return , "")Örneğin, A2 hücresinin "elma" içerip içermediğini bulmak için şu formülü kullanın:
=IF(A2="elma", "Evet", "")
Hücre belirli bir metin içermiyorsa
Tersi bir sonuç arıyorsanız, yani bir hedef hücre belirtilen metni ("elma") içermiyorsa başka bir sütuna bir değer döndürmek istiyorsanız, aşağıdakilerden birini yapın.
Boş bir dize ("") girin value_if_true argümanında ve döndürülecek metin value_if_false Tartışma:
=IF(A2="elma", "", "Elma değil")
Veya, "eşit değil" operatörünü mantıksal_test ve geri dönecek metin value_if_true:
=IF(A2 "elma", "Elma değil", "")
Her iki durumda da formül bu sonucu verecektir:
Hücre metin içeriyorsa: büyük/küçük harfe duyarlı formül
Formülünüzü büyük ve küçük harf karakterleri arasında ayrım yapmaya zorlamak için, iki metin dizesinin harf durumu da dahil olmak üzere tam olarak eşit olup olmadığını denetleyen EXACT işlevini kullanın:
=IF(EXACT(A2, "APPLES"), "Yes", "")
Ayrıca model metin dizesini bir hücreye (örneğin C1'e) girebilir, hücre referansını $ işaretiyle ($C$1) sabitleyebilir ve hedef hücreyi bu hücreyle karşılaştırabilirsiniz:
=IF(EXACT(A2,$C$1), "Evet", "")
Hücre belirli bir metin dizesi içeriyorsa (kısmi eşleşme)
Önemsiz görevleri bitirdik ve daha zorlu ve ilginç olanlara geçiyoruz :) Bu örnekte, belirli bir karakterin veya alt dizenin hücre içeriğinin bir parçası olup olmadığını bulmak için üç farklı işlev gerekir:
IF(ISNUMBER(SEARCH(" metin" , hücre )), value_to_return ,"")İçten dışa doğru çalışarak, formülün yaptığı şey şudur:
- SEARCH işlevi bir metin dizesini arar ve dize bulunursa ilk karakterin konumunu, aksi takdirde #VALUE! hatasını döndürür.
- ISNUMBER fonksiyonu, ARAMA işleminin başarılı veya başarısız olup olmadığını kontrol eder. ARAMA işlemi herhangi bir sayı döndürmüşse, ISNUMBER TRUE değerini döndürür. ARAMA işlemi bir hatayla sonuçlanırsa, ISNUMBER FALSE değerini döndürür.
- Son olarak, EĞER işlevi mantıksal testte DOĞRU olan hücreler için belirtilen değeri, aksi takdirde boş bir dize ("") döndürür.
Şimdi de bu genel formülün gerçek hayattaki çalışma sayfalarında nasıl çalıştığını görelim.
Hücre belirli bir metin içeriyorsa, başka bir hücreye değer koy
Diyelim ki A sütununda bir sipariş listeniz var ve belirli bir tanımlayıcıya sahip siparişleri bulmak istiyorsunuz, örneğin "A-". Bu görev şu formülle gerçekleştirilebilir:
=IF(ISNUMBER(SEARCH("A-",A2)), "Valid","")
Dizeyi formülde sabit kodlamak yerine, formülünüzde bu hücreye başvurarak ayrı bir hücreye (E1) girebilirsiniz:
=IF(ISNUMBER(SEARCH($E$1,A2)), "Valid","")
Formülün doğru çalışması için, dizeyi içeren hücrenin adresini $ işaretiyle (mutlak hücre başvurusu) kilitlediğinizden emin olun.
Hücre belirli bir metin içeriyorsa, başka bir sütuna kopyalayın
Geçerli hücrelerin içeriğini başka bir yere kopyalamak isterseniz, değerlendirilen hücrenin adresini (A2) value_if_true Tartışma:
=IF(ISNUMBER(SEARCH($E$1,A2)),A2,"")
Aşağıdaki ekran görüntüsü sonuçları göstermektedir:
Hücre belirli bir metin içeriyorsa: büyük/küçük harfe duyarlı formül
Yukarıdaki örneklerin her ikisinde de formüller büyük/küçük harfe duyarsızdır. Büyük/küçük harfe duyarlı verilerle çalıştığınız durumlarda, karakter durumunu ayırt etmek için SEARCH yerine FIND işlevini kullanın.
Örneğin, aşağıdaki formül küçük "a-" harfini göz ardı ederek yalnızca büyük "A-" harfine sahip siparişleri tanımlayacaktır.
=IF(ISNUMBER(FIND("A-",A2)), "Valid","")
Hücre birçok metin dizesinden birini içeriyorsa (VEYA mantığı)
Aradığınız birçok şeyden en az birini içeren hücreleri belirlemek için aşağıdaki formüllerden birini kullanın.
IF VEYA ISNUMBER ARAMA formülü
En belirgin yaklaşım, her bir alt dizeyi ayrı ayrı kontrol etmek ve en az bir alt dize bulunursa EĞER formülünün mantıksal testinde VEYA işlevinin DOĞRU değerini döndürmesini sağlamaktır:
IF(OR(ISNUMBER(SEARCH(" string1 ", hücre )), ISNUMBER(SEARCH(" string2 ", hücre ))), value_to_return , "")Diyelim ki A sütununda SKU'ların bir listesi var ve "elbise" veya "etek" içerenleri bulmak istiyorsunuz. Bu formülü kullanarak bunu yapabilirsiniz:
=IF(OR(ISNUMBER(SEARCH("dress",A2)),ISNUMBER(SEARCH("skirt",A2)), "Valid ","")
Formül birkaç öğe için oldukça iyi çalışır, ancak birçok şeyi kontrol etmek istiyorsanız kesinlikle izlenecek yol bu değildir. Bu durumda, bir sonraki örnekte gösterildiği gibi SUMPRODUCT işlevini kullanmak daha iyi bir yaklaşım olacaktır.
SUMPRODUCT ISNUMBER ARAMA formülü
Birden fazla metin dizesiyle uğraşıyorsanız, her bir dizeyi ayrı ayrı aramak formülünüzü çok uzun ve okunması zor hale getirecektir. Daha zarif bir çözüm, ISNUMBER SEARCH kombinasyonunu SUMPRODUCT işlevine yerleştirmek ve sonucun sıfırdan büyük olup olmadığına bakmak olacaktır:
SUMPRODUCT(--ISNUMBER(SEARCH( dizeler , hücre )))>0Örneğin, A2'nin D2:D4 hücrelerine girilen sözcüklerden herhangi birini içerip içermediğini bulmak için şu formülü kullanın:
=SUMPRODUCT(--ISNUMBER(SEARCH($D$2:$D$4,A2)))>0
Alternatif olarak, aranacak dizeleri içeren adlandırılmış bir aralık oluşturabilir veya sözcükleri doğrudan formülde sağlayabilirsiniz:
=SUMPRODUCT(--ISNUMBER(SEARCH({"dress", "skirt", "jeans"},A2)))>0
Her iki durumda da sonuç buna benzer olacaktır:
Çıktıyı daha kullanıcı dostu hale getirmek için, yukarıdaki formülü IF işlevine yerleştirebilir ve TRUE/FALSE değerleri yerine kendi metninizi döndürebilirsiniz:
=IF(SUMPRODUCT(--ISNUMBER(SEARCH($D$2:$D$4,A2)))>0, "Valid", "")
Bu formül nasıl çalışır?
Temelde, önceki örnekte açıklandığı gibi ISNUMBER'ı SEARCH ile birlikte kullanırsınız. Bu durumda, arama sonuçları {TRUE;FALSE;FALSE} gibi bir dizi şeklinde gösterilir. Bir hücre belirtilen alt dizelerden en az birini içeriyorsa, dizide TRUE olacaktır. Çift tekli operatör (--), TRUE / FALSE değerlerini sırasıyla 1 ve 0'a zorlar ve aşağıdaki gibi bir dizi sunar{Son olarak, SUMPRODUCT işlevi sayıları toplar ve sonucun sıfırdan büyük olduğu hücreleri seçeriz.
Hücre birkaç dize içeriyorsa (AND mantığı)
Belirtilen metin dizelerinin tümünü içeren hücreleri bulmak istediğiniz durumlarda, zaten tanıdık olan ISNUMBER SEARCH kombinasyonunu IF AND ile birlikte kullanın:
IF(AND(ISNUMBER(SEARCH(" string1 ", hücre )), ISNUMBER(SEARCH(" string2 ", hücre ))), value_to_return ,"")Örneğin, bu formülle hem "elbise" hem de "mavi" içeren SKU'ları bulabilirsiniz:
=IF(AND(ISNUMBER(SEARCH("dress",A2)),ISNUMBER(SEARCH("blue",A2)), "Valid ","")
Ya da dizeleri ayrı hücrelere yazabilir ve formülünüzde bu hücrelere başvurabilirsiniz:
=IF(AND(ISNUMBER(SEARCH($D$2,A2)),ISNUMBER(SEARCH($E$2,A2)), "Valid ","")
Alternatif bir çözüm olarak, her dizenin oluşumlarını sayabilir ve her sayının sıfırdan büyük olup olmadığını kontrol edebilirsiniz:
=IF(AND(COUNTIF(A2, "*elbise*")>0,COUNTIF(A2, "*mavi*")>0), "Valid","")
Sonuç tam olarak yukarıdaki ekran görüntüsünde gösterildiği gibi olacaktır.
Hücre değerine göre farklı sonuçlar döndürme
Hedef sütundaki her hücreyi başka bir öğe listesiyle karşılaştırmak ve her eşleşme için farklı bir değer döndürmek istiyorsanız, aşağıdaki yaklaşımlardan birini kullanın.
İç İçe EĞER'ler
İç içe IF formülünün mantığı şu kadar basittir: her koşulu test etmek için ayrı bir IF işlevi kullanırsınız ve bu testlerin sonuçlarına bağlı olarak farklı değerler döndürürsünüz.
EĞER( hücre =" lookup_text1 ", " dönüş _ metin1 ", EĞER( hücre =" lookup_text2 ", " dönüş _ metin2 ", EĞER( hücre =" lookup_text3 ", " dönüş _ metin3 ", "")))Diyelim ki A sütununda bir öğe listeniz var ve bunların kısaltmalarını B sütununda görmek istiyorsunuz. Bunu yapmak için aşağıdaki formülü kullanın:
=IF(A2="elma", "Ap", IF(A2="avokado", "Av", IF(A2="muz", "B", IF(A2="limon", "L", ""))))
İç içe EĞER'in sözdizimi ve mantığı hakkında tüm ayrıntılar için lütfen Excel iç içe EĞER - tek bir formülde birden çok koşul bölümüne bakın.
Arama formülü
Daha kompakt ve daha iyi anlaşılabilir bir formül arıyorsanız, dikey dizi sabitleri olarak sağlanan arama ve dönüş değerleriyle birlikte ARA işlevini kullanın:
LOOKUP( hücre , {" lookup_text1 ";" lookup_text2 ";" lookup_text3 ";...}, {" dönüş _ metin1 ";" dönüş _ metin2 ";" dönüş _ metin3 ";...})Doğru sonuçlar için, arama değerlerini şu şekilde listelediğinizden emin olun alfabetik sıra A'dan Z'ye.
=LOOKUP(A2,{"apple";"avocado";"banana";"lemon"},{"Ap";"Av";"B";"L"})
İç içe EĞER'lerle karşılaştırıldığında, Arama formülünün bir avantajı daha vardır - bu formül joker karakterler ve bu nedenle kısmi eşleşmeleri belirleyebilir.
Örneğin, A sütunu birkaç çeşit muz içeriyorsa, "*banana*" ifadesini arayabilir ve bu tür tüm hücreler için aynı kısaltmanın ("B") döndürülmesini sağlayabilirsiniz:
=LOOKUP(A2,{"apple";"avocado";"*banana*";"lemon"},{"Ap";"Av";"B";"L"})
Daha fazla bilgi için lütfen İç içe EĞER'lere alternatif olarak Arama formülü bölümüne bakın.
Vlookup formülü
Değişken bir veri kümesiyle çalışırken, ayrı hücrelere bir eşleşme listesi girmek ve bunları bir Vlookup formülü kullanarak almak daha uygun olabilir, örn:
=VLOOKUP(A2, $D$2:$E$5, 2,FALSE )
Daha fazla bilgi için lütfen yeni başlayanlar için Excel DÜŞEYARA eğitimine bakın.
Excel'de bir hücrenin herhangi bir değer veya belirli bir metin içerip içermediğini bu şekilde kontrol edersiniz. Gelecek hafta, Excel'in Hücre içeriyorsa formüllerini incelemeye devam edeceğiz ve ilgili hücreleri nasıl sayacağımızı veya toplayacağımızı, bu hücreleri içeren tüm satırları nasıl kopyalayacağımızı veya kaldıracağımızı ve daha fazlasını öğreneceğiz. Lütfen bizi izlemeye devam edin!
Alıştırma çalışma kitabı
Excel Hücre İçeriyorsa - formül örnekleri (.xlsx dosyası)