Excel: As sel formulefoarbylden befettet

  • Diel Dit
Michael Brown

De tutorial jout in oantal "Excel as befettet" formulefoarbylden dy't sjen litte hoe't jo wat weromjaan kinne yn in oare kolom as in doelsel in fereaske wearde befettet, hoe't jo sykje mei in part oerienkomst en meardere kritearia testen mei OR as likegoed as EN logika.

Ien fan 'e meast foarkommende taken yn Excel is kontrolearjen oft in sel in wearde fan belang befettet. Wat foar wearde kin dat wêze? Gewoan elke tekst of nûmer, spesifike tekst, of elke wearde (gjin lege sel).

Der besteane ferskate farianten fan 'As sel befettet'-formule yn Excel, ôfhinklik fan krekt hokker wearden jo fine wolle. Algemien, do silst brûke de IF funksje foar in dwaan in logyske test, en werom ien wearde as de betingst is foldien (sel befettet) en / of in oare wearde as de betingst is net foldien (sel befettet net). De ûndersteande foarbylden dekke de meast foarkommende senario's.

    As sel in wearde befettet, dan

    Litte wy om te begjinnen sjen hoe't jo sellen kinne fine dy't überhaupt alles befetsje: elke tekst, nûmer of datum. Hjirfoar sille wy in ienfâldige IF-formule brûke dy't kontrolearret op net-lege sellen.

    IF( sel"", value_to_return, "")

    Foar Om bygelyks "Net leech" yn kolom B werom te jaan as de sel fan kolom A yn deselde rige in wearde befettet, fiere jo de folgjende formule yn yn B2, en dûbelklik dan op it lytse griene fjouwerkant yn 'e rjochter ûnderhoeke om de formule nei ûnderen te kopiearjen dekolom:

    =IF(A2"", "Not blank", "")

    It resultaat sil sa lykje:

    As sel tekst befettet, dan

    As jo ​​​​allinich sellen wolle fine mei tekstwearden dy't nûmers en datums negearje, brûk dan IF yn kombinaasje mei de ISTEXT-funksje. Hjir is de generyske formule om wat wearde werom te jaan yn in oare sel as in doelsel elke tekst befettet:

    IF(ISTEXT( sel), wearde_to_return, " ")

    Stel dat jo it wurd "ja" yn kolom B ynfoegje wolle as in sel yn kolom A tekst befettet. Om it dien te meitsjen, set de folgjende formule yn B2:

    =IF(ISTEXT(A2), "Yes", "")

    As sel nûmer befettet, dan

    Op in fergelykbere manier , kinne jo sellen identifisearje mei numerike wearden (nûmers en datums). Brûk hjirfoar de IF-funksje tegearre mei ISNUMBER:

    IF(ISNUMBER( sel), wearde_to_return, "")

    De folgjende formule jout "ja" werom yn kolom B as in oerienkommende sel yn kolom A elk nûmer befettet:

    =IF(ISNUMBER(A2), "Yes", "")

    As sel spesifike tekst befettet

    Sellen sykje dy't bepaalde tekst befetsje (of nûmers of datums) is maklik. Jo skriuwe in reguliere IF-formule dy't kontrolearret oft in doelsel de winske tekst befettet, en typ de tekst om werom te kommen yn it wearde_as_wier argumint.

    IF( sel=" tekst", wearde_to_return, "")

    Om bygelyks út te finen oft sel A2 "appels" befettet, brûk dizze formule:

    =IF(A2="apples", "Yes", "")

    As sel gjin spesifyk befettettekst

    As jo ​​nei it tsjinoerstelde resultaat sykje, dus wat wearde weromjaan nei in oare kolom as in doelsel de oantsjutte tekst ("appels") net befettet, doch dan ien fan 'e folgjende.

    Foar in lege tekenrige ("") yn it argumint wearde_as_wier , en tekst om werom te kommen yn it wearde_as_falsk argumint:

    =IF(A2="apples", "", "Not apples")

    Of , set de operator "net gelyk oan" yn logical_test en tekst om werom te gean yn value_if_true:

    =IF(A2"apples", "Not apples", "")

    Hoe dan ek, de formule sil produsearje dit resultaat:

    As sel tekst befettet: haadlettergefoelige formule

    Om jo formule te twingen om ûnderskied te meitsjen tusken haadletters en lytse letters, brûk dan de EKAKTE funksje dy't kontrolearret oft twa tekststrings krekt gelyk binne, ynklusyf de letter-case:

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

    Jo kinne de modeltekststring ek ynfiere yn guon sel (sizze yn C1), reparearje de selreferinsje mei it $ teken ($C$1), en fergelykje de doelsel mei dy sel:

    =IF(EXACT(A2,$C$1), "Yes", "")

    As sel befettet spesifike tekst string (diel oerienkomst)

    Wy binne klear mei triviale taken en geane troch nei mear útdaagjende en nijsgjirrige :) Yn dit foarbyld duorret it trije ferskillende funksjes om út te finen oft in opjûne karakter of substring diel is fan 'e sel ynhâld:

    IF(ISNUMBER(SEARCH(" tekst", sel)), wearde_to_return,"")

    Wurkje fan binnen út , hjir is wat de formule docht:

    • DeSEARCH funksje siket nei in tekst tekenrige, en as de tekenrige wurdt fûn, jout de posysje fan it earste karakter, de #VALUE! flater oars.
    • De ISNUMBER-funksje kontrolearret oft SEARCH slagge of mislearre. As SEARCH elk nûmer hat weromjûn, jout ISNUMBER TRUE werom. As SEARCH resultearret yn in flater, jout ISNUMBER FALSE.
    • Uteinlik jout de IF-funksje de opjûne wearde werom foar sellen dy't TRUE hawwe yn 'e logyske test, in lege tekenrige ("") oars.

    En no, litte wy sjen hoe't dizze generyske formule wurket yn wurkblêden yn it echte libben.

    As sel bepaalde tekst befettet, set dan in wearde yn in oare sel

    Stel dat jo in list hawwe mei oarders yn kolom A en jo wolle fine oarders mei in spesifike identifier, sis "A-". De taak kin folbrocht wurde mei dizze formule:

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

    Ynstee fan hardkodearjen fan de tekenrige yn 'e formule, kinne jo it ynfiere yn in aparte sel (E1), de referinsje dy sel yn jo formule :

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

    Om de formule goed te wurkjen, wês wis dat jo it adres fan 'e sel beskoattelje dy't de tekenrige befettet mei it $ teken (absolute selreferinsje).

    As sel spesifike tekst befettet, kopiearje it dan nei in oare kolom

    As jo ​​de ynhâld fan 'e jildige sellen earne oars wolle kopiearje, leverje dan gewoan it adres fan 'e evaluearre sel (A2) yn it wearde_if_wier argumint:

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

    It skermôfbylding hjirûnder lit de resultaten sjen:

    Assel befettet spesifike tekst: haadlettergefoelige formule

    Yn beide boppesteande foarbylden binne de formules net-gefoelige. Yn situaasjes as jo wurkje mei haadlettergefoelige gegevens, brûk dan de FIND-funksje ynstee fan SEARCH om de karakters te ûnderskieden.

    Bygelyks sil de folgjende formule allinich oarders identifisearje mei de haadletter "A-" negearje lytse letters " a-".

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

    As sel ien fan in protte tekststrings befettet (OF logika)

    Om sellen te identifisearjen dy't op syn minst ien fan de protte dingen wêr't jo nei sykje, brûk ien fan de folgjende formules.

    IF OR ISNUMBER SEARCH formule

    De meast foar de hân lizzende oanpak soe wêze om te kontrolearjen foar elke substring yndividueel en hawwe de OR-funksje jout TRUE werom yn de logyske test fan de IF-formule as op syn minst ien substring fûn wurdt:

    IF(OR(ISNUMBER(SEARCH(" string1", sel)), ISNUMBER (SEARCH(" string2", sel))), wearde_to_return, "")

    Stel dat jo in list mei SKU's hawwe yn kolom A en jo wolle dejingen fine dy't "jurk" of "rok" omfetsje. Jo kinne it dwaan troch dizze formule te brûken:

    =IF(OR(ISNUMBER(SEARCH("dress",A2)),ISNUMBER(SEARCH("skirt",A2))),"Valid ","")

    De formule wurket aardich goed foar in pear items, mar it is wis net de manier om gean as jo in protte dingen wolle kontrolearje. Yn dit gefal soe in bettere oanpak wêze mei it brûken fan de SUMPRODUCT-funksje lykas werjûn yn it folgjende foarbyld.

    SUMPRODUCT ISNUMBER SEARCH-formule

    As jo ​​binneomgean mei meardere tekststrings, sykjen nei elke tekenrige yndividueel soe jo formule te lang en lestich te lêzen meitsje. In eleganter oplossing soe wêze om de ISNUMBER SEARCH-kombinaasje yn te ynbêden yn de SUMPRODUCT-funksje, en sjen oft it resultaat grutter is as nul:

    SUMPRODUCT(--ISNUMBER(SEARCH( strings, sel), jo kinne in beneamd berik meitsje mei de tekenrige om te sykjen, of de wurden direkt yn 'e formule oanmeitsje:

    =SUMPRODUCT(--ISNUMBER(SEARCH({"dress","skirt","jeans"},A2)))>0

    It resultaat sil yn alle gefallen lykje op dit:

    Om de útfier brûkerfreonliker te meitsjen, kinne jo de boppesteande formule yn 'e IF-funksje nestelje en jo eigen tekst weromjaan ynstee fan de TRUE/FALSE-wearden:

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

    Hoe't dizze formule wurket

    Yn 'e kearn brûke jo ISNUMBER tegearre mei SEARCH lykas útlein yn it foarige foarbyld. Yn dit gefal wurde de sykresultaten fertsjintwurdige yn 'e foarm fan in array lykas {TRUE;FALSE;FALSE}. As in sel op syn minst ien fan 'e oantsjutte substrings befettet, sil d'r TRUE wêze yn 'e array. De dûbele unêre operator (--) twingt de TRUE / FALSE wearden nei respektivelik 1 en 0, en leveret in array lykas {1;0;0}. Uteinlik foeget de SUMPRODUCT-funksje de nûmers op, en wy kieze sellen út wêr't it resultaat grutter is as nul.

    Assel befettet ferskate stringen (EN logika)

    Yn situaasjes as jo sellen fine wolle mei alle oantsjutte tekststrings, brûk dan de al bekende ISNUMBER SEARCH kombinaasje tegearre mei IF AND:

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

    Jo kinne bygelyks SKU's fine dy't sawol "jurk" as "blau" befetsje mei dizze formule:

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

    Of jo kinne typen de snaren yn aparte sellen en ferwize nei dy sellen yn jo formule:

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

    As alternatyf oplossing kinne jo it foarkommen fan elke tekenrige telle en kontrolearje as elke telling grutter is as nul:

    =IF(AND(COUNTIF(A2,"*dress*")>0,COUNTIF(A2,"*blue*")>0),"Valid","")

    It resultaat sil krekt wêze lykas werjûn yn 'e skermprint hjirboppe.

    Hoe kinne jo ferskate resultaten weromjaan op basis fan selwearde

    As jo ​​​​elke sel yn 'e doelkolom fergelykje wolle mei in oare list mei items en in oare wearde foar elke wedstriid weromjaan wolle, brûk dan ien fan' e folgjende oanpak.

    Nested IF's

    De logika fan 'e geneste IF-formule is sa ienfâldich as dit: jo brûke in aparte IF-funksje om elke betingst te testen en ferskate wearden werom te jaan ôfhinklik fan de resultaten fan dy tests.

    IF( sel=" sykje_tekst1", " return_ tekst1", IF( sel=" sykje_tekst2", " return_ tekst2", IF( sel=" opsykje_tekst3", " return_ tekst3", "")))

    Stel dat jo in list hawwe mei items yn kolom A en jo wolle har ôfkoartings yn kolom B hawwe. Om it dien te meitsjen, brûk de folgjende formule:

    =IF(A2="apple", "Ap", IF(A2="avocado", "Av", IF(A2="banana", "B", IF(A2="lemon", "L", ""))))

    Foar folsleine details oer de syntaksis en logika fan geneste IF, sjoch asjebleaft Excel nestede IF - meardere betingsten yn ien formule.

    Opsykformule

    As jo ​​op syk binne nei in mear kompakte en better begryplike formule, brûk de LOOKUP-funksje mei opsyk- en weromwearden levere as fertikale arraykonstanten:

    LOOKUP( sel, {" lookup_text1";" lookup_text2";" opsykje_tekst3";...}, {" return_ tekst1";" werom_ tekst2";" return_ text3";...})

    Foar krekte resultaten, wês wis dat jo de opsykwearden yn alfabetyske folchoarder listje, fan A oant Z.

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

    Yn ferliking mei geneste IF's hat de Lookup-formule noch ien foardiel - it begrypt de jokertekens en kin dêrom partiel oerienkomsten identifisearje.

    Bygelyks as kolom A in pear soarten befettet fan bananen kinne jo "*banana*" opsykje en deselde ôfkoarting ("B") weromjaan foar al sokke sellen:

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

    Foar mear ynformaasje, sjoch asjebleaft Lookup-formule as alternatyf foar geneste IF's.

    Vlookup-formule

    As jo ​​wurkje mei in fariabele gegevensset, kin it handiger wêze om in list mei wedstriden yn aparte yn te fieren sellen en helje se op mei in Vlookup-formule,bgl.:

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

    Sjoch foar mear ynformaasje Excel VLOOKUP tutorial foar begjinners.

    Dit is hoe't jo kontrolearje oft in sel befettet elke wearde of spesifike tekst yn Excel. Folgjende wike sille wy trochgean te sjen nei Excel's As sel formules befettet en learje hoe't jo relevante sellen telle of sommje, folsleine rigen kopiearje of ferwiderje dy't dizze sellen befetsje, en mear. Bliuw asjebleaft op 'e hichte!

    Oefenwurkboek

    Excel As sel befettet - formulefoarbylden (.xlsx-bestân)

    Michael Brown is in tawijd technology-entûsjast mei in passy foar it ferienfâldigjen fan komplekse prosessen mei software-ark. Mei mear as in desennium ûnderfining yn 'e tech-yndustry hat hy syn feardigens yn Microsoft Excel en Outlook, lykas Google Blêden en Docs, oanskerpe. Michael's blog is wijd oan it dielen fan syn kennis en ekspertize mei oaren, en biedt maklik te folgjen tips en tutorials foar it ferbetterjen fan produktiviteit en effisjinsje. Oft jo in betûfte profesjonele of in begjinner binne, Michael's blog biedt weardefolle ynsjoch en praktysk advys om it measte út dizze essensjele software-ark te heljen.