Excel VLOOKUP tidak berfungsi - membetulkan ralat #N/A dan #VALUE

  • Berkongsi Ini
Michael Brown

Isi kandungan

Adakah VLOOKUP anda menarik data yang salah atau anda tidak dapat memastikannya berfungsi sama sekali? Tutorial ini menunjukkan cara anda boleh membetulkan ralat biasa VLOOKUP dengan cepat dan mengatasi had utamanya.

Dalam beberapa artikel sebelum ini, kami meneroka pelbagai aspek fungsi Excel VLOOKUP. Jika anda telah mengikuti kami dengan teliti, sekarang anda sepatutnya menjadi pakar dalam bidang ini :)

Walau bagaimanapun, bukan tanpa sebab ramai pakar Excel menganggap VLOOKUP sebagai salah satu fungsi Excel yang paling rumit. Ia mempunyai banyak batasan, yang menjadi punca kepada pelbagai masalah dan ralat.

Dalam artikel ini, anda akan menemui penjelasan ringkas tentang punca utama ralat VLOOKUP seperti #N/A, #NAME dan #VALUE, serta penyelesaian dan pembetulannya. Kami akan bermula dengan sebab yang paling jelas mengapa VLOOKUP tidak berfungsi, jadi mungkin idea yang baik untuk menyemak langkah penyelesaian masalah di bawah mengikut urutan.

    Membetulkan ralat #N/A dalam VLOOKUP

    Dalam formula VLOOKUP, mesej ralat #N/A (bermaksud "tidak tersedia") dipaparkan apabila Excel tidak dapat mencari nilai carian. Terdapat beberapa sebab mengapa perkara itu boleh berlaku.

    1. Nilai carian adalah salah eja

    Adalah idea yang baik untuk menyemak perkara yang paling jelas dahulu : ) Silap cetak kerap berlaku apabila anda bekerja dengan set data yang sangat besar yang terdiri daripada beribu-ribu baris atau apabila nilai carian ditaip terus dalam formula.

    2.VLOOKUP tidak boleh memilih tatasusunan jadual dalam lembaran kerja lain (iaitu apabila anda menyerlahkan julat dalam helaian carian, tiada apa yang muncul dalam argumen table_array dalam formula atau dalam kotak formula yang sepadan wizard), maka kemungkinan besar kedua-dua helaian dibuka dalam contoh Excel yang berasingan dan tidak boleh berkomunikasi antara satu sama lain. Untuk mendapatkan maklumat lanjut, sila lihat Bagaimana untuk menentukan fail Excel dalam contoh yang mana. Untuk membetulkannya, hanya tutup semua tetingkap Excel dan kemudian buka semula helaian/buku kerja dalam contoh yang sama (tingkah laku lalai).

    Cara Vlookup tanpa ralat dalam Excel

    Jika anda tidak mahu menakut-nakutkan pengguna anda dengan notasi ralat Excel standard, anda boleh memaparkan teks mesra pengguna anda sendiri sebaliknya atau mengembalikan sel kosong jika tiada apa yang ditemui. Ini boleh dilakukan dengan menggunakan VLOOKUP dengan fungsi IFERROR atau IFNA.

    Tangkap semua ralat

    Dalam Excel 2007 dan kemudian, anda boleh menggunakan fungsi IFERROR untuk menyemak formula VLOOKUP untuk ralat dan mengembalikan anda teks sendiri (atau rentetan kosong) jika sebarang ralat dikesan.

    Contohnya:

    =IFERROR(VLOOKUP(E1, A2:B10, 2, FALSE), "Oops, something went wrong")

    Dalam Excel 2003 dan lebih awal, anda boleh gunakan formula IF ISERROR untuk tujuan yang sama:

    =IF(ISERROR(VLOOKUP(E1, A2:B10, 2, FALSE)), "Oops, something went wrong", VLOOKUP(E1, A2:B10, 2, FALSE))

    Untuk butiran lanjut, sila lihat Menggunakan IFERROR dengan VLOOKUP dalam Excel.

    Kendalikan ralat #N/A

    Untuk memerangkap ralat #N/A sahaja yang mengabaikan semua jenis ralat lain, gunakan fungsi IFNA (dalam Excel 2013 danlebih tinggi) atau formula IF ISNA (dalam semua versi).

    Contohnya:

    =IFNA(VLOOKUP(E1, A2:B10, 2, FALSE), "Oops, no match is found. Please try again!")

    =IF(ISNA(VLOOKUP(E1, A2:B10, 2, FALSE)), "Oops, no match is found. Please try again!", VLOOKUP(E1, A2:B10, 2, FALSE))

    Itu sahaja untuk hari ini. Mudah-mudahan, tutorial ini akan membantu anda menyingkirkan ralat VLOOKUP dan memastikan formula anda berfungsi mengikut cara yang anda mahukan.

    Cara VLOOKUP dalam Excel - tutorial video

    #N/A dalam anggaran padanan VLOOKUP

    Jika formula anda mencari padanan terdekat, ( julat_lookup argumen ditetapkan kepada BENAR atau ditinggalkan), ralat #N/A boleh muncul dalam dua kes :

    • Nilai carian adalah lebih kecil daripada nilai terkecil dalam tatasusunan carian.
    • Lajur carian tidak diisih dalam tertib menaik.

    3 . #N/A dalam VLOOKUP padanan tepat

    Jika anda mencari padanan tepat ( julat_lookup argumen ditetapkan kepada FALSE), ralat #N/A berlaku apabila nilai sama persis dengan carian nilai tidak dijumpai. Untuk mendapatkan maklumat lanjut, lihat padanan tepat VLOOKUP lwn. padanan anggaran.

    4. Lajur carian bukanlah lajur paling kiri tatasusunan jadual

    Salah satu batasan paling ketara Excel VLOOKUP ialah lajur itu tidak boleh melihat ke kiri. Akibatnya, lajur carian hendaklah sentiasa lajur paling kiri dalam tatasusunan jadual. Dalam amalan, kami sering melupakan perkara ini dan berakhir dengan ralat #N/A.

    Penyelesaian : Jika tidak mungkin untuk menstruktur semula data anda supaya lajur carian adalah lajur paling kiri, anda boleh menggunakan fungsi INDEX dan MATCH bersama-sama sebagai alternatif kepada VLOOKUP. Berikut ialah contoh formula: INDEX MATCH formula untuk mencari nilai ke kiri.

    5. Nombor diformatkan sebagai teks

    Satu lagi sumber biasa #N/A ralat dalam formula VLOOKUP ialah nombor yang diformatkan sebagai teks, sama ada dalam jadual utama atau carian.

    Ini biasanyaberlaku apabila anda mengimport data daripada beberapa pangkalan data luaran atau jika anda telah menaip tanda kutip sebelum nombor untuk menunjukkan sifar pendahuluan.

    Berikut ialah penunjuk nombor yang paling jelas yang diformatkan sebagai teks:

    Penyelesaian: Pilih semua nombor yang bermasalah, klik pada ikon ralat dan pilih Tukar kepada Nombor daripada menu konteks. Untuk mendapatkan maklumat lanjut, sila lihat Cara menukar teks kepada nombor dalam Excel.

    6. Ruang mendahului atau mengekor

    Ini adalah punca paling kurang jelas bagi ralat VLOOKUP #N/A kerana mata manusia sukar untuk melihat ruang tambahan tersebut, terutamanya apabila bekerja dengan set data besar di mana kebanyakan entri berada di bawah tatal .

    Penyelesaian 1: Ruang tambahan dalam nilai carian

    Untuk memastikan formula VLOOKUP anda berfungsi dengan betul, bungkus nilai carian dalam fungsi TRIM:

    =VLOOKUP(TRIM(E1), A2:C10, 2, FALSE)

    Penyelesaian 2: Ruang tambahan dalam lajur carian

    Jika ruang tambahan berlaku dalam lajur carian, terdapat bukanlah cara mudah untuk mengelakkan ralat #N/A dalam VLOOKUP. Sebaliknya, anda boleh menggunakan gabungan fungsi INDEX, MATCH dan TRIM sebagai formula tatasusunan:

    =INDEX(B2:B10, MATCH(TRUE, TRIM(A$2:A$10)=TRIM(E1), 0))

    Memandangkan ini adalah formula tatasusunan, jangan lupa tekan Ctrl + Shift + Enter untuk melengkapkannya dengan betul (dalam Excel 365 dan Excel 2021 di mana tatasusunan adalah asli, ini juga berfungsi sebagai formula biasa).

    Petua. Alternatif pantas ialah menjalankan alat Trim Spaces yang akan menghapuskanlebihan ruang dalam carian dan jadual utama dalam beberapa saat, menjadikan formula VLOOKUP anda bebas ralat.

    #VALUE! ralat dalam formula VLOOKUP

    Secara umum, Microsoft Excel memaparkan #VALUE! ralat jika nilai yang digunakan dalam formula adalah daripada jenis data yang salah. Berkenaan dengan VLOOKUP, terdapat dua sumber biasa VALUE! ralat.

    1. Nilai carian melebihi 255 aksara

    Sila maklum bahawa VLOOKUP tidak boleh mencari nilai yang mengandungi lebih daripada 255 aksara. Jika nilai carian anda melebihi had ini, #VALUE! ralat akan dipaparkan:

    Penyelesaian : Sebaliknya gunakan formula INDEX MATCH. Dalam kes kami, formula ini berfungsi dengan sempurna:

    =INDEX(B2:B7, MATCH(TRUE, INDEX(A2:A7= E1, 0), 0))

    2. Laluan penuh ke buku kerja carian tidak dibekalkan

    Jika anda menarik data daripada buku kerja lain, anda perlu memasukkan laluan penuh kepadanya. Lebih tepat lagi, anda perlu menyertakan nama buku kerja termasuk sambungan dalam [kurung segi empat sama] dan nyatakan nama helaian diikuti dengan tanda seru. Jika nama buku kerja atau nama helaian, atau kedua-duanya, mengandungi ruang atau mana-mana aksara bukan abjad, laluan mesti disertakan dalam tanda petikan tunggal.

    Berikut ialah struktur argumen table_array untuk Vlookup dari buku kerja lain:

    '[workbook name]sheet name'!range

    Formula sebenar mungkin kelihatan serupa dengan ini:

    =VLOOKUP($A$2,'[New Prices.xls]Sheet1'!$B:$D, 3, FALSE)

    Formula di atas akan mencari nilai A2 dalam lajur B Helaian1 dalam BaharuHarga buku kerja dan kembalikan nilai yang sepadan daripada lajur D.

    Jika mana-mana elemen laluan tiada, formula VLOOKUP anda tidak akan berfungsi dan mengembalikan ralat #VALUE (melainkan buku kerja carian pada masa ini terbuka).

    Untuk mendapatkan maklumat lanjut, sila lihat:

    • Cara merujuk kepada helaian atau buku kerja lain dalam Excel
    • Cara melakukan Vlookup dari buku kerja lain

    3. Argumen col_index_num kurang daripada 1

    Sukar untuk membayangkan situasi apabila seseorang dengan sengaja memasukkan nombor kurang daripada 1 untuk menentukan lajur untuk mengembalikan nilai. Tetapi ia mungkin berlaku jika argumen ini dikembalikan oleh beberapa fungsi lain yang bersarang dalam formula VLOOKUP anda.

    Jadi, jika argumen col_index_num adalah daripada 1, formula anda akan mengembalikan #VALUE! ralat juga.

    Jika col_index_num lebih besar daripada bilangan lajur dalam tatasusunan jadual, VLOOKUP menghasilkan #REF! ralat.

    Menyelesaikan ralat #NAME VLOOKUP

    Ini adalah kes paling mudah - #NAME? ralat muncul jika anda telah tersalah eja nama fungsi secara tidak sengaja.

    Penyelesaian adalah jelas - semak ejaan :)

    Punca utama ralat dalam Excel VLOOKUP

    Selain daripada mempunyai sintaks yang agak rumit, VLOOKUP mempunyai lebih banyak batasan daripada mana-mana fungsi Excel yang lain. Disebabkan oleh pengehadan ini, formula yang kelihatan betul mungkin selalunya memberikan hasil yang berbeza daripada apa yang anda jangkakan. Di bawah anda akan dapatipenyelesaian untuk beberapa senario biasa apabila VLOOKUP gagal.

    VLOOKUP tidak peka huruf besar/kecil

    Fungsi VLOOKUP tidak membezakan huruf besar dan huruf kecil dan huruf besar sebagai sama.

    Penyelesaian : Gunakan VLOOKUP, XLOOKUP atau INDEX MATCH dalam kombinasi dengan fungsi EXACT yang boleh memadankan huruf besar kecil. Anda boleh mendapatkan penjelasan terperinci dan contoh formula dalam tutorial ini: 5 cara untuk melakukan Vlookup sensitif huruf besar-besaran dalam Excel.

    Lajur baharu telah dimasukkan atau dialih keluar daripada jadual

    Malangnya, VLOOKUP formula berhenti berfungsi setiap kali apabila lajur baharu dipadamkan daripada atau ditambahkan pada jadual carian. Ini berlaku kerana sintaks fungsi VLOOKUP memerlukan penentuan nombor indeks lajur pulangan. Apabila lajur baharu ditambahkan pada/dialih keluar daripada tatasusunan jadual, jelas sekali bahawa nombor indeks berubah.

    Penyelesaian : Formula PADANAN INDEX datang untuk menyelamatkan sekali lagi : ) Dengan PADANAN INDEX, anda tentukan julat carian dan kembalikan secara berasingan, jadi anda bebas untuk memadam atau memasukkan seberapa banyak lajur yang anda mahu tanpa perlu risau tentang mengemas kini setiap formula yang berkaitan.

    Rujukan sel berubah apabila menyalin formula ke sel lain

    Tajuk memberikan penjelasan lengkap tentang masalah, bukan?

    Penyelesaian : Sentiasa gunakan rujukan mutlak (dengan tanda $) untuk argumen table_array , mis. $A$2:$C$100 atau$A:$C. Anda boleh bertukar dengan cepat antara jenis rujukan yang berbeza dengan menekan kekunci F4.

    VLOOKUP mengembalikan nilai pertama yang ditemui

    Seperti yang anda sedia maklum, Excel VLOOKUP mengembalikan nilai pertama yang ditemuinya. Walau bagaimanapun, anda boleh memaksanya untuk membawa kejadian ke-2, ke-3, ke-4 atau sebarang kejadian lain yang anda mahukan. Terdapat juga cara untuk mendapatkan padanan terakhir atau semua padanan yang ditemui.

    Penyelesaian : Contoh formula tersedia di sini:

    • VLOOKUP dan kembalikan kejadian ke-N
    • Nilai berbilang VLOOKUP
    • Formula XLOOKUP untuk mendapatkan padanan terakhir

    Mengapa VLOOKUP saya berfungsi untuk beberapa sel tetapi tidak pada yang lain?

    Apabila anda Formula VLOOKUP mengembalikan data yang betul I beberapa sel dan ralat #N/A pada yang lain, mungkin terdapat beberapa sebab yang mungkin berlaku.

    1. Tatasusunan jadual tidak dikunci

    Andaikan anda mempunyai formula ini dalam baris 2 (katakan dalam E2), yang berfungsi dengan baik:

    =VLOOKUP(D2, A2:B10, 2, FALSE)

    Apabila disalin ke baris 3, formula berubah kepada:

    =VLOOKUP(D3, A3:B11, 2, FALSE)

    Oleh kerana rujukan relatif digunakan untuk table_array , ia berubah berdasarkan kedudukan relatif baris tempat formula disalin , dalam kes kami dari A2:B10 hingga A3:B11. Jadi, jika padanan dalam baris 2, ia tidak akan ditemui!

    Penyelesaian : Apabila menggunakan formula VLOOKUP untuk lebih daripada satu sel, sentiasa kunci tatasusunan jadual Rujukan dengan tanda $ seperti $A$2:$B$10.

    2. Nilai teks atau jenis data tidak sepadan

    Lainsebab biasa kegagalan VLOOKUP ialah perbezaan antara nilai carian anda dan nilai yang serupa dalam lajur carian. Dalam sesetengah kes, perbezaannya sangat halus sehingga sukar untuk dikesan secara visual.

    Penyelesaian : Apabila VLOOKUP mengembalikan ralat #N/A semasa anda dapat melihat dengan jelas nilai carian dalam lajur carian dan nampaknya kedua-duanya dieja betul-betul sama, perkara pertama yang anda perlu lakukan ialah menentukan punca masalah - formula atau data sumber.

    Untuk melihat sama ada kedua-dua nilai itu adalah sama atau berbeza, buat perbandingan langsung dengan cara ini:

    =E1=A4

    Di mana E1 ialah nilai carian anda dan A4 ialah nilai yang sama dalam lajur carian.

    Jika formula mengembalikan FALSE, ini bermakna nilai berbeza dalam beberapa cara, walaupun ia kelihatan sama sekali.

    Dalam kes nilai angka , sebab yang paling mungkin ialah nombor yang diformatkan sebagai teks.

    Dalam kes nilai teks , kemungkinan besar masalahnya adalah dalam lebihan ruang. Untuk mengesahkan ini, ketahui jumlah panjang dua rentetan menggunakan fungsi LEN:

    =LEN(E1)

    =LEN(A4)

    Jika nombor yang terhasil adalah berbeza (seperti dalam tangkapan skrin di bawah ), kemudian anda telah menentukan puncanya - ruang tambahan:

    Untuk menyelesaikan isu ini, sama ada alih keluar ruang tambahan atau gunakan formula TRIM PADANAN INDEX ini sebagai penyelesaian.

    Mengapa VLOOKUP saya menarik data yang salah?

    Mungkin terdapat lebih banyak sebab mengapaVLOOKUP anda mengembalikan nilai yang salah:

    1. mod carian salah . Jika anda mahukan padanan tepat, pastikan anda menetapkan argumen range_lookup kepada FALSE. Lalai adalah BENAR, jadi jika anda meninggalkan hujah ini, VLOOKUP akan menganggap anda sedang mencari padanan anggaran dan mencari nilai terdekat yang lebih kecil daripada nilai carian.
    2. Lajur carian bukan diisih . Untuk anggaran padanan VLOOKUP ( julat_lookup ditetapkan kepada TRUE) untuk berfungsi dengan betul, lajur pertama dalam tatasusunan jadual mesti diisih dalam tertib menaik, daripada terkecil kepada terbesar.
    3. Pendua dalam lajur carian . Jika lajur carian mengandungi dua atau lebih nilai pendua, VLOOKUP akan mengembalikan padanan pertama yang ditemui, yang mungkin bukan yang anda jangkakan.
    4. Lajur pulangan salah . Semak semula nombor indeks dalam hujah ke-3 :)

    VLOOKUP tidak berfungsi antara dua helaian

    Mula-mula, perlu diambil perhatian bahawa sebab biasa #N/A, Ralat #VALUE dan #REF yang dibincangkan di atas mungkin menyebabkan masalah yang sama apabila melihat dari helaian lain. Jika tidak, lihat perkara berikut:

    1. Pastikan rujukan luaran kepada helaian lain atau buku kerja lain adalah betul.
    2. Apabila melakukan Vlookup daripada buku kerja lain yang ditutup pada masa ini, sahkan bahawa formula anda mengandungi laluan penuh ke buku kerja tertutup.
    3. Jika

    Michael Brown ialah peminat teknologi yang berdedikasi dengan semangat untuk memudahkan proses kompleks menggunakan alat perisian. Dengan lebih sedekad pengalaman dalam industri teknologi, beliau telah mengasah kemahirannya dalam Microsoft Excel dan Outlook, serta Helaian Google dan Dokumen. Blog Michael berdedikasi untuk berkongsi pengetahuan dan kepakarannya dengan orang lain, menyediakan petua dan tutorial yang mudah diikuti untuk meningkatkan produktiviti dan kecekapan. Sama ada anda seorang profesional berpengalaman atau pemula, blog Michael menawarkan pandangan berharga dan nasihat praktikal untuk memanfaatkan sepenuhnya alatan perisian penting ini.