Isi kandungan
Dalam tutorial ini, kita akan melihat cara menggunakan fungsi IFERROR dan VLOOKUP bersama-sama untuk memerangkap dan mengendalikan ralat yang berbeza. Selain itu, anda akan belajar cara melakukan vlookup berjujukan dalam Excel dengan menyarangkan berbilang fungsi IFERROR satu sama lain.
Excel VLOOKUP dan IFERROR - kedua-dua fungsi ini mungkin agak sukar untuk difahami secara berasingan, apatah lagi apabila ia digabungkan. Dalam artikel ini, anda akan menemui beberapa contoh yang mudah diikuti yang menangani kegunaan biasa dan menggambarkan dengan jelas logik formula.
Jika anda tidak mempunyai banyak pengalaman dengan fungsi IFERROR dan VLOOKUP, ia mungkin idea yang baik untuk menyemak semula asas mereka terlebih dahulu dengan mengikuti pautan di atas.
Formula IFERROR VLOOKUP untuk mengendalikan #N/A dan ralat lain
Apabila Excel Vlookup gagal ditemui nilai carian, ia membuang ralat #N/A, seperti ini:
Bergantung pada keperluan perniagaan anda, anda mungkin mahu menyamarkan ralat dengan teks anda sendiri, sifar , atau sel kosong.
Contoh 1. IFERROR dengan formula VLOOKUP untuk menggantikan ralat dengan teks anda sendiri
Jika anda ingin menggantikan tatatanda ralat standard dengan teks tersuai anda, bungkus anda Formula VLOOKUP dalam IFERROR dan taipkan mana-mana teks yang anda mahukan dalam argumen ke-2 ( value_if_error ), contohnya "Not found":
IFERROR(VLOOKUP( …), "Not found")Dengan nilai carian dalam B2 dalam jadual Utama dan julat carian A2:B4 dalam Carianjadual, formula mengambil bentuk berikut:
=IFERROR(VLOOKUP(B2,'Lookup table'!$A$2:$B$5, 2, FALSE), "Not found")
Tangkapan skrin di bawah menunjukkan formula Excel IFERROR VLOOKUP kami dalam tindakan:
hasilnya kelihatan lebih mudah difahami dan tidak menakutkan, bukan?
Dengan cara yang sama, anda boleh menggunakan INDEX MATCH bersama-sama dengan IFERROR:
=IFERROR(INDEX('Lookup table'!$B$2:$B$5,MATCH(B2,'Lookup table'!$A$2:$A$5,0)), "Not found")
IFERROR Formula INDEX MATCH amat berguna apabila anda ingin menarik nilai daripada lajur yang terletak di sebelah kiri lajur carian (carian kiri) dan mengembalikan teks anda sendiri apabila tiada apa-apa ditemui.
Contoh 2. IFERROR dengan VLOOKUP untuk kembali kosong atau 0 jika tiada apa yang ditemui
Jika anda tidak mahu menunjukkan apa-apa apabila nilai carian tidak ditemui, minta IFERROR memaparkan rentetan kosong (""):
IFERROR(VLOOKUP( …),"")Dalam contoh kami, formulanya adalah seperti berikut:
=IFERROR(VLOOKUP(B2,'Lookup table'!$A$2:$B$5, 2, FALSE), "")
Seperti yang anda lihat, ia tidak mengembalikan apa-apa apabila nilai carian tiada dalam senarai carian.
Jika anda ingin menggantikan ralat dengan nilai sifar , letakkan 0 pada a rgumen:
=IFERROR(VLOOKUP(B2,'Lookup table'!$A$2:$B$5, 2, FALSE), 0)
Perkataan berhati-hati! Fungsi Excel IFERROR menangkap semua jenis ralat, bukan sahaja #N/A. Adakah ia baik atau buruk? Semua bergantung pada matlamat anda. Jika anda ingin menutup semua ralat yang mungkin berlaku, IFERROR Vlookup ialah cara yang perlu dilakukan. Tetapi ini mungkin teknik yang tidak bijak dalam banyak situasi.
Sebagai contoh, jika anda telah mencipta julat bernama untuk data jadual anda dan salah mengeja nama itu dalamFormula Vlookup, IFERROR akan menangkap #NAME? ralat dan gantikannya dengan "Tidak dijumpai" atau mana-mana teks lain yang anda bekalkan. Akibatnya, anda mungkin tidak tahu bahawa formula anda memberikan hasil yang salah melainkan anda melihat kesilapan itu sendiri. Dalam kes sedemikian, pendekatan yang lebih munasabah akan memerangkap ralat #N/A sahaja. Untuk ini, gunakan formula IFNA Vlookup dalam Excel 2013 dan lebih tinggi, IF ISNA VLOOKUP dalam semua versi Excel.
Intinya ialah: berhati-hati apabila memilih pasangan untuk formula VLOOKUP anda :)
Sarang IFERROR dalam VLOOKUP untuk sentiasa mencari sesuatu
Bayangkan situasi berikut: anda mencari nilai tertentu dalam senarai dan tidak menemuinya. Apakah pilihan yang anda ada? Sama ada dapatkan ralat N/A atau tunjukkan mesej anda sendiri. Sebenarnya, terdapat pilihan ketiga - jika vlookup utama anda tersandung, kemudian cari sesuatu yang lain yang pasti ada!
Mengambil contoh kami lebih jauh, mari buat sejenis papan pemuka untuk pengguna kami yang akan menunjukkan kepada mereka sambungan nombor pejabat tertentu. Sesuatu seperti ini:
Jadi, bagaimanakah anda menarik sambungan dari lajur B berdasarkan nombor pejabat dalam D2? Dengan formula Vlookup biasa ini:
=VLOOKUP($D$2,$A$2:$B$7,2,FALSE)
Dan ia akan berfungsi dengan baik selagi pengguna anda memasukkan nombor yang sah dalam D2. Tetapi bagaimana jika pengguna memasukkan beberapa nombor yang tidak wujud? Dalam kes ini, biarkan mereka menghubungi pejabat pusat! Untuk ini, anda membenamkan formula di atas dalam nilai argumen IFERROR dan letakkan Vlookup lain dalam argumen value_if_error .
Formula lengkap agak panjang, tetapi ia berfungsi dengan sempurna:
=IFERROR(VLOOKUP("office "&$D$2,$A$2:$B$7,2,FALSE),VLOOKUP("central office",$A$2:$B$7,2,FALSE))
Jika nombor pejabat ditemui, pengguna mendapat nombor sambungan yang sepadan:
Jika nombor pejabat tidak ditemui, sambungan pejabat pusat dipaparkan:
Untuk menjadikan formula lebih padat, anda boleh menggunakan pendekatan yang berbeza:
Mula-mula, semak sama ada nombor dalam D2 hadir dalam lajur carian (sila ambil perhatian bahawa kami menetapkan col_index_num kepada 1 untuk formula mencari dan mengembalikan nilai dari lajur A): VLOOKUP(D2,$A$2:$B$7,1,FALSE)
Jika nombor pejabat yang dinyatakan tidak ditemui, maka kami mencari rentetan "pejabat pusat", yang pastinya dalam senarai carian. Untuk ini, anda balut VLOOKUP pertama dalam IFERROR dan sarang keseluruhan gabungan ini di dalam fungsi VLOOKUP yang lain:
=VLOOKUP(IFERROR(VLOOKUP(D2,$A$2:$B$7,1,FALSE),"central office"),$A$2:$B$7,2)
Nah, formula yang berbeza sedikit, hasil yang sama:
Tetapi apakah sebab untuk mencari "pejabat pusat", anda mungkin bertanya kepada saya. Mengapa tidak berikan nombor sambungan terus dalam IFERROR? Kerana sambungan mungkin berubah pada satu ketika pada masa hadapan. Jika ini berlaku, anda perlu mengemas kini data anda sekali sahaja dalam jadual sumber, tanpa perlu risau tentang mengemas kini setiap formula VLOOKUP anda.
Cara melakukan VLOOKUP berurutan dalam Excel
Dalam situasi apabila anda perlulakukan Vlookups yang dipanggil berurutan atau berantai dalam Excel bergantung pada sama ada carian sebelumnya berjaya atau gagal, sarang dua atau lebih fungsi IFERROR untuk menjalankan Vlookup anda satu demi satu:
IFERROR(VLOOKUP( …), IFERROR(VLOOKUP( …), IFERROR(VLOOKUP( …),"Tidak ditemui")))The formula berfungsi dengan logik berikut:
Jika VLOOKUP pertama tidak menemui apa-apa, IFERROR pertama memerangkap ralat dan menjalankan VLOOKUP lain. Jika VLOOKUP kedua gagal, IFERROR kedua menangkap ralat dan menjalankan VLOOKUP ketiga, dan seterusnya. Jika semua Vlookup gagal, IFERROR terakhir akan mengembalikan mesej anda.
Formula IFERROR bersarang ini amat berguna apabila anda perlu Vlookup merentas berbilang helaian seperti yang ditunjukkan dalam contoh di bawah.
Katakanlah, anda mempunyai tiga senarai data homogen dalam tiga helaian kerja yang berbeza (nombor pejabat dalam contoh ini) dan anda ingin mendapatkan sambungan untuk nombor tertentu.
Dengan mengandaikan nilai carian berada dalam sel A2 dalam helaian semasa dan julat carian ialah A2:B5 dalam 3 helaian kerja yang berbeza (Utara, Selatan dan Barat), formula berikut berfungsi dengan baik:
=IFERROR(VLOOKUP(A2,North!$A$2:$B$5,2,FALSE), IFERROR(VLOOKUP(A2,South!$A$2:$B$5,2,FALSE), IFERROR(VLOOKUP(A2,West!$A$2:$B$5,2,FALSE),"Not found")))
Jadi, "berantai kami" Formula Vlookups" mencari dalam tiga helaian berbeza mengikut susunan yang kami sarangkan dalam formula dan membawa padanan pertama yang ditemui:
Beginilah cara anda menggunakan IFERROR dengan VLOOKUP dalam Excel. Saya mengucapkan terima kasih kerana membaca dan berharap dapat berjumpa dengan andadi blog kami minggu depan!
Muat turun yang tersedia
Contoh formula Excel IFERROR VLOOKUP