Excel swyddogaethau FIND a CHWILIO gydag enghreifftiau fformiwla

  • Rhannu Hwn
Michael Brown

Mae'r tiwtorial yn esbonio cystrawen ffwythiannau FIND a SEARCH Excel ac yn darparu enghreifftiau fformiwla o ddefnyddiau uwch nad ydynt yn ddibwys.

Yn yr erthygl ddiwethaf, fe wnaethom ymdrin â hanfodion Excel Darganfod ac Amnewid deialog. Mewn llawer o sefyllfaoedd, fodd bynnag, efallai y byddwch am i Excel ddarganfod a thynnu data o gelloedd eraill yn awtomatig yn seiliedig ar eich meini prawf. Felly, gadewch i ni edrych yn agosach ar yr hyn sydd gan swyddogaethau chwilio Excel i'w gynnig.

    Swyddogaeth FIND Excel

    Defnyddir y ffwythiant FIND yn Excel i ddychwelyd lleoliad nod neu is-linyn penodol o fewn llinyn testun.

    Mae cystrawen y ffwythiant Darganfod Excel fel a ganlyn:

    FIND(find_text, within_text, [start_num])

    Mae angen y 2 arg gyntaf, mae'r un olaf yn ddewisol.

    • Find_text - y nod neu'r is-linyn rydych chi am ei ddarganfod.
    • O fewn_testun - y llinyn testun i cael ei chwilio o fewn. Fel arfer caiff ei gyflenwi fel cyfeirnod cell, ond gallwch hefyd deipio'r llinyn yn uniongyrchol yn y fformiwla.
    • Start_num - dadl ddewisol sy'n pennu o ba nod y bydd y chwiliad yn dechrau. Os caiff ei hepgor, mae'r chwiliad yn dechrau o nod 1af y llinyn o fewn_testun.

    Os nad yw'r ffwythiant FIND yn dod o hyd i'r nod(au) canfod_testun, bydd #VALUE! gwall yn cael ei ddychwelyd.

    Er enghraifft, mae fformiwla =FIND("d", "find") yn dychwelyd 4 oherwydd "d" yw'r bedwaredd lythyren yn y gair " darganfod ". Y fformiwla =FIND("a", "find") eto, y rhan fwyaf cymhleth yw'r ddadl olaf sy'n dweud wrth y fformiwla faint o nodau i'w dychwelyd. Mae'r mynegiant eithaf hir hwnnw yn y ddadl num_chars yn gwneud y canlynol:

    • Yn gyntaf, rydych chi'n dod o hyd i leoliad y cromfachau cau: SEARCH(")",A2)
    • Ar ôl i chi ddod o hyd i leoliad y cromfachau agoriadol: SEARCH("(",A2)
    • Ac wedyn, rydych chi'n cyfrifo'r gwahaniaeth rhwng safleoedd y cromfachau cau ac agoriadol ac yn tynnu 1 o'r rhif hwnnw, oherwydd nid ydych chi eisiau'r naill gromfach na'r llall yn y canlyniad: SEARCH(")",A2)-SEARCH("(",A2))-1

    Yn naturiol, nid oes dim yn eich atal rhag defnyddio'r swyddogaeth Excel FIND yn lle SEARCH, oherwydd nid yw sensitifrwydd achos neu ansensitifrwydd achos yn gwneud unrhyw wahaniaeth yn yr enghraifft hon.

    Gobeithio, mae hyn tiwtorial wedi taflu rhywfaint o oleuni ar sut i ddefnyddio swyddogaethau CHWILIO a FIND yn Excel. Yn y tiwtorial nesaf, rydyn ni'n mynd i archwilio swyddogaeth REPLACE yn agos, felly cadwch olwg. Diolch am ddarllen!

    Lawrlwythwch y llyfr gwaith ymarfer

    DARGANFOD a CHWILIO enghreifftiau fformiwla

    yn dychwelyd gwall oherwydd nid oes "a" yn " darganfod".

    Excel FIND function - pethau i'w cofio!

    I ddefnyddio fformiwla FIND yn gywir yn Excel, cofiwch y ffeithiau syml canlynol:

    1. Mae'r ffwythiant FIND yn achos sensitif . Os ydych yn chwilio am gyfatebiad cas-ansensitif, defnyddiwch y ffwythiant CHWILIO.
    2. Nid yw'r ffwythiant FIND yn Excel yn caniatáu defnyddio nodau cerdyn gwyllt .
    3. Os yw'r arg find_text yn cynnwys sawl nod, mae'r ffwythiant FIND yn dychwelyd lleoliad y nod cyntaf . Er enghraifft, mae'r fformiwla FIND ("ap", "happy") yn dychwelyd 2 oherwydd "a" yn yr 2il lythyren yn y gair "hapus".
    4. Os yw o fewn_testun yn cynnwys sawl digwyddiad o find_text, dychwelir y digwyddiad cyntaf. Er enghraifft, mae FIND ("l", "helo") yn dychwelyd 3, sef lleoliad y nod "l" cyntaf yn y gair "helo".
    5. Os yw find_text yn llinyn wag "", mae fformiwla Excel FIND yn dychwelyd y nod cyntaf yn y llinyn chwilio.
    6. Mae ffwythiant Excel FIND yn dychwelyd y #VALUE! gwall os bydd unrhyw un o'r canlynol yn digwydd:
      • Nid yw Find_text yn bodoli o fewn_testun.
      • Mae start_num yn cynnwys mwy o nodau nag o fewn_testun.
      • Start_num yw 0 (sero) neu rhif negatif.
    Swyddogaeth SEARCH Excel

    Mae'r ffwythiant CHWILIO yn Excel yn debyg iawn i FIND gan ei fod hefyd yn dychwelyd lleoliad is-linyn mewn a testunllinyn. A yw cystrawen a dadleuon yn debyg i rai FIND:

    SEARCH(darganfod_testun, o fewn_testun, [start_num])

    Yn wahanol i FIND, mae'r ffwythiant CHWILIO yn ansensitif i achosion ac mae'n caniatáu defnyddio'r nodau nod chwilio , fel y dangosir yn yr enghraifft ganlynol.

    A dyma gwpl o fformiwlâu sylfaenol Excel SEARCH:

    Mae =SEARCH("market", "supermarket") yn dychwelyd 6 oherwydd bod yr is-linyn "marchnad" yn dechrau ar 6ed nod y gair "archfarchnad" Mae .

    =SEARCH("e", "Excel") yn dychwelyd 1 oherwydd "e" yw'r nod cyntaf yn y gair "Excel", gan anwybyddu'r achos.

    Fel FIND, mae ffwythiant CHWILIO Excel yn dychwelyd y #VALUE! gwall os:

    • Ni chanfyddir gwerth yr arg find_text.
    • Mae'r arg start_num yn fwy na hyd o fewn_testun.
    • Mae start_num yn hafal i neu llai na sero.

    Ymhellach yn y tiwtorial hwn, fe welwch ychydig o enghreifftiau mwy ystyrlon o fformiwla sy'n dangos sut i ddefnyddio ffwythiant SEARCH yn nhaflenni gwaith Excel.<3

    Fel y soniwyd eisoes, mae swyddogaethau FIND a SEARCH yn Excel yn debyg iawn o ran cystrawen a defnyddiau. Fodd bynnag, mae ganddynt ychydig o wahaniaethau.

    Y gwahaniaeth mwyaf hanfodol rhwng swyddogaethau Excel SEARCH a FIND yw bod SEARCH yn ansensitif i achosion, tra bod FIND yn sensitif i achosion.

    Er enghraifft Mae , SEARCH ("e", "Excel") yn dychwelyd 1 oherwydd ei fod yn anwybyddu'rachos "E", tra bod FIND ("e", "Excel") yn dychwelyd 4 oherwydd ei fod yn ystyried yr achos.

    2. Chwiliwch gyda nodau chwilio

    Yn wahanol i FIND, mae'r ffwythiant Excel SEARCH yn derbyn nodau chwilio yn y ddadl find_text:

    • Mae marc cwestiwn (?) yn cyfateb i un nod, a
    • Mae seren (*) yn cyfateb i unrhyw gyfres o nodau.

    I weld sut mae'n gweithio ar ddata go iawn, ystyriwch yr enghraifft ganlynol:

    Fel y gwelwch yn y llun uchod, mae'r fformiwla SEARCH ("swyddogaeth * 2013", A2) yn dychwelyd lleoliad y nod cyntaf ("f") yn yr is-linyn os yw'r llinyn testun y cyfeirir ato yn y ddadl o fewn_testun yn cynnwys y ddau "swyddogaeth" a "2013", ni waeth faint o nodau eraill sydd rhyngddynt.

    Awgrym. I ddod o hyd i farc cwestiwn (?) neu seren (*), teipiwch tilde (~) cyn y nod cyfatebol.

    Yn ymarferol, anaml y defnyddir swyddogaethau Excel FIND a SEARCH ar eu pen eu hunain. Yn nodweddiadol, byddech yn eu defnyddio ar y cyd â swyddogaethau eraill megis CANOLBARTH, CHWITH neu DDE, ac mae'r enghreifftiau fformiwla canlynol yn dangos rhai defnyddiau bywyd go iawn.

    Enghraifft 1. Darganfyddwch linyn cyn neu'n dilyn nod penodol

    Mae'r enghraifft hon yn dangos sut y gallwch chi ddarganfod a thynnu pob nod mewn llinyn testun i'r chwith neu i'r dde o nod penodol. I wneud pethau'n haws i'w deall, ystyriwch yyr enghraifft ganlynol.

    A chymryd bod gennych golofn o enwau (colofn A) a'ch bod am dynnu'r Enw Cyntaf a'r Cyfenw i golofnau ar wahân.

    I gael yr enw cyntaf, gallwch ddefnyddio DARGANFOD (neu CHWILIO) ar y cyd â'r ffwythiant CHWITH:

    =LEFT(A2, FIND(" ", A2)-1)

    neu

    =LEFT(A2, SEARCH(" ", A2)-1)

    Fel y gwyddoch fwy na thebyg, mae ffwythiant Excel LEFT yn dychwelyd y nifer penodedig o nodau mwyaf chwith mewn llinyn. Ac rydych chi'n defnyddio'r ffwythiant FIND i bennu lleoliad gofod (" ") i adael i'r ffwythiant CHWITH wybod faint o nodau i'w tynnu. Ar hynny, rydych yn tynnu 1 o safle'r gofod oherwydd nad ydych am i'r gwerth a ddychwelwyd gynnwys y gofod.

    I echdynnu'r enw olaf, defnyddiwch y cyfuniad o'r ffwythiannau CYRCH, FIND / CHWILIO a LEN. Mae angen y ffwythiant LEN i gael cyfanswm nifer y nodau yn y llinyn, ac o'r hwn rydych yn tynnu safle'r bwlch:

    =RIGHT(A2,LEN(A2)-FIND(" ",A2))

    neu

    =RIGHT(A2,LEN(A2)-SEARCH(" ",A2))

    Mae'r sgrinlun canlynol yn dangos y canlyniad:

    Ar gyfer senarios mwy cymhleth, megis echdynnu enw canol neu rannu enwau ag ôl-ddodiaid, gweler Sut i hollti celloedd yn Excel defnyddio fformiwlâu.

    Enghraifft 2. Darganfod Nfed digwyddiad nod penodol mewn llinyn testun

    Gan dybio bod gennych rai llinynnau testun yng ngholofn A, dywedwch restr o SKUs, a'ch bod am ganfod lleoliad y llinell doriad 2nd mewn llinyn. Mae'r fformiwla ganlynol yn gweithio danteithion:

    =FIND("-", A2, FIND("-",A2)+1)

    Y ddau gyntafmae dadleuon yn hawdd i'w dehongli: lleolwch doriad ("-") yng nghell A2. Yn y drydedd ddadl (start_num), rydych chi'n mewnosod swyddogaeth FIND arall sy'n dweud wrth Excel i ddechrau chwilio gan ddechrau gyda'r nod sy'n dod yn syth ar ôl i'r llinell doriad ddigwydd am y tro cyntaf (FIND("-",A2)+1).

    I ddychwelyd lleoliad y 3ydd digwyddiad , rydych chi'n mewnosod y fformiwla uchod yn arg start_num ffwythiant FIND arall ac yn ychwanegu 2 at y gwerth a ddychwelwyd:

    =FIND("-",A2, FIND("-", A2, FIND("-",A2)+1) +2)

    Ffordd arall a symlach fwy na thebyg o ddod o hyd i'r Nfed digwyddiad o nod penodol yw defnyddio'r ffwythiant Excel FIND ar y cyd â CHAR a SUBSTITUTE:

    =FIND(CHAR(1),SUBSTITUTE(A2,"-",CHAR(1),3))

    Lle " -" yw'r nod dan sylw a "3" yw'r Nfed digwyddiad rydych am ei ddarganfod.

    Yn y fformiwla uchod, mae'r ffwythiant SUBSTITUTE yn disodli 3ydd digwyddiad llinell doriad ("-") gyda CHAR( 1), sef y cymeriad "Start of Heading" anargraffadwy yn y system ASCII. Yn lle CHAR(1) gallwch ddefnyddio unrhyw nod arall na ellir ei argraffu o 1 i 31. Ac yna, mae'r ffwythiant FIND yn dychwelyd lleoliad y nod hwnnw yn y llinyn testun. Felly, mae'r fformiwla gyffredinol fel a ganlyn:

    FIND(CHAR(1),SUBSTITUTE( cell , cymeriad , CHAR(1), Nfed digwyddiad ))

    Ar yr olwg gyntaf, efallai ei bod yn ymddangos nad oes llawer o werth ymarferol i'r fformiwlâu uchod, ond bydd yr enghraifft nesaf yn dangos pa mor ddefnyddiol ydyn nhw wrth ddatrys tasgau go iawn.

    Sylwch. Cofiwch fod yr Excel FINDswyddogaeth yn achos-sensitif. Yn ein hesiampl ni, nid yw hyn yn gwneud unrhyw wahaniaeth, ond os ydych yn gweithio gyda llythrennau a'ch bod eisiau cyfatebiad ansensitif i achosion , defnyddiwch y swyddogaeth CHWILIO yn lle FIND.

    Enghraifft 3. Echdynnu N nodau yn dilyn nod arbennig

    I leoli is-linyn o hyd penodol o fewn unrhyw linyn testun, defnyddiwch Excel FIND neu Excel SEARCH ar y cyd â'r ffwythiant MID. Mae'r enghraifft ganlynol yn dangos sut y gallwch ddefnyddio fformiwlâu o'r fath yn ymarferol.

    Yn ein rhestr o SKUs, gan dybio eich bod am ddod o hyd i'r 3 nod cyntaf yn dilyn y llinell doriad cyntaf a'u tynnu mewn colofn arall.

    Os yw’r grŵp o nodau sy’n rhagflaenu’r llinell doriad cyntaf bob amser yn cynnwys yr un nifer o eitemau (e.e. 2 nod) byddai hon yn dasg ddibwys. Gallech ddefnyddio'r ffwythiant MID i ddychwelyd 3 nod o linyn, gan ddechrau yn safle 4 (gan hepgor y 2 nod cyntaf a llinell doriad):

    =MID(A2, 4, 3)

    Wedi'i chyfieithu i'r Saesneg, mae'r fformiwla'n dweud: "Edrychwch yng nghell A2, dechreuwch echdynnu o nod 4, a dychwelwch 3 nod".

    Fodd bynnag, mewn taflenni gwaith bywyd go iawn, gallai'r is-linyn y mae angen i chi ei dynnu ddechrau unrhyw le o fewn y llinyn testun. Yn ein hesiampl ni, efallai na fyddwch chi'n gwybod faint o gymeriadau sy'n rhagflaenu'r llinell doriad cyntaf. I ymdopi â'r her hon, defnyddiwch y ffwythiant FIND i bennu man cychwyn yr is-linyn yr ydych am ei adfer.

    Fformiwla FIND i ddychwelyd ymae lleoliad y llinell doriad 1af fel a ganlyn:

    =FIND("-",A2)

    Oherwydd eich bod am ddechrau gyda'r nod sy'n dilyn y llinell doriad, ychwanegwch 1 at y gwerth a ddychwelwyd ac mewnosodwch y ffwythiant uchod yn yr ail arg (start_num) y ffwythiant MID:

    =MID(A2, FIND("-",A2)+1, 3)

    Yn y senario hwn, mae swyddogaeth Excel SEARCH yn gweithio cystal:

    =MID(A2, SEARCH("-",A2)+1, 3)

    Mae'n wych, ond beth os yw'r grŵp o nodau sy'n dilyn y llinell doriad cyntaf yn cynnwys nifer wahanol o nodau? Hmm... gallai hyn fod yn broblem:

    Fel y gwelwch yn y sgrinlun uchod, mae'r fformiwla'n gweithio'n berffaith ar gyfer rhesi 1 a 2. Yn rhesi 4 a 5, mae'r mae'r ail grŵp yn cynnwys 4 nod, ond dim ond y 3 char cyntaf sy'n cael eu dychwelyd. Yn rhesi 6 a 7, dim ond 2 nod sydd yn yr ail grŵp, ac felly mae ein fformiwla Excel Search yn dychwelyd llinell doriad yn eu dilyn.

    Os oeddech am ddychwelyd pob nod rhwng y 1af a'r 2il ddigwyddiad o gymeriad penodol (dash yn yr enghraifft hon), sut fyddech chi'n symud ymlaen? Dyma'r ateb:

    =MID(A2, FIND("-",A2)+1, FIND("-", A2, FIND("-",A2)+1) - FIND("-",A2)-1)

    Er mwyn deall y fformiwla MID hon yn well, gadewch i ni archwilio ei dadleuon fesul un:

    • dadl 1af (testun). Dyma'r llinyn testun sy'n cynnwys y nodau rydych chi am eu tynnu, cell A2 yn yr enghraifft hon.
    • 2il arg (start_position). Yn nodi lleoliad y nod cyntaf rydych chi am ei dynnu. Rydych chi'n defnyddio'r ffwythiant FIND i leoli'r llinell doriad cyntaf yn y llinyn ac ychwanegu 1 aty gwerth hwnnw oherwydd eich bod am ddechrau gyda'r nod sy'n dilyn y llinell doriad: FIND ("-", A2) + 1.
    • 3edd arg (num_chars). Yn pennu nifer y nodau rydych am eu dychwelyd. Yn ein fformiwla, dyma'r rhan anoddaf. Rydych chi'n defnyddio dwy swyddogaeth FIND (neu CHWILIO), mae un yn pennu lleoliad y llinell doriad cyntaf: FIND ("-", A2). Ac mae'r llall yn dychwelyd lleoliad yr ail doriad: FIND ("-", A2, FIND ("-", A2) + 1). Yna rydych chi'n tynnu'r cyntaf o'r olaf, ac yna'n tynnu 1 oherwydd nad ydych chi am gynnwys y naill doriad na'r llall. O ganlyniad, byddwch yn cael nifer y cymeriadau rhwng y llinellau toriad 1af ac 2il, sef yr union beth yr ydym yn chwilio amdano. Felly, rydych chi'n bwydo'r gwerth hwnnw i ddadl num_chars y ffwythiant MID.

    Yn yr un modd, gallwch ddychwelyd 3 nod ar ôl yr 2il dash:

    =MID(A2, FIND("-",A2, FIND("-", A2, FIND("-",A2)+1) +2), 3)

    0>Neu, echdynnwch yr holl nodau rhwng yr 2il a'r 3ydd doriad:

    =MID(A2, FIND("-", A2, FIND("-",A2)+1)+1, FIND("-",A2, FIND("-", A2, FIND("-",A2)+1) +2) - FIND("-", A2, FIND("-",A2)+1)-1)

    Enghraifft 4. Dod o hyd i destun rhwng cromfachau

    Gan dybio bod gennych chi rywfaint o linyn testun hir yng ngholofn A a'ch bod am ddarganfod a thynnu'r testun sydd wedi'i amgáu ynddo yn unig (cromfachau) a'i dynnu allan yn unig.

    I wneud hyn, byddai angen y ffwythiant MID i ddychwelyd y nifer dymunol o nodau o llinyn, a naill ai ffwythiant FIND neu CHWILIO Excel i benderfynu ble i ddechrau a sawl nod i'w echdynnu.

    =MID(A2,SEARCH("(",A2)+1, SEARCH(")",A2)-SEARCH("(",A2)-1)

    Mae rhesymeg y fformiwla hon yn debyg i'r rhai a drafodwyd gennym yn y blaenorol enghraifft. Ac

    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.