Excel IF deklaro por parta teksta kongruo (ĵokero)

  • Kundividu Ĉi Tion
Michael Brown

Ĉu provas konstrui IF-deklaron kun ĵokera teksto, sed ĝi malsukcesas ĉiufoje? La problemo ne estas en via formulo sed en la funkcio mem - Excel IF ne subtenas ĵokerajn signojn. Tamen, ekzistas maniero por ke ĝi funkciu por parta tekstkongruo, kaj ĉi tiu lernilo instruos vin kiel.

Kiam vi volas fari partan aŭ neklaran kongruon en Excel, la plej evidenta solvo estas uzi ĵokerojn. Sed kio se specifa funkcio, kiun vi bezonas uzi, ne subtenas ĵokerajn signojn? Bedaŭrinde, Excel IF estas unu el tiaj funkcioj. Ĉi tio estas precipe seniluziiga konsiderante, ke aliaj "kondiĉaj" funkcioj kiel COUNTIF, SUMIF kaj AVERAGEIFS funkcias per ĵokeroj perfekte bone.

Bonŝance, ĝi ne estas la obstaklo, kiu povas haltigi kreivan Excel-uzanto :) Kombinante IF kun aliaj funkcioj, vi povas devigi ĝin taksi partan kongruon kaj akiri belan alternativon al Excel IF-a ĵokera formulo.

    Kial Excel IF-funkcio kun ĵokero ne funkcias

    En la specimena tabelo malsupre, supozante, ke vi volas kontroli ĉu la identigiloj en la unua kolumno enhavas la literon "A". Se trovite - montru "Jes" en kolumno B, se ne - montru "Ne".

    Ŝajnas, ke inkluzivi ĵokeran tekston en la logika testo estus facila solvo:

    =IF(A2="*a*","Yes", "No")

    Sed bedaŭrinde ĝi ne funkcias. La formulo liveras "Ne" por ĉiuj ĉeloj, eĉ tiuj, kiuj enhavas "A":

    Kial farasĵokera IF deklaro malsukcesas? Laŭ ĉiuj aspektoj, Excel ne rekonas ĵokerojn uzatajn kun egala signo aŭ aliaj logikaj operatoroj. Rigardante pli detale la liston de funkcioj subtenantaj ĵokerojn, vi rimarkos, ke ilia sintakso supozas, ke ĵokerteksto aperu rekte en argumento kiel ĉi tiu:

    =COUNTIF(A2:A10, "*a*")

    Excel IF enhavas partan tekston

    Nun kiam vi scias la kialon, kial ĵokera IF-formulo malsukcesas, ni provu eltrovi kiel ĝin funkcii. Por tio, ni simple enmetos funkcion kiu akceptas ĵokerojn en la logika testo de SE, nome la funkcio COUNTIF:

    IF(NOMBRASE( ĉelo, "* teksto* "), value_if_true, value_if_false)

    Kun ĉi tiu aliro, IF havas neniun problemon kun komprenado de ĵokeroj kaj perfekte identigas la ĉelojn kiuj enhavas aŭ "A" aŭ "a" (ĉar COUNTIF ne distingas minusklecojn):

    =IF(COUNTIF(A2, "*a*"),"Yes", "No")

    Ĉi tiu formulo iras al B2, aŭ al iu ajn alia ĉelo en la vico 2, kaj tiam vi povas treni ĝin malsupren al tiom da ĉeloj kiom bezonas:

    Ĉi tiu solvo ankaŭ povas esti uzata por lokalizi ŝnurojn de specifa ŝablono . Supozante nur la ID-oj konsistantaj el 2 grupoj de 2 signoj apartigitaj per streketo validas, vi povas uzi la "??-???" ĵokera ĉeno por identigi ilin:

    =IF(COUNTIF(A2, "??-??"), "Valid", "")

    Kiel ĉi tiu formulo funkcias:

    Por la logika testo de SE, ni uzas la funkcion COUNTIF, kiu kalkulas la nombron da ĉeloj kongruaj kun la specifita ĵokeroŝnuro. Ĉar la kriteriointervalo estas ununura ĉelo (A2), la rezulto ĉiam estas 1 (kongruo estas trovita) aŭ 0 (kongruo ne estas trovita). Konsiderante ke 1 egalas al VERA kaj 0 al FALSA, la formulo liveras "Valida" (value_if_true) kiam la kalkulo estas 1 kaj malplena ĉeno (value_if_false) kiam la kalkulo estas 0.

    IF ISNUMBER SEARCH formulo por parta kongruoj

    Alia maniero devigi Excel IF labori por parta teksta kongruo estas inkluzivi aŭ la funkcion TROVU aŭ SERĈI en la logika testo. La diferenco estas, ke FIND distingas majusklojn dum SEARCH ne.

    Do, depende de ĉu vi volas trakti minusklojn kaj majusklojn kiel samajn aŭ malsamajn signojn, unu el ĉi tiuj formuloj funkcios tre bone:

    Majuskklize formulo por parta kongruo:

    IF(ISNUMERO(SERĈO(" teksto", ĉelo)), valoro_se_vera, valoro_se_malvera )

    Uskle-distinga formulo por parta kongruo:

    IF(ISNUMBER(TROVU (" teksto", ĉelo)), valoro_se_vera, valoro_se_malvera )

    Ĉar ambaŭ funkcioj estas desegnitaj por plenumi "ĉelon enhavas" specon de matĉo, sovaĝaj kartoj ne vere bezonas ĉi -kaze.

    Ekzemple, por detekti ID -ojn enhavantajn "A" aŭ "A" , la formulo estas:

    =IF(ISNUMBER(SEARCH("A", A2)), "Yes", "No")

    Por nur serĉi majusklan "A" kaj ignori "a", la formulo estas:

    =IF(ISNUMBER(FIND("A", A2)), "Yes", "No")

    En B6 en la suba ekrankopio, vi povas observi la diferencon en la rezulto:

    Kiel ĉi tiu formulo funkcias:

    Ĉe la koro dela formulo, estas kombinaĵo de ISNUMBER kaj SEARCH (aŭ FIND):

    ISNUMBER(SEARCH("A", A2))

    La SEARCH-funkcio serĉas la specifitan tekston ("A" en ĉi tiu ekzemplo) kaj redonas ĝian pozicion ene de ŝnuro en A2. Se la teksto ne estas trovita, #VALUE-eraro estas resendita. Ĉar kaj SEARCH kaj FIND estas dezajnitaj por plenumi "ĉelo enhavas" specon de kongruo, ĵokeroj ne vere necesas ĉi-kaze.

    La ISNUM-funkcio konvertas nombron al VERA kaj ajnan alian valoron inkluzive de eraro al FALSO. . La logika valoro iras rekte al la logika testo de IF. En nia kazo, A2 enhavas "A", do ISNUMBER liveras VERA:

    IF(TRUE, "Yes", "No")

    Kiel rezulto, IF redonas la valoron fiksitan por la argumento value_if_true , kiu estas "Jes".

    Ekcel IF OR-deklaro kun ĵokeroj

    Ĉu vi bezonas identigi ĉelojn, kiuj enhavas unu el ĵokeraj tekstoĉenoj? En ĉi tiu kazo, vi povas kombini la klasikan IF OR deklaron kun la COUNTIF aŭ ISNUMMERA SERĈA formulo supre diskutita.

    Ekzemple, por serĉi "aa" AŬ "bb" en A2 ignorante la literon kaj resendi " Jes" se iu estas trovita, uzu unu el ĉi tiuj formuloj:

    =IF(OR(ISNUMBER(SEARCH("aa", A2)), ISNUMBER(SEARCH("bb", A2))), "Yes", "")

    =IF(OR(COUNTIF(A2, "*aa*"), COUNTIF(A2, "*bb*")), "Yes", "")

    Ankaŭ aldono de du funkcioj COUNTIF funkcios. En ĉi tiu kazo, la plus-signo funkcias kiel la operatoro OR:

    =IF(COUNTIF(A3, "*aa*") + COUNTIF(A3, "*bb*"), "Yes", "")

    Anstataŭ malmola kodigo de ĵokeraj ĉenoj en la formulo, vi povas enigi ilin en apartaj ĉeloj, diru D2 kaj F2, kiel montrite. en la ekrankopio malsupre. Bonvolu rimarki, ke ĉi tiujĉelreferencoj estas ŝlositaj per la $-signo tiel ke la formulo kopias ĝuste al la subaj ĉeloj:

    =IF(OR(COUNTIF(A2, "*"&$D$2&"*"), COUNTIF(A2, "*"&$F$2&"*")), "Yes", "")

    La supraj formuloj funkcias bone por 2 partaj kongruoj. , sed se vi serĉas 3 aŭ pli, ili fariĝus tro longaj. En ĉi tiu kazo, estas prudente aliri la taskon alimaniere:

    Liveri plurajn subĉenojn al la SERĈA funkcio en tabelkonstanto, kalkulu la redonitajn nombrojn kaj kontrolu ĉu la rezulto estas pli granda ol nulo (kio signifus. ke almenaŭ unu el la subĉenoj se troviĝas):

    =IF(COUNT(SEARCH({"aa","bb"}, A2))>0, "Yes", "")

    Tiel, vi ricevos precize la saman rezulton kun pli kompakta formulo:

    Excel IF AND formulo kun ĵokeroj

    Kiam vi volas kontroli ĉu ĉelo enhavas du aŭ pli da malsamaj subĉenoj, la plej facila maniero estas uzi la funkcion COUNTIFS kun ĵokeroj por la logika testo.

    Supoze, ke vi volas lokalizi ĉelojn en kolumno A, kiuj enhavas ambaŭ "b" KAJ "2". Por fari ĝin, uzu "*b*" kaj "*2*" por la kriterioj de COUNTIFS kaj A2 por la kriteriogamo:

    =IF(COUNTIFS(A2, "*b*", A2, "*2*"), "Yes", "")

    Alia maniero estas uzi la formulon SE KAJ kune kun ISNUMERA SERĈO:

    =IF(AND(ISNUMBER(SEARCH("b", A2)), ISNUMBER(SEARCH("2", A2))), "Yes", "")

    Kvankam ni ne inkluzivas iujn ajn ĵokerajn signojn en ĉi tiu formulo, ĝi funkcias kiel serĉado de du ĵokeraj ĉenoj ("*b*" kaj "*2*" ) en la sama ĉelo.

    Kompreneble, nenio malhelpas vin enigi la serĉajn valorojn en antaŭdifinitaj ĉeloj, D2 kaj F2 en nia kazo, kaj provizila ĉelaj referencoj al la formulo:

    =IF(AND(ISNUMBER(SEARCH($D$2, A2)), ISNUMBER(SEARCH($F$2, A2))), "Yes", "")

    Se vi preferas uzi pli kompaktajn formulojn kie ajn eblas, tiam vi eble pli ŝatas la tabelan konstantan aliron. La formulo IF COUNT SEARCH tre similas al la antaŭa ekzemplo, sed ĉar ĉi-foje ambaŭ subĉenoj devas aperi en A2, ni kontrolas ĉu la kalkulo estas egala al 2:

    =IF(COUNT(SEARCH({"b","2"}, A2))=2, "Yes", "")

    Ĉi tiuj estas la ĉefaj metodoj uzi ĵokeron en IF-deklaro en Excel. Se vi konas aliajn solvojn, aliaj uzantoj certe aprezos se vi dividas vian sperton en komentoj. Mi dankas vin pro legado kaj esperas vidi vin en nia blogo venontsemajne!

    Praktiku laborlibron por elŝuto

    Excel IF ĵokeraj formulekzemploj (.xlsx-dosiero)

    Michael Brown estas diligenta teknologia entuziasmulo kun pasio por simpligi kompleksajn procezojn uzante programarajn ilojn. Kun pli ol jardeko da sperto en la teknologia industrio, li perfektigis siajn kapablojn en Microsoft Excel kaj Outlook, same kiel Google Sheets kaj Docs. La blogo de Mikaelo estas dediĉita al kunhavigi siajn sciojn kaj kompetentecon kun aliaj, provizante facilajn sekvajn konsiletojn kaj lernilojn por plibonigi produktivecon kaj efikecon. Ĉu vi estas sperta profesiulo aŭ komencanto, la blogo de Mikaelo ofertas valorajn komprenojn kaj praktikajn konsilojn por eltiri la plej multajn el ĉi tiuj esencaj programaj iloj.