Talaan ng nilalaman
Ipinapaliwanag ng tutorial ang syntax ng mga function ng Excel FIND at SEARCH at nagbibigay ng mga halimbawa ng formula ng mga advanced na di-trivial na paggamit.
Sa huling artikulo, tinalakay namin ang mga pangunahing kaalaman sa Excel Hanapin at Palitan ang dialog. Sa maraming sitwasyon, gayunpaman, maaaring gusto mong mahanap at kunin ng Excel ang data mula sa ibang mga cell nang awtomatiko batay sa iyong pamantayan. Kaya, tingnan natin nang mabuti kung ano ang inaalok ng mga function sa paghahanap ng Excel.
Excel FIND function
Ginagamit ang FIND function sa Excel upang ibalik ang posisyon ng isang partikular na character o substring sa loob ng text string.
Ang syntax ng Excel Find function ay ang sumusunod:
FIND(find_text, within_text, [start_num])Ang unang 2 argumento ay kinakailangan, ang huli ay opsyonal.
- Find_text - ang character o substring na gusto mong hanapin.
- Within_text - ang text string sa hahanapin sa loob. Kadalasan ito ay ibinibigay bilang cell reference, ngunit maaari mo ring i-type ang string nang direkta sa formula.
- Start_num - isang opsyonal na argumento na tumutukoy kung saang karakter magsisimula ang paghahanap. Kung aalisin, magsisimula ang paghahanap sa unang character ng within_text string.
Kung hindi mahanap ng FIND function ang find_text na (mga) character, isang #VALUE! naibalik ang error.
Halimbawa, ang formula =FIND("d", "find")
ay nagbabalik ng 4 dahil ang "d" ay ang ika-4 na titik sa salitang " hanapin ". Ang formula =FIND("a", "find")
muli, ang pinaka-kumplikadong bahagi ay ang huling argumento na nagsasabi sa formula kung gaano karaming mga character ang babalik. Ang medyo mahabang expression na iyon sa argumento ng num_chars ay gumagawa ng sumusunod:
- Una, makikita mo ang posisyon ng pagsasara ng panaklong:
SEARCH(")",A2)
- Pagkatapos noon ay hanapin mo ang posisyon ng pambungad na panaklong:
SEARCH("(",A2)
- At pagkatapos, kinakalkula mo ang pagkakaiba sa pagitan ng mga posisyon ng pagsasara at pambungad na panaklong at ibawas ang 1 sa numerong iyon, dahil hindi mo gusto ang alinman sa panaklong sa resulta:
SEARCH(")",A2)-SEARCH("(",A2))-1
Natural, walang pumipigil sa iyo na gamitin ang Excel FIND function sa halip na SEARCH, dahil ang case-sensitivity o case-insensitivity ay walang pagkakaiba sa halimbawang ito.
Sana, ito Ang tutorial ay nagbigay ng kaunting liwanag sa kung paano gamitin ang SEARCH at FIND function sa Excel. Sa susunod na tutorial, susuriin nating mabuti ang REPLACE function, kaya manatiling nakatutok. Salamat sa pagbabasa!
I-download ang workbook ng pagsasanay
HANAPIN at HANAPIN ang mga halimbawa ng formula
nagbabalik ng error dahil walang "a" sa " find".
Excel FIND function - mga bagay na dapat tandaan!
Upang wastong gumamit ng FIND formula sa Excel, tandaan ang mga sumusunod na simpleng katotohanan:
- Ang FIND function ay case sensitive . Kung naghahanap ka ng case-insensitive na tugma, gamitin ang SEARCH function.
- Ang FIND function sa Excel ay hindi pinapayagan ang paggamit ng wildcard character .
- Kung ang find_text argument naglalaman ng ilang character, ibinabalik ng FIND function ang posisyon ng unang character . Halimbawa, ang formula na FIND("ap","happy") ay nagbabalik ng 2 dahil "a" sa ika-2 titik sa salitang "happy".
- Kung ang within_text ay naglalaman ng ilang paglitaw ng find_text, ibinalik ang unang pangyayari. Halimbawa, ang FIND("l", "hello") ay nagbabalik ng 3, na siyang posisyon ng unang "l" na character sa salitang "hello".
- Kung ang find_text ay isang walang laman na string "", ibinabalik ng Excel FIND formula ang unang character sa string ng paghahanap.
- Ibinabalik ng Excel FIND function ang #VALUE! error kung ang alinman sa mga sumusunod ay nangyari:
- Find_text ay wala sa within_text.
- Start_num ay naglalaman ng higit pang mga character kaysa sa within_text.
- Start_num ay 0 (zero) o isang negatibong numero.
Excel SEARCH function
Ang SEARCH function sa Excel ay halos kapareho sa FIND dahil ibinabalik din nito ang lokasyon ng isang substring sa isang textstring. Ang syntax at argumento ba ay katulad ng sa FIND:
SEARCH(find_text, within_text, [start_num])Hindi tulad ng FIND, ang SEARCH function ay case-insensitive at pinapayagan nito ang paggamit ng mga wildcard na character , gaya ng ipinakita sa sumusunod na halimbawa.
At narito ang ilang pangunahing formula ng Excel SEARCH:
=SEARCH("market", "supermarket")
ay nagbabalik ng 6 dahil ang substring na "market" ay nagsisimula sa ika-6 na character ng salitang "supermarket" .
Ang =SEARCH("e", "Excel")
ay nagbabalik ng 1 dahil ang "e" ay ang unang character sa salitang "Excel", hindi pinapansin ang case.
Tulad ng FIND, ang Excel's SEARCH function ay nagbabalik ng #VALUE! error kung:
- Ang halaga ng find_text argument ay hindi nakita.
- Ang start_num argument ay mas malaki kaysa sa haba ng within_text.
- Start_num ay katumbas ng o mas mababa sa zero.
Higit pa sa tutorial na ito, makakahanap ka ng ilang mas makabuluhang halimbawa ng formula na nagpapakita kung paano gamitin ang function na SEARCH sa mga worksheet ng Excel.
Excel FIND vs. Excel SEARCH
Gaya ng nabanggit na, ang FIND at SEARCH function sa Excel ay magkapareho sa mga tuntunin ng syntax at paggamit. Gayunpaman, mayroon silang ilang pagkakaiba.
1. Case-sensitive FIND kumpara sa case-insensitive SEARCH
Ang pinakamahalagang pagkakaiba sa pagitan ng Excel SEARCH at FIND function ay ang SEARCH ay case-insensitive, habang ang FIND ay case-sensitive.
Halimbawa , SEARCH("e", "Excel") ay nagbabalik ng 1 dahil hindi nito pinapansin angkaso ng "E", habang ang FIND("e", "Excel") ay nagbabalik ng 4 dahil iniisip nito ang kaso.
2. Maghanap gamit ang mga wildcard na character
Hindi tulad ng FIND, ang Excel SEARCH function ay tumatanggap ng mga wildcard na character sa find_text argument:
- Ang tandang pananong (?) ay tumutugma sa isang character, at
- Isang asterisk (*) ang tumutugma sa anumang serye ng mga character.
Upang makita kung paano ito gumagana sa totoong data, isaalang-alang ang sumusunod na halimbawa:
Gaya ng nakikita mo sa screenshot sa itaas, ibinabalik ng formula na SEARCH("function*2013", A2) ang posisyon ng unang character ("f") sa substring kung ang text string na tinutukoy sa within_text argument ay naglalaman ng parehong "function" at "2013", kahit gaano pa karaming mga character ang nasa pagitan.
Tip. Upang makahanap ng aktwal na tandang pananong (?) o asterisk (*), mag-type ng tilde (~) bago ang kaukulang karakter.
Mga halimbawa ng formula ng Excel FIND at SEARCH
Sa pagsasagawa, ang mga function ng Excel FIND at SEARCH ay bihirang ginagamit nang mag-isa. Kadalasan, gagamitin mo ang mga ito kasama ng iba pang mga function gaya ng MID, LEFT o KANAN, at ang mga sumusunod na halimbawa ng formula ay nagpapakita ng ilang paggamit sa totoong buhay.
Halimbawa 1. Maghanap ng string na nauuna o sumusunod sa isang ibinigay na character
Ipinapakita ng halimbawang ito kung paano mo mahahanap at ma-extract ang lahat ng character sa isang text string sa kaliwa o sa kanan ng isang partikular na character. Upang gawing mas madaling maunawaan ang mga bagay, isaalang-alang angsumusunod na halimbawa.
Ipagpalagay na mayroon kang column ng mga pangalan (column A) at gusto mong hilahin ang First name at Last name sa magkahiwalay na column.
Upang makuha ang unang pangalan, maaari mong gamitin FIND (o SEARCH) kasabay ng LEFT function:
=LEFT(A2, FIND(" ", A2)-1)
o
=LEFT(A2, SEARCH(" ", A2)-1)
Tulad ng malamang na alam mo, ibinabalik ng Excel LEFT function ang tinukoy na bilang ng pinakakaliwang character sa isang string. At ginagamit mo ang FIND function upang matukoy ang posisyon ng isang puwang (" ") upang ipaalam sa LEFT function kung ilang character ang kukunin. Sa gayon, ibawas mo ang 1 sa posisyon ng espasyo dahil hindi mo gustong isama ng ibinalik na halaga ang espasyo.
Upang i-extract ang apelyido, gamitin ang kumbinasyon ng mga function na RIGHT, FIND / SEARCH at LEN. Ang LEN function ay kailangan upang makuha ang kabuuang bilang ng mga character sa string, kung saan mo ibawas ang posisyon ng espasyo:
=RIGHT(A2,LEN(A2)-FIND(" ",A2))
o
=RIGHT(A2,LEN(A2)-SEARCH(" ",A2))
Ang sumusunod na screenshot ay nagpapakita ng resulta:
Para sa mas kumplikadong mga sitwasyon, tulad ng pagkuha ng gitnang pangalan o paghahati ng mga pangalan na may mga suffix, pakitingnan ang Paano hatiin ang mga cell sa Excel gamit ang mga formula.
Halimbawa 2. Hanapin ang Nth paglitaw ng isang ibinigay na character sa isang text string
Ipagpalagay na mayroon kang ilang mga string ng teksto sa column A, sabihin ang isang listahan ng mga SKU, at gusto mong hanapin ang posisyon ng 2nd dash sa isang string. Gumagana ang sumusunod na formula:
=FIND("-", A2, FIND("-",A2)+1)
Ang unang dalawamadaling bigyang-kahulugan ang mga argumento: maghanap ng gitling ("-") sa cell A2. Sa ikatlong argumento (start_num), nag-embed ka ng isa pang FIND function na nagsasabi sa Excel na magsimulang maghanap simula sa character na darating pagkatapos ng unang paglitaw ng dash (FIND("-",A2)+1).
Upang ibalik ang posisyon ng 3rd occurrence , i-embed mo ang formula sa itaas sa start_num argument ng isa pang FIND function at magdagdag ng 2 sa ibinalik na value:
=FIND("-",A2, FIND("-", A2, FIND("-",A2)+1) +2)
Ang isa pa at malamang na isang mas simpleng paraan ng paghahanap ng Nth na paglitaw ng isang naibigay na character ay ang paggamit ng Excel FIND function kasama ng CHAR at SUBSTITUTE:
=FIND(CHAR(1),SUBSTITUTE(A2,"-",CHAR(1),3))
Kung saan ang "-" ay ang character na pinag-uusapan at ang "3" ay ang Nth occurrence na gusto mong hanapin.
Sa formula sa itaas, pinapalitan ng SUBSTITUTE function ang ika-3 paglitaw ng dash ("-") ng CHAR( 1), na hindi napi-print na "Start of Heading" na character sa ASCII system. Sa halip na CHAR(1) maaari kang gumamit ng anumang hindi mai-print na karakter mula 1 hanggang 31. At pagkatapos, ibinabalik ng FIND function ang posisyon ng character na iyon sa string ng teksto. Kaya, ang pangkalahatang formula ay ang mga sumusunod:
FIND(CHAR(1),SUBSTITUTE( cell , character ,CHAR(1), Nth occurrence ))Sa unang tingin, maaaring mukhang ang mga formula sa itaas ay may maliit na praktikal na halaga, ngunit ang susunod na halimbawa ay magpapakita kung gaano kapaki-pakinabang ang mga ito sa paglutas ng mga tunay na gawain.
Tandaan. Mangyaring tandaan na ang Excel FINDcase-sensitive ang function. Sa aming halimbawa, wala itong pagkakaiba, ngunit kung nagtatrabaho ka sa mga titik at gusto mo ng case-insensitive na tugma, gamitin ang SEARCH function sa halip na HANAPIN.
Halimbawa 3. I-extract ang N character na sumusunod sa isang partikular na character
Upang maghanap ng substring ng isang partikular na haba sa loob ng anumang text string, gamitin ang Excel FIND o Excel SEARCH kasama ng MID function. Ipinapakita ng sumusunod na halimbawa kung paano mo magagamit ang mga naturang formula sa pagsasanay.
Sa aming listahan ng mga SKU, ipagpalagay na gusto mong hanapin ang unang 3 character kasunod ng unang gitling at hilahin ang mga ito sa isa pang column.
Kung ang pangkat ng mga character na nauuna sa unang gitling ay palaging naglalaman ng parehong bilang ng mga item (hal. 2 character) ito ay isang maliit na gawain. Maaari mong gamitin ang MID function para magbalik ng 3 character mula sa isang string, simula sa posisyon 4 (laktawan ang unang 2 character at isang gitling):
=MID(A2, 4, 3)
Isinalin sa English, ang formula ay nagsasabing: "Tumingin sa cell A2, magsimulang mag-extract mula sa character 4, at magbalik ng 3 character".
Gayunpaman, sa totoong buhay na mga worksheet, ang substring na kailangan mong i-extract ay maaaring magsimula kahit saan sa loob ng string ng teksto. Sa aming halimbawa, maaaring hindi mo alam kung gaano karaming mga character ang nauuna sa unang gitling. Upang makayanan ang hamon na ito, gamitin ang FIND function upang matukoy ang panimulang punto ng substring na gusto mong makuha.
Ang FIND formula upang ibalik angang posisyon ng 1st dash ay ang sumusunod:
=FIND("-",A2)
Dahil gusto mong magsimula sa character na sumusunod sa dash, magdagdag ng 1 sa ibinalik na value at i-embed ang function sa itaas sa pangalawang argumento (start_num) ng MID function:
=MID(A2, FIND("-",A2)+1, 3)
Sa sitwasyong ito, gumagana nang maayos ang Excel SEARCH function:
=MID(A2, SEARCH("-",A2)+1, 3)
Ito ay mahusay, ngunit paano kung ang pangkat ng mga character na sumusunod sa unang gitling ay naglalaman ng ibang bilang ng mga character? Hmm... maaaring problema ito:
Tulad ng nakikita mo sa screenshot sa itaas, gumagana ang formula para sa mga row 1 at 2. Sa row 4 at 5, ang ang pangalawang pangkat ay naglalaman ng 4 na character, ngunit ang unang 3 karakter lamang ang ibinalik. Sa mga hilera 6 at 7, mayroon lamang 2 character sa pangalawang pangkat, at samakatuwid ang aming Excel Search formula ay nagbabalik ng isang gitling kasunod ng mga ito.
Kung gusto mong ibalik ang lahat ng mga character sa pagitan ng una at ika-2 paglitaw ng isang tiyak na karakter (gitling sa halimbawang ito), paano ka magpapatuloy? Narito ang sagot:
=MID(A2, FIND("-",A2)+1, FIND("-", A2, FIND("-",A2)+1) - FIND("-",A2)-1)
Para sa mas mahusay na pag-unawa sa MID formula na ito, suriin natin ang mga argumento nito nang paisa-isa:
- 1st argument (teksto). Ito ang text string na naglalaman ng mga character na gusto mong i-extract, cell A2 sa halimbawang ito.
- 2nd argument (start_position). Tinutukoy ang posisyon ng unang character na gusto mong i-extract. Ginagamit mo ang FIND function upang mahanap ang unang gitling sa string at magdagdag ng 1 saang value na iyon dahil gusto mong magsimula sa character na sumusunod sa dash: FIND("-",A2)+1.
- 3rd argument (num_chars). Tinutukoy ang bilang ng mga character na gusto mong ibalik. Sa aming formula, ito ang pinakamahirap na bahagi. Gumagamit ka ng dalawang function ng FIND (o SEARCH), tinutukoy ng isa ang posisyon ng unang gitling: FIND("-",A2). At ibinabalik ng isa ang posisyon ng pangalawang gitling: FIND("-", A2, FIND("-",A2)+1). Pagkatapos ay ibawas mo ang una sa huli, at pagkatapos ay ibawas ang 1 dahil ayaw mong isama ang alinman sa gitling. Bilang resulta, makukuha mo ang bilang ng mga character sa pagitan ng 1st at 2nd dashes, na kung ano mismo ang hinahanap namin. Kaya, ipapakain mo ang halagang iyon sa num_chars argument ng MID function.
Sa katulad na paraan, maaari kang magbalik ng 3 character pagkatapos ng 2nd dash:
=MID(A2, FIND("-",A2, FIND("-", A2, FIND("-",A2)+1) +2), 3)
O, i-extract ang lahat ng character sa pagitan ng 2nd at 3rd dash:
=MID(A2, FIND("-", A2, FIND("-",A2)+1)+1, FIND("-",A2, FIND("-", A2, FIND("-",A2)+1) +2) - FIND("-", A2, FIND("-",A2)+1)-1)
Halimbawa 4. Maghanap ng text sa pagitan ng mga panaklong
Ipagpalagay na mayroon kang ilang mahabang text string sa column A at gusto mong hanapin at i-extract lamang ang text na nakapaloob sa (mga panaklong).
Upang gawin ito, kakailanganin mo ang MID function upang ibalik ang nais na bilang ng mga character mula sa isang string, at alinman sa Excel FIND o SEARCH function upang matukoy kung saan magsisimula at kung gaano karaming mga character ang kukunin.
=MID(A2,SEARCH("(",A2)+1, SEARCH(")",A2)-SEARCH("(",A2)-1)
Ang lohika ng formula na ito ay katulad ng mga tinalakay natin sa nakaraang halimbawa. At