Excel: Jos solu sisältää kaavaesimerkkejä

  • Jaa Tämä
Michael Brown

Ohje tarjoaa useita "Excel jos sisältää" -kaavaesimerkkejä, jotka osoittavat, miten palauttaa jotain toisessa sarakkeessa, jos kohdesolu sisältää vaaditun arvon, miten etsiä osittaisella vastaavuudella ja testata useita kriteerejä OR- ja AND-logiikalla.

Yksi Excelin yleisimmistä tehtävistä on tarkistaa, sisältääkö solu kiinnostavan arvon. Millainen arvo se voi olla? Mikä tahansa teksti tai numero, tietty teksti tai mikä tahansa arvo (ei tyhjä solu).

Excelissä on useita muunnelmia "Jos solu sisältää" -kaavasta riippuen siitä, mitä arvoja haluat löytää. Yleensä käytät IF-funktiota loogisen testin tekemiseen ja palautat yhden arvon, kun ehto täyttyy (solu sisältää) ja/tai toisen arvon, kun ehto ei täyty (solu ei sisällä). Alla olevat esimerkit kattavat yleisimmät skenaariot.

    Jos solu sisältää minkä tahansa arvon, niin

    Aluksi katsotaan, miten löydetään solut, jotka sisältävät mitä tahansa: tekstiä, numeroita tai päivämääriä. Tätä varten käytetään yksinkertaista IF-kaavaa, joka etsii soluja, jotka eivät ole tyhjiä.

    IF( solu "", value_to_return , "")

    Jos haluat esimerkiksi palauttaa sarakkeessa B arvon "Ei tyhjä", jos sarakkeen A solu samalla rivillä sisältää minkä tahansa arvon, kirjoita seuraava kaava sarakkeeseen B2 ja kaksoisnapsauta sitten oikeassa alakulmassa olevaa pientä vihreää neliötä kopioidaksesi kaavan saraketta alaspäin:

    =IF(A2"", "Ei tyhjä", "")

    Tulos näyttää samankaltaiselta kuin tämä:

    Jos solu sisältää tekstiä, niin

    Jos haluat etsiä vain soluja, joissa on tekstiarvoja, numeroita ja päivämääriä unohtamatta, käytä IF:ää yhdessä ISTEXT-funktion kanssa. Tässä on yleinen kaava, jolla palautetaan jokin arvo toisessa solussa, jos kohdesolu sisältää seuraavat arvot. mikä tahansa teksti :

    IF(ISTEXT( solu ), value_to_return , "")

    Oletetaan, että haluat lisätä sanan "kyllä" sarakkeeseen B, jos sarakkeen A solu sisältää tekstiä. Voit tehdä sen laittamalla B2:een seuraavan kaavan:

    =IF(ISTEXT(A2), "Kyllä", "")

    Jos solu sisältää numeron, niin

    Samalla tavalla voit tunnistaa solut, joissa on numeerisia arvoja (numeroita ja päivämääriä). Käytä tähän IF-funktiota yhdessä ISNUMBER-toiminnon kanssa:

    IF(ISNUMBER( solu ), value_to_return , "")

    Seuraava kaava palauttaa "kyllä" sarakkeessa B, jos sarakkeen A vastaava solu sisältää minkä tahansa numeron:

    =IF(ISNUMBER(A2), "Kyllä", "")

    Jos solu sisältää tiettyä tekstiä

    Tiettyä tekstiä (tai numeroita tai päivämääriä) sisältävien solujen etsiminen on helppoa. Kirjoitat tavallisen IF-kaavan, joka tarkistaa, sisältääkö kohdesolu haluttua tekstiä, ja kirjoitat palautettavan tekstin kenttään value_if_true argumentti.

    IF( solu =" teksti ", value_to_return , "")

    Jos haluat esimerkiksi selvittää, sisältääkö solu A2 "omenoita", käytä tätä kaavaa:

    =IF(A2="omenat", "Kyllä", "")

    Jos solu ei sisällä tiettyä tekstiä

    Jos haluat päinvastaista tulosta eli palauttaa jonkin arvon toiseen sarakkeeseen, jos kohdesolu ei sisällä määritettyä tekstiä ("omenat"), tee jokin seuraavista.

    Anna tyhjä merkkijono ("") kenttään value_if_true argumentti, ja teksti, joka palautetaan value_if_false argumentti:

    =IF(A2="omenat", "", "Ei omenoita")

    Tai laita "ei ole yhtä suuri kuin" -operaattori kohtaan looginen_testi ja palautettava teksti value_if_true:

    =IF(A2 "omenat", "Ei omenoita", "")

    Kaava tuottaa tämän tuloksen joka tapauksessa:

    Jos solu sisältää tekstiä: isojen ja pienten kirjainten erotteleva kaava

    Jos haluat pakottaa kaavan erottamaan isot ja pienet kirjaimet toisistaan, käytä EXACT-funktiota, joka tarkistaa, ovatko kaksi merkkijonoa täsmälleen yhtä suuret, mukaan lukien kirjainten iskut:

    =IF(EXACT(A2, "APPLES"), "Yes", "")

    Voit myös syöttää mallin tekstijonon johonkin soluun (esimerkiksi soluun C1), korjata soluviittauksen $-merkillä ($C$1) ja verrata kohdesolua kyseiseen soluun:

    =IF(EXACT(A2,$C$1), "Kyllä", "")

    Jos solu sisältää tietyn tekstijonon (osittainen vastaavuus)

    Olemme lopettaneet triviaalit tehtävät ja siirrymme haastavampiin ja mielenkiintoisempiin :) Tässä esimerkissä tarvitaan kolmea eri funktiota sen selvittämiseksi, kuuluuko tietty merkki tai merkkijonon osa solun sisältöön:

    IF(ISNUMBER(SEARCH(" teksti" , solu )), value_to_return ,"")

    Kaava toimii sisältä ulospäin seuraavasti:

    • SEARCH-funktio etsii merkkijonoa, ja jos merkkijono löytyy, se palauttaa ensimmäisen merkin sijainnin, muutoin #VALUE! -virhe.
    • ISNUMBER-funktio tarkistaa, onko SEARCH onnistunut vai epäonnistunut. Jos SEARCH on palauttanut minkä tahansa luvun, ISNUMBER palauttaa arvon TRUE. Jos SEARCH tuottaa virheen, ISNUMBER palauttaa arvon FALSE.
    • Lopuksi IF-funktio palauttaa määritetyn arvon soluille, joiden looginen testi on TRUE, ja muutoin tyhjän merkkijonon ("").

    Katsotaanpa nyt, miten tämä yleinen kaava toimii todellisissa laskentataulukoissa.

    Jos solu sisältää tiettyä tekstiä, laita arvo toiseen soluun.

    Oletetaan, että sinulla on luettelo tilauksista sarakkeessa A ja haluat löytää tilaukset, joilla on tietty tunniste, esimerkiksi "A-". Tehtävä voidaan suorittaa tällä kaavalla:

    =IF(ISNUMBER(SEARCH("A-",A2)), "Valid","")

    Sen sijaan, että koodaat merkkijonon kaavassa, voit syöttää sen erilliseen soluun (E1) ja viitata kyseiseen soluun kaavassa:

    =IF(ISNUMBER(SEARCH($E$1,A2)), "Valid","")

    Jotta kaava toimisi oikein, muista lukita merkkijonon sisältävän solun osoite $-merkillä (absoluuttinen soluviittaus).

    Jos solu sisältää tiettyä tekstiä, kopioi se toiseen sarakkeeseen.

    Jos haluat kopioida kelvollisten solujen sisällön jonnekin muualle, anna vain arvioidun solun (A2) osoite komennossa value_if_true argumentti:

    =IF(ISNUMBER(SEARCH($E$1,A2)),A2,"")

    Alla olevassa kuvakaappauksessa näkyvät tulokset:

    Jos solu sisältää tiettyä tekstiä: isojen ja pienten kirjainten erotteleva kaava

    Molemmissa edellä mainituissa esimerkeissä kaavoissa ei oteta huomioon isoja ja pieniä kirjaimia. Jos työskentelet isojen ja pienten kirjainten erilaisten tietojen kanssa, käytä FIND-toimintoa SEARCH-toiminnon sijasta merkkien isojen ja pienten kirjainten erottamiseksi.

    Esimerkiksi seuraava kaava tunnistaa vain tilaukset, joissa on iso kirjain "A-" ja joissa jätetään huomiotta pieni kirjain "a-".

    =IF(ISNUMBER(FIND("A-",A2)), "Valid","")

    Jos solu sisältää yhden monista tekstijonoista (OR-logiikka)

    Jos haluat tunnistaa solut, jotka sisältävät vähintään yhden monista etsimistäsi asioista, käytä jotakin seuraavista kaavoista.

    IF OR ISNUMBER SEARCH kaava

    Ilmeisin lähestymistapa olisi tarkistaa jokainen osajono erikseen ja antaa OR-funktion palauttaa TRUE IF-kaavan loogisessa testissä, jos vähintään yksi osajono löytyy:

    IF(OR(ISNUMBER(SEARCH(" string1 ", solu )), ISNUMBER(SEARCH(" string2 ", solu ))), value_to_return , "")

    Oletetaan, että sinulla on sarakkeessa A SKU-luettelo ja haluat löytää ne, jotka sisältävät joko "mekko" tai "hame". Voit tehdä sen käyttämällä tätä kaavaa:

    =IF(OR(ISNUMBER(SEARCH("mekko",A2)),ISNUMBER(SEARCH("hame",A2))), "Valid ","")

    Kaava toimii melko hyvin parin kohteen osalta, mutta se ei todellakaan ole oikea tapa, jos haluat tarkistaa monia asioita. Tässä tapauksessa parempi lähestymistapa olisi käyttää SUMPRODUCT-funktiota, kuten seuraavassa esimerkissä näytetään.

    SUMPRODUCT ISNUMBER SEARCH-kaava

    Jos kyseessä on useita tekstijonoja, jokaisen merkkijonon etsiminen erikseen tekisi kaavasta liian pitkän ja vaikealukuisen. Tyylikkäämpi ratkaisu olisi upottaa ISNUMBER SEARCH -yhdistelmä SUMPRODUCT-funktioon ja katsoa, onko tulos suurempi kuin nolla:

    SUMPRODUCT(--ISNUMBER(SEARCH( jouset , solu )))>0

    Jos haluat esimerkiksi selvittää, sisältääkö A2 jonkin soluihin D2:D4 syötetyistä sanoista, käytä tätä kaavaa:

    =SUMPRODUCT(--ISNUMBER(SEARCH($D$2:$D$4,A2)))>0

    Vaihtoehtoisesti voit luoda nimetyn alueen, joka sisältää etsittävät merkkijonot, tai antaa sanat suoraan kaavassa:

    =SUMPRODUCT(--ISNUMBER(SEARCH({"mekko", "hame", "farkut"},A2)))>0

    Tulos on joka tapauksessa samanlainen kuin tämä:

    Jotta tuloste olisi käyttäjäystävällisempi, voit liittää yllä olevan kaavan IF-funktioon ja palauttaa oman tekstisi TRUE/FALSE-arvojen sijasta:

    =IF(SUMPRODUCT(--ISNUMBER(SEARCH($D$2:$D$4,A2)))>0, "Valid", "")

    Miten tämä kaava toimii

    Ytimessä käytetään ISNUMBERia yhdessä SEARCHin kanssa, kuten edellisessä esimerkissä selitettiin. Tässä tapauksessa hakutulokset esitetään muodossa {TRUE;FALSE;FALSE}. Jos solu sisältää vähintään yhden määritetyistä alimerkkijonoista, joukkoon tulee TRUE. Kaksinkertainen unaarinen operaattori (--) pakottaa TRUE / FALSE-arvot arvoihin 1 ja 0, ja tuottaa joukkoon kuten{1;0;0}. Lopuksi SUMPRODUCT-funktio laskee luvut yhteen ja poimii solut, joissa tulos on suurempi kuin nolla.

    Jos solu sisältää useita merkkijonoja (AND-logiikka)

    Tilanteissa, joissa haluat etsiä soluja, jotka sisältävät kaikki määritetyt tekstijonot, käytä jo tuttua ISNUMBER SEARCH -yhdistelmää yhdessä IF AND -yhdistelmän kanssa:

    IF(AND(ISNUMBER(SEARCH(" string1 ", solu )), ISNUMBER(SEARCH(" string2 ", solu ))), value_to_return ,"")

    Voit esimerkiksi löytää SKU:t, jotka sisältävät sekä "mekko" että "sininen", tällä kaavalla:

    =IF(AND(ISNUMBER(SEARCH("dress",A2)),ISNUMBER(SEARCH("blue",A2))), "Valid ","")

    Voit myös kirjoittaa merkkijonot erillisiin soluihin ja viitata näihin soluihin kaavassa:

    =IF(AND(ISNUMBER(SEARCH($D$2,A2)),ISNUMBER(SEARCH($E$2,A2))), "Valid ","")

    Vaihtoehtoisena ratkaisuna voit laskea kunkin merkkijonon esiintymät ja tarkistaa, onko jokainen luku suurempi kuin nolla:

    =IF(AND(COUNTIF(A2, "*mekko*")>0,COUNTIF(A2, "*sininen*")>0), "Valid","")

    Tulos on täsmälleen samanlainen kuin yllä olevassa kuvakaappauksessa.

    Miten palauttaa eri tuloksia solun arvon perusteella

    Jos haluat verrata kohdesarakkeen jokaista solua toiseen kohdeluetteloon ja palauttaa eri arvon jokaisesta vastaavuudesta, käytä jotakin seuraavista lähestymistavoista.

    Sisäkkäiset IF:t

    Sisäkkäisen IF-kaavan logiikka on yksinkertainen: käytät erillistä IF-funktiota kunkin ehdon testaamiseen ja palautat eri arvoja testien tulosten mukaan.

    IF( solu =" lookup_text1 ", " return _ text1 ", IF( solu =" lookup_text2 ", " return _ text2 ", IF( solu =" lookup_text3 ", " return _ text3 ", "")))

    Oletetaan, että sarakkeessa A on luettelo nimikkeistä ja haluat niiden lyhenteet sarakkeeseen B. Voit tehdä sen seuraavalla kaavalla:

    =IF(A2="omena", "Ap", IF(A2="avokado", "Av", IF(A2="banaani", "B", IF(A2="banaani", "B", IF(A2="sitruuna", "L", "" ))))

    Jos haluat lisätietoja sisäkkäisen IF:n syntaksista ja logiikasta, katso Excelin sisäkkäinen IF - useita ehtoja yhdessä kaavassa.

    Hakukaava

    Jos etsit tiiviimpää ja ymmärrettävämpää kaavaa, käytä LOOKUP-funktiota, jossa haku- ja palautusarvot annetaan pystysuorina vakioina:

    LOOKUP( solu , {" lookup_text1 ";" lookup_text2 ";" lookup_text3 ";...}, {" return _ text1 ";" return _ text2 ";" return _ text3 ";...})

    Tarkkojen tulosten saamiseksi muista luetella hakuarvot kohdassa aakkosjärjestys A:sta Z:hen.

    =LOOKUP(A2,{"apple";"avocado";"banana";"lemon"},{"Ap";"Av";"B";"L"})

    Verrattuna sisäkkäisiin JOS-kaavoihin Lookup-kaavalla on vielä yksi etu - se ymmärtää ominaisuuden jokerimerkit ja voi näin ollen tunnistaa osittaisia osumia.

    Jos esimerkiksi sarakkeessa A on muutamia banaanilajeja, voit etsiä "*banaani*" ja saada saman lyhenteen ("B") takaisin kaikille tällaisille soluille:

    =LOOKUP(A2,{"apple";"avocado";"*banana*";"lemon"},{"Ap";"Av";"B";"L"})

    Lisätietoja on kohdassa Lookup-kaava vaihtoehtona sisäkkäisille IF-kohdille.

    Vlookup-kaava

    Kun työskentelet muuttuvan tietokokonaisuuden kanssa, voi olla kätevämpää syöttää luettelo vastaavuuksista erillisiin soluihin ja hakea ne käyttämällä Vlookup-kaavaa, esimerkiksi:

    =VLOOKUP(A2, $D$2:$E$5, 2,FALSE )

    Lisätietoja on Excelin VLOOKUP-oppaassa aloittelijoille.

    Näin tarkistat, sisältääkö solu jonkin arvon tai tietyn tekstin Excelissä. Ensi viikolla jatkamme Excelin Jos solu sisältää -kaavojen tarkastelua ja opimme, miten laskea tai laskea yhteen relevantteja soluja, kopioida tai poistaa kokonaisia rivejä, jotka sisältävät kyseisiä soluja, ja paljon muuta. Pysy kuulolla!

    Harjoitustyökirja

    Excel Jos solu sisältää - kaavaesimerkkejä (.xlsx-tiedosto)

    Michael Brown on omistautunut teknologian harrastaja, jolla on intohimo yksinkertaistaa monimutkaisia ​​prosesseja ohjelmistotyökalujen avulla. Yli vuosikymmenen kokemuksella teknologia-alalta hän on hionut taitojaan Microsoft Excelissä ja Outlookissa sekä Google Sheetsissä ja Docsissa. Michaelin blogi on omistettu jakamaan tietojaan ja asiantuntemustaan ​​muiden kanssa, ja se tarjoaa helposti seurattavia vinkkejä ja opetusohjelmia tuottavuuden ja tehokkuuden parantamiseksi. Olitpa kokenut ammattilainen tai aloittelija, Michaelin blogi tarjoaa arvokkaita oivalluksia ja käytännön neuvoja, joiden avulla saat kaiken irti näistä tärkeistä ohjelmistotyökaluista.