Isi kandungan
Tutorial menerangkan sintaks fungsi Excel FIND dan SEARCH serta menyediakan contoh formula penggunaan lanjutan bukan remeh.
Dalam artikel lepas, kami membincangkan asas Excel Cari dan Gantikan dialog. Walau bagaimanapun, dalam banyak situasi, anda mungkin mahu Excel mencari dan mengekstrak data daripada sel lain secara automatik berdasarkan kriteria anda. Jadi, mari kita lihat dengan lebih dekat apa yang ditawarkan oleh fungsi carian Excel.
Fungsi FIND Excel
Fungsi FIND dalam Excel digunakan untuk mengembalikan kedudukan aksara atau subrentetan tertentu dalam rentetan teks.
Sintaks fungsi Excel Find adalah seperti berikut:
FIND(find_text, within_text, [start_num])2 argumen pertama diperlukan, yang terakhir adalah pilihan.
- Find_text - aksara atau subrentetan yang anda ingin cari.
- Within_text - rentetan teks ke dicari dalam. Biasanya ia dibekalkan sebagai rujukan sel, tetapi anda juga boleh menaip rentetan terus dalam formula.
- Start_num - argumen pilihan yang menentukan daripada aksara mana carian akan dimulakan. Jika ditinggalkan, carian bermula daripada aksara pertama rentetan within_text.
Jika fungsi FIND tidak menemui aksara find_text, #VALUE! ralat dikembalikan.
Sebagai contoh, formula =FIND("d", "find")
mengembalikan 4 kerana "d" ialah huruf ke-4 dalam perkataan " cari ". Formula =FIND("a", "find")
sekali lagi, bahagian yang paling kompleks ialah hujah terakhir yang memberitahu formula berapa banyak aksara untuk dikembalikan. Ungkapan yang cukup panjang dalam argumen num_chars melakukan perkara berikut:
- Pertama, anda mencari kedudukan kurungan penutup:
SEARCH(")",A2)
- Selepas itu anda mencari kedudukan kurungan pembukaan:
SEARCH("(",A2)
- Dan kemudian, anda mengira perbezaan antara kedudukan kurungan penutup dan pembukaan dan tolak 1 daripada nombor itu, kerana anda tidak mahu sama ada kurungan dalam hasil:
SEARCH(")",A2)-SEARCH("(",A2))-1
Sememangnya, tiada apa yang menghalang anda daripada menggunakan fungsi Excel FIND dan bukannya SEARCH, kerana kepekaan huruf besar atau huruf besar tidak memberi sebarang perbezaan dalam contoh ini.
Semoga ini tutorial telah menjelaskan sedikit tentang cara menggunakan fungsi CARI dan MENCARI dalam Excel. Dalam tutorial seterusnya, kami akan mengkaji dengan teliti fungsi REPLACE, jadi sila nantikan. Terima kasih kerana membaca!
Muat turun buku kerja latihan
CARI dan CARIAN contoh formula
mengembalikan ralat kerana tiada "a" dalam " cari".
Fungsi Excel FIND - perkara yang perlu diingat!
Untuk menggunakan formula FIND dalam Excel dengan betul, ingat fakta mudah berikut:
- Fungsi FIND adalah sensitif huruf besar/kecil . Jika anda mencari padanan tidak sensitif huruf besar-besaran, gunakan fungsi SEARCH.
- Fungsi FIND dalam Excel tidak membenarkan penggunaan aksara kad liar .
- Jika argumen find_text mengandungi beberapa aksara, fungsi FIND mengembalikan kedudukan aksara pertama . Sebagai contoh, formula FIND("ap","happy") mengembalikan 2 kerana "a" dalam huruf ke-2 dalam perkataan "happy".
- Jika within_text mengandungi beberapa kejadian daripada find_text, kejadian pertama dikembalikan. Contohnya, FIND("l", "hello") mengembalikan 3, iaitu kedudukan aksara "l" pertama dalam perkataan "hello".
- Jika find_text ialah rentetan kosong "", formula Excel FIND mengembalikan aksara pertama dalam rentetan carian.
- Fungsi Excel FIND mengembalikan #VALUE! ralat jika mana-mana yang berikut berlaku:
- Find_text tidak wujud dalam within_text.
- Start_num mengandungi lebih banyak aksara daripada within_text.
- Start_num ialah 0 (sifar) atau nombor negatif.
Fungsi CARIAN Excel
Fungsi CARIAN dalam Excel sangat serupa dengan FIND kerana ia juga mengembalikan lokasi subrentetan dalam tekstali. Adakah sintaks dan hujah adalah serupa dengan FIND:
SEARCH(find_text, within_text, [start_num])Tidak seperti FIND, fungsi SEARCH adalah tidak peka huruf besar-kecil dan ia membenarkan penggunaan aksara kad bebas , seperti yang ditunjukkan dalam contoh berikut.
Dan berikut ialah beberapa formula asas CARIAN Excel:
=SEARCH("market", "supermarket")
mengembalikan 6 kerana subrentetan "pasaran" bermula pada aksara ke-6 perkataan "pasar raya" .
=SEARCH("e", "Excel")
mengembalikan 1 kerana "e" ialah aksara pertama dalam perkataan "Excel", mengabaikan kes itu.
Seperti FIND, fungsi SEARCH Excel mengembalikan #VALUE! ralat jika:
- Nilai argumen find_text tidak ditemui.
- Argumen start_num lebih besar daripada panjang within_text.
- Start_num sama dengan atau kurang daripada sifar.
Selanjutnya dalam tutorial ini, anda akan menemui beberapa contoh formula yang lebih bermakna yang menunjukkan cara menggunakan fungsi CARIAN dalam lembaran kerja Excel.
Excel FIND lwn. Excel SEARCH
Seperti yang telah dinyatakan, fungsi FIND dan SEARCH dalam Excel adalah sangat serupa dari segi sintaks dan penggunaan. Walau bagaimanapun, mereka mempunyai beberapa perbezaan.
1. FIND peka huruf besar vs. SEARCH tidak peka huruf besar/kecil
Perbezaan paling penting antara fungsi CARI Excel dan FIND ialah SEARCH tidak peka huruf besar dan huruf, manakala FIND sensitif huruf besar/kecil.
Sebagai contoh , SEARCH("e", "Excel") mengembalikan 1 kerana ia mengabaikankes "E", manakala FIND("e", "Excel") mengembalikan 4 kerana ia mengambil kira kes itu.
2. Cari dengan aksara kad bebas
Tidak seperti FIND, fungsi Excel SEARCH menerima aksara kad bebas dalam hujah find_text:
- Tanda soal (?) sepadan dengan satu aksara dan
- Asterisk (*) sepadan dengan mana-mana siri aksara.
Untuk melihat cara ia berfungsi pada data sebenar, pertimbangkan contoh berikut:
Seperti yang anda lihat dalam tangkapan skrin di atas, formula SEARCH("function*2013", A2) mengembalikan kedudukan aksara pertama ("f") dalam subrentetan jika rentetan teks yang dirujuk dalam argumen within_text mengandungi kedua-dua "fungsi" dan "2013", tidak kira berapa banyak aksara lain yang ada di antaranya.
Petua. Untuk mencari tanda soal sebenar (?) atau asterisk (*), taipkan tilde (~) sebelum aksara yang sepadan.
Contoh formula Excel FIND dan SEARCH
Dalam amalan, fungsi Excel FIND dan SEARCH jarang digunakan sendiri. Biasanya, anda akan menggunakannya dalam kombinasi dengan fungsi lain seperti MID, LEFT atau KANAN, dan contoh formula berikut menunjukkan beberapa kegunaan dalam kehidupan sebenar.
Contoh 1. Cari rentetan sebelum atau selepas aksara yang diberikan
Contoh ini menunjukkan cara anda boleh mencari dan mengekstrak semua aksara dalam rentetan teks di sebelah kiri atau di sebelah kanan aksara tertentu. Untuk membuat perkara lebih mudah difahami, pertimbangkancontoh berikut.
Andaikan anda mempunyai lajur nama (lajur A) dan anda ingin menarik nama Pertama dan Nama Akhir ke dalam lajur yang berasingan.
Untuk mendapatkan nama pertama, anda boleh menggunakan FIND (atau CARI) bersama-sama dengan fungsi LEFT:
=LEFT(A2, FIND(" ", A2)-1)
atau
=LEFT(A2, SEARCH(" ", A2)-1)
Seperti yang anda mungkin tahu, fungsi Excel LEFT mengembalikan bilangan aksara paling kiri yang ditentukan dalam rentetan. Dan anda menggunakan fungsi FIND untuk menentukan kedudukan ruang (" ") untuk membolehkan fungsi LEFT mengetahui bilangan aksara untuk diekstrak. Pada masa itu, anda menolak 1 daripada kedudukan ruang kerana anda tidak mahu nilai yang dikembalikan termasuk ruang.
Untuk mengekstrak nama akhir, gunakan gabungan fungsi RIGHT, FIND / CARI dan LEN. Fungsi LEN diperlukan untuk mendapatkan jumlah bilangan aksara dalam rentetan, dari mana anda menolak kedudukan ruang:
=RIGHT(A2,LEN(A2)-FIND(" ",A2))
atau
=RIGHT(A2,LEN(A2)-SEARCH(" ",A2))
Tangkapan skrin berikut menunjukkan hasilnya:
Untuk senario yang lebih kompleks, seperti mengekstrak nama tengah atau membelah nama dengan akhiran, sila lihat Cara membelah sel dalam Excel menggunakan formula.
Contoh 2. Cari kejadian ke-N bagi aksara yang diberikan dalam rentetan teks
Andaikata anda mempunyai beberapa rentetan teks dalam lajur A, sebut senarai SKU dan anda ingin mencari kedudukan sengkang ke-2 dalam rentetan. Formula berikut berfungsi dengan baik:
=FIND("-", A2, FIND("-",A2)+1)
Dua yang pertamahujah mudah ditafsir: cari sempang ("-") dalam sel A2. Dalam hujah ketiga (start_num), anda membenamkan fungsi FIND lain yang memberitahu Excel untuk mula mencari bermula dengan aksara yang datang sejurus selepas kejadian pertama sempang (FIND("-",A2)+1).
Untuk mengembalikan kedudukan kejadian ke-3 , anda membenamkan formula di atas dalam argumen start_num bagi fungsi FIND yang lain dan tambahkan 2 pada nilai yang dikembalikan:
=FIND("-",A2, FIND("-", A2, FIND("-",A2)+1) +2)
Satu lagi dan mungkin cara yang lebih mudah untuk mencari kejadian ke-N bagi aksara tertentu ialah menggunakan fungsi Excel FIND dalam kombinasi dengan CHAR dan SUBSTITUTE:
=FIND(CHAR(1),SUBSTITUTE(A2,"-",CHAR(1),3))
Di mana "-" ialah aksara yang dimaksudkan dan "3" ialah kejadian ke-N yang anda mahu cari.
Dalam formula di atas, fungsi SUBSTITUTE menggantikan kejadian ke-3 sengkang ("-") dengan CHAR( 1), iaitu aksara "Start of Heading" yang tidak boleh dicetak dalam sistem ASCII. Daripada CHAR(1) anda boleh menggunakan mana-mana aksara lain yang tidak boleh dicetak dari 1 hingga 31. Dan kemudian, fungsi FIND mengembalikan kedudukan aksara itu dalam rentetan teks. Jadi, formula umum adalah seperti berikut:
FIND(CHAR(1),SUBSTITUTE( sel , aksara ,CHAR(1), Kejadian ke-n ))Pada pandangan pertama, nampaknya formula di atas mempunyai sedikit nilai praktikal, tetapi contoh seterusnya akan menunjukkan betapa bergunanya formula tersebut dalam menyelesaikan tugasan sebenar.
Nota. Sila ingat bahawa Excel FINDfungsi adalah sensitif huruf besar-besaran. Dalam contoh kami, ini tiada perbezaan, tetapi jika anda menggunakan huruf dan anda mahukan padanan tidak peka huruf besar kecil , gunakan fungsi CARI dan bukannya CARI.
Contoh 3. Ekstrak N aksara mengikut aksara tertentu
Untuk mencari subrentetan panjang tertentu dalam mana-mana rentetan teks, gunakan Excel FIND atau Excel SEARCH dalam kombinasi dengan fungsi MID. Contoh berikut menunjukkan cara anda boleh menggunakan formula sedemikian dalam amalan.
Dalam senarai SKU kami, andaikan anda ingin mencari 3 aksara pertama selepas sempang pertama dan tariknya dalam lajur lain.
Jika kumpulan aksara sebelum sempang pertama sentiasa mengandungi bilangan item yang sama (cth. 2 aksara) ini akan menjadi tugas yang remeh. Anda boleh menggunakan fungsi MID untuk mengembalikan 3 aksara daripada rentetan, bermula pada kedudukan 4 (melangkau 2 aksara pertama dan sengkang):
=MID(A2, 4, 3)
Diterjemahkan ke dalam bahasa Inggeris, formula berkata: "Lihat dalam sel A2, mula mengekstrak daripada aksara 4 dan kembalikan 3 aksara".
Walau bagaimanapun, dalam lembaran kerja kehidupan sebenar, subrentetan yang anda perlu ekstrak boleh bermula di mana-mana sahaja dalam rentetan teks. Dalam contoh kami, anda mungkin tidak tahu berapa banyak aksara yang mendahului sempang pertama. Untuk menghadapi cabaran ini, gunakan fungsi FIND untuk menentukan titik permulaan subrentetan yang anda ingin dapatkan.
Formula FIND untuk mengembalikankedudukan sempang pertama adalah seperti berikut:
=FIND("-",A2)
Oleh kerana anda ingin bermula dengan aksara yang mengikuti sengkang, tambahkan 1 pada nilai yang dikembalikan dan benamkan fungsi di atas dalam hujah kedua (start_num) fungsi MID:
=MID(A2, FIND("-",A2)+1, 3)
Dalam senario ini, fungsi Excel SEARCH berfungsi dengan baik:
=MID(A2, SEARCH("-",A2)+1, 3)
Memang bagus, tetapi bagaimana jika kumpulan aksara yang mengikuti sempang pertama mengandungi bilangan aksara yang berbeza? Hmm... ini mungkin masalah:
Seperti yang anda lihat dalam tangkapan skrin di atas, formula berfungsi dengan sempurna untuk baris 1 dan 2. Dalam baris 4 dan 5, kumpulan kedua mengandungi 4 aksara, tetapi hanya 3 aksara pertama dikembalikan. Dalam baris 6 dan 7, terdapat hanya 2 aksara dalam kumpulan kedua, dan oleh itu formula Carian Excel kami mengembalikan sempang mengikutinya.
Jika anda ingin mengembalikan semua aksara antara kejadian pertama dan kedua watak tertentu (sempang dalam contoh ini), bagaimanakah anda akan meneruskan? Inilah jawapannya:
=MID(A2, FIND("-",A2)+1, FIND("-", A2, FIND("-",A2)+1) - FIND("-",A2)-1)
Untuk pemahaman yang lebih baik tentang formula MID ini, mari kita periksa hujahnya satu demi satu:
- hujah pertama (teks). Ia ialah rentetan teks yang mengandungi aksara yang anda ingin ekstrak, sel A2 dalam contoh ini.
- Argumen ke-2 (start_position). Menentukan kedudukan aksara pertama yang anda mahu keluarkan. Anda menggunakan fungsi FIND untuk mencari sempang pertama dalam rentetan dan menambah 1 kepadanilai itu kerana anda ingin bermula dengan aksara yang mengikuti sempang: FIND("-",A2)+1.
- argumen ke-3 (num_chars). Menentukan bilangan aksara yang anda ingin kembalikan. Dalam formula kami, ini adalah bahagian yang paling rumit. Anda menggunakan dua fungsi FIND (atau SEARCH), satu menentukan kedudukan sempang pertama: FIND("-",A2). Dan yang lain mengembalikan kedudukan sengkang kedua: FIND("-", A2, FIND("-",A2)+1). Kemudian anda tolak yang pertama daripada yang terakhir, dan kemudian tolak 1 kerana anda tidak mahu memasukkan mana-mana sengkang. Hasilnya, anda akan mendapat bilangan aksara antara sengkang 1 dan 2, iaitu apa yang kami cari. Jadi, anda suapkan nilai tersebut kepada argumen num_chars bagi fungsi MID.
Dengan cara yang sama, anda boleh mengembalikan 3 aksara selepas sempang ke-2:
=MID(A2, FIND("-",A2, FIND("-", A2, FIND("-",A2)+1) +2), 3)
Atau, ekstrak semua aksara antara sengkang ke-2 dan ke-3:
=MID(A2, FIND("-", A2, FIND("-",A2)+1)+1, FIND("-",A2, FIND("-", A2, FIND("-",A2)+1) +2) - FIND("-", A2, FIND("-",A2)+1)-1)
Contoh 4. Cari teks antara kurungan
Andaikan anda mempunyai beberapa rentetan teks yang panjang dalam lajur A dan anda ingin mencari dan mengekstrak hanya teks yang disertakan dalam (tanda kurung).
Untuk melakukan ini, anda memerlukan fungsi MID untuk mengembalikan bilangan aksara yang dikehendaki daripada rentetan dan sama ada Excel FIND atau fungsi SEARCH untuk menentukan tempat untuk bermula dan bilangan aksara untuk diekstrak.
=MID(A2,SEARCH("(",A2)+1, SEARCH(")",A2)-SEARCH("(",A2)-1)
Logik formula ini adalah serupa dengan yang kita bincangkan dalam sebelumnya. contoh. Dan