Datganiad Excel IF ar gyfer paru testun rhannol (cerdyn gwyllt)

  • Rhannu Hwn
Michael Brown

Yn ceisio adeiladu datganiad IF gyda thestun cerdyn gwyllt, ond mae'n methu bob tro? Nid yw'r broblem yn eich fformiwla ond yn y swyddogaeth ei hun - nid yw Excel IF yn cefnogi nodau gwyllt. Fodd bynnag, mae ffordd i'w gael i weithio ar gyfer paru testun rhannol, a bydd y tiwtorial hwn yn eich dysgu sut.

Pryd bynnag y byddwch am berfformio paru rhannol neu niwlog yn Excel, yr ateb mwyaf amlwg yw i ddefnyddio cardiau gwyllt. Ond beth os nad yw swyddogaeth benodol y mae angen i chi ei defnyddio yn cefnogi cymeriadau wildcards? Yn anffodus, mae Excel IF yn un o swyddogaethau o'r fath. Mae hyn yn arbennig o siomedig o ystyried bod swyddogaethau "amodol" eraill megis COUNTIF, SUMIF, ac AVERAGEIFS yn gweithio gyda chardiau gwyllt yn berffaith dda.

Yn ffodus, nid dyma'r rhwystr a all atal defnyddiwr creadigol Excel :) Trwy gyfuno IF gyda swyddogaethau eraill, gallwch ei orfodi i werthuso cyfatebiad rhannol a chael dewis arall braf i fformiwla cerdyn gwyllt Excel IF.

    Pam nad yw swyddogaeth Excel IF gyda'r cerdyn gwyllt ddim yn gweithio

    Yn y tabl sampl isod, gan dybio eich bod am wirio a yw'r IDau yn y golofn gyntaf yn cynnwys y llythyren "A". Os canfyddir - dangoswch "Ie" yng ngholofn B, os na - dangoswch "Na".

    Mae'n ymddangos y byddai cynnwys testun nod chwilio yn y prawf rhesymegol yn ateb hawdd:

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

    Ond yn anffodus nid yw'n gweithio. Mae'r fformiwla yn dychwelyd "Na" ar gyfer yr holl gelloedd, hyd yn oed y rhai sy'n cynnwys "A":

    Pam maecerdyn gwyllt OS bydd datganiad yn methu? O bob ymddangosiad, nid yw Excel yn cydnabod cardiau gwyllt a ddefnyddir gydag arwydd cyfartal neu weithredwyr rhesymegol eraill. Wrth edrych yn agosach ar y rhestr o swyddogaethau sy'n cefnogi wildcards, fe sylwch fod eu cystrawen yn rhagdybio bod testun nod chwilio yn ymddangos yn uniongyrchol mewn dadl fel hyn:

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

    Mae Excel IF yn cynnwys testun rhannol

    Nawr eich bod chi'n gwybod y rheswm pam mae fformiwla wildcard OS yn methu, gadewch i ni geisio darganfod sut i'w gael i weithio. Ar gyfer hyn, byddwn yn syml yn ymgorffori swyddogaeth sy'n derbyn cardiau gwyllt ym mhrawf rhesymegol IF, sef y swyddogaeth COUNTIF:

    IF(COUNTIF( cell , "* text * "), value_if_true, value_if_false)

    Gyda'r dull hwn, nid oes gan IF unrhyw broblem gyda deall cardiau gwyllt ac mae'n nodi'n ddi-ffael y celloedd sy'n cynnwys naill ai "A" neu "a" (gan nad yw COUNTIF yn sensitif i achosion):

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

    Mae'r fformiwla hon yn mynd i B2, neu unrhyw gell arall yn rhes 2, ac yna gallwch ei llusgo i lawr i gynifer o gelloedd ag sydd eu hangen:

    0>Gellir defnyddio'r datrysiad hwn hefyd i leoli llinynnau patrwm penodol . Gan gymryd mai dim ond yr IDs sy'n cynnwys 2 grŵp o 2 nod wedi'u gwahanu â chysylltnod sy'n ddilys, gallwch chi ddefnyddio'r "??-??" llinyn cerdyn gwyllt i'w hadnabod:

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

    Sut mae'r fformiwla hon yn gweithio:

    Ar gyfer y prawf rhesymegol o OS, rydym yn defnyddio'r swyddogaeth COUNTIF sy'n cyfrif nifer y celloedd sy'n cyfateb i'r nod chwilio penodedigllinyn. Gan fod yr ystod meini prawf yn un gell (A2), mae'r canlyniad bob amser yn 1 (canfyddir cyfatebiaeth) neu 0 (ni cheir hyd i gyfatebiaeth). O wybod bod 1 yn cyfateb i GWIR a 0 i ANGHYWIR, mae'r fformiwla yn dychwelyd "Dilys" (gwerth_if_true) pan mae'r cyfrif yn 1 a llinyn gwag (gwerth_if_ffug) pan mae'r cyfrif yn 0.

    IF ISNUMBER Fformiwla CHWILIO ar gyfer rhannol paru

    Ffordd arall o orfodi Excel IF i weithio ar gyfer paru testun rhannol yw cynnwys naill ai'r ffwythiant FIND neu CHWILIO yn y prawf rhesymegol. Y gwahaniaeth yw bod FIND yn sensitif i lythrennau ac nid yw SEARCH.

    Felly, yn dibynnu a ydych am drin llythrennau bach a phriflythrennau fel yr un nodau neu nodau gwahanol, bydd un o'r fformiwlâu hyn yn bleser:<3

    Fformiwla achos-ansensitif ar gyfer paru rhannol:

    IF(ISNUMBER(SEARCH(" testun ", cell )), value_if_true, value_if_false )

    Fformiwla achos-sensitif ar gyfer cyfatebiad rhannol:

    IF(ISNUMBER(FIND(" testun ", cell )), value_if_true, value_if_false )

    Gan fod y ddwy swyddogaeth wedi'u cynllunio i berfformio math o baru "mae cell" yn cyfateb, nid oes gwir angen cardiau chwilio yn yr achos hwn.

    Er enghraifft, i ganfod IDau sy'n cynnwys "A" neu "a" , y fformiwla yw:

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

    I chwilio am brifddinas "A" yn unig ac anwybyddu "a", y fformiwla yw:

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

    Yn B6 yn y sgrinlun isod, gallwch weld y gwahaniaeth yn y canlyniad:

    Sut mae'r fformiwla hon yn gweithio:

    Yn y calon oy fformiwla, mae cyfuniad o ISNUMBER a CHWILIO (neu FIND):

    ISNUMBER(SEARCH("A", A2))

    Mae'r ffwythiant CHWILIO yn edrych am y testun penodedig ("A" yn yr enghraifft hon) ac yn dychwelyd ei safle o fewn llinyn yn A2. Os na chanfyddir y testun, dychwelir gwall #VALUE. Gan fod CHWILIO a FIND ill dau wedi'u cynllunio i berfformio math o baru "cell yn cynnwys", nid oes gwir angen cardiau chwilio yn yr achos hwn.

    Mae'r ffwythiant ISNUMBER yn trosi rhif i WIR ac unrhyw werth arall gan gynnwys gwall i ANGHYWIR . Mae'r gwerth rhesymegol yn mynd yn uniongyrchol i brawf rhesymegol IF. Yn ein hachos ni, mae A2 yn cynnwys "A", felly mae ISNUMBER yn dychwelyd GWIR:

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

    O'r herwydd, mae IF yn dychwelyd y gwerth a osodwyd ar gyfer y ddadl value_if_true , sef "Ie".

    Excel IF NEU ddatganiad gyda wildcards

    Angen adnabod celloedd sy'n cynnwys un o linynnau testun cerdyn gwyllt? Yn yr achos hwn, gallwch gyfuno'r datganiad IF OR clasurol gyda'r fformiwla CHWILIO COUNTIF neu ISNUMBER a drafodwyd uchod.

    Er enghraifft, i chwilio am "aa" OR "bb" yn A2 gan anwybyddu'r llythrennau bach a dychwelyd" Ie" os canfyddir y naill neu'r llall, defnyddiwch un o'r fformiwlâu hyn:

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

    neu

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

    Bydd adio dwy swyddogaeth COUNTIF hefyd yn gweithio. Yn yr achos hwn, mae'r arwydd plws yn gweithio fel y gweithredwr OR:

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

    Yn lle llinynnau cerdyn gwyllt codio caled yn y fformiwla, gallwch eu mewnbynnu mewn celloedd ar wahân, dyweder D2 a F2, fel y dangosir yn y screenshot isod. Sylwch fod y rhainmae cyfeiriadau cell wedi'u cloi gyda'r arwydd $ fel bod y fformiwla yn copïo'n gywir i'r celloedd isod:

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

    Mae'r fformiwlâu uchod yn gweithio'n dda ar gyfer 2 gydweddiad rhannol , ond os ydych yn chwilio am 3 neu fwy, byddent yn mynd yn rhy hir. Yn yr achos hwn, mae'n rheswm i fynd i'r afael â'r dasg yn wahanol:

    Cyflenwi is-linynnau lluosog i'r ffwythiant CHWILIO mewn cysonyn arae, cyfrwch y rhifau a ddychwelwyd, a gwiriwch a yw'r canlyniad yn fwy na sero (sy'n golygu bod o leiaf un o'r is-linynnau os canfyddir):

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

    Fel hyn, byddwch yn cael yr un canlyniad yn union gyda fformiwla fwy cryno:

    Excel IF AND fformiwla gyda wildcards

    Pan fyddwch am wirio a yw cell yn cynnwys dau neu fwy o is-linynnau gwahanol, y ffordd hawsaf yw defnyddio'r ffwythiant COUNTIFS gyda wildcards ar gyfer y prawf rhesymegol.<3

    Gan dybio eich bod am leoli celloedd yng ngholofn A sy'n cynnwys "b" A "2". I wneud hyn, defnyddiwch "*b*" a "*2*" ar gyfer meini prawf COUNTIFS ac A2 ar gyfer yr ystod meini prawf:

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

    Ffordd arall yw defnyddio'r fformiwla IF AND gyda'i gilydd gyda CHWILIAD ISNUMBER:

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

    Er nad ydym yn cynnwys unrhyw nodau nod chwilio yn y fformiwla hon, mae'n gweithio fel chwilio am ddau linyn cerdyn gwyllt ("* b*" a "*2*" ) yn yr un gell.

    Wrth gwrs, nid oes dim yn eich atal rhag mynd i mewn i'r gwerthoedd chwilio mewn celloedd rhagddiffiniedig, D2 a F2 yn ein hachos ni, a chyflenwimae'r gell yn cyfeirio at y fformiwla:

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

    Os yw'n well gennych ddefnyddio fformiwlâu mwy cryno lle bynnag y bo modd, yna mae'n bosibl y byddwch yn hoffi'r dull cyson arae. Mae'r fformiwla IF COUNT SEARCH yn debyg iawn i'r enghraifft flaenorol, ond oherwydd y tro hwn mae'n rhaid i'r ddau is-linyn ymddangos yn A2, rydym yn gwirio a yw'r cyfrif yn hafal i 2:

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

    <17

    Dyma'r prif ddulliau o ddefnyddio wildcard yn y datganiad IF yn Excel. Os ydych chi'n gwybod unrhyw atebion eraill, bydd defnyddwyr eraill yn sicr yn gwerthfawrogi os ydych chi'n rhannu'ch profiad mewn sylwadau. Diolch i chi am ddarllen a gobeithiaf eich gweld ar ein blog yr wythnos nesaf!

    Gweithlyfr ymarfer i'w lawrlwytho

    Enghreifftiau fformiwla cerdyn gwyllt Excel IF (ffeil .xlsx)

    Mae Michael Brown yn frwd dros dechnoleg ymroddedig ac yn frwd dros symleiddio prosesau cymhleth gan ddefnyddio offer meddalwedd. Gyda mwy na degawd o brofiad yn y diwydiant technoleg, mae wedi hogi ei sgiliau yn Microsoft Excel ac Outlook, yn ogystal â Google Sheets a Docs. Mae blog Michael yn ymroddedig i rannu ei wybodaeth a'i arbenigedd ag eraill, gan ddarparu awgrymiadau a thiwtorialau hawdd eu dilyn ar gyfer gwella cynhyrchiant ac effeithlonrwydd. P'un a ydych chi'n weithiwr proffesiynol profiadol neu'n ddechreuwr, mae blog Michael yn cynnig mewnwelediadau gwerthfawr a chyngor ymarferol ar gyfer cael y gorau o'r offer meddalwedd hanfodol hyn.