فهرست مطالب
VLOOKUP یکی از متداول ترین و مفیدترین توابع است. از آنجایی که به طور گسترده مورد استفاده قرار می گیرد، بسیاری از افراد در مورد درست کار نکردن VLOOKUP یا نمایش نتایج نادرست شکایت دارند. اگرچه VLOOKUP دارای محدودیتهایی است، اما بیشتر خطاهایی که دریافت میکنیم به دلیل عدم درک صحیح نحو یا عدم استفاده دقیق از آن است. در این مقاله، توضیح میدهم که چرا VLOOKUP کار نمیکند.
برای اینکه توضیح قابل درک باشد، از مجموعه دادهای استفاده میکنم که اطلاعات محصول را در مورد یک میوهفروشی خاص نشان میدهد. 5 ستون در مجموعه داده وجود دارد. اینها عبارتند از میوه ، شناسه سفارش، مقدار (کیلوگرم)، قیمت، و تاریخ سفارش .
دانلود برای تمرین
در صورت تمایل می توانید کتاب کار را از لینک زیر دانلود کنید.
VLOOKUP کار نمی کند در Excel.xlsx
8 دلیل کار نکردن VLOOKUP
1. VLOOKUP کار نمی کند و نشان می دهد N/ یک خطا
در این بخش، به شما نشان خواهم داد که چرا خطای #N/A هنگام کار با عملکرد VLOOKUP رخ میدهد. و همچنین بهترین راه حل را برای جلوگیری از خطای #N/A به شما پیشنهاد خواهم کرد.
1.1. فضاهای پیشرو و دنباله دار
در یک دیتاشیت بزرگ، امکان داشتن فضاهای اضافی رایج است. همچنین، شناسایی خطا دشوار است زیرا تا زمانی که مجموعه داده را با دقت مرور نکنید، خطا را دریافت نخواهید کرد.
در اینجا، من فرمول VLOOKUP را اعمال کردم.تابع MATCH ، همچنین از FALSE به عنوان range_lookup برای دریافت تطابق دقیق استفاده می شود.
در MATCH تابع ، از نام ستون J3 به عنوان lookup_value استفاده کردم، سپس محدوده نام ستون B3:G3 را به عنوان lookup_array انتخاب کردم 0 به عنوان مطابقت_نوع برای استفاده از تطابق دقیق گرفته شده است.
کلید ENTER را فشار دهید. بنابراین، نتیجه مورد انتظار خود را دریافت خواهید کرد.
8. مقدار جستجو دارای مقادیر تکراری است
در صورتی که lookup_value حاوی مقادیر تکراری است، سپس VLOOKUP برای همه مقادیر موجود کار نمیکند.
VLOOKUP فقط اولین مقداری را برمیگرداند که با مقداری که نگاه کردید مطابقت دارد برای.
راه حل :
برای جلوگیری از چنین مشکلاتی می توانید موارد تکراری را حذف کنید یا می توانید از <1 استفاده کنید>جدول محوری .
⏩ می توانید موارد تکراری را با استفاده از Remove Duplicates از سپس Ribbon حذف کنید.
⏩ همچنین، می توانید از Pivot استفاده کنید جدول .
برای استفاده از آن،
ابتدا محدوده سلولی را انتخاب کنید
سپس، برگه درج >> Pivot Table
یک کادر محاوره ای باز می شود، مکان را انتخاب کنید سپس روی OK کلیک کنید.
اکنون، می توانید Fruit و Order ID در ردیف را انتخاب کنید، سپس نشان داده می شود موجود شناسه سفارش از میوه انتخابی شما.
بیشتر بخوانید: چگونه پیدا کنید مقادیر تکراری در اکسلبا استفاده از VLOOKUP
بخش تمرین
من یک برگه تمرین در کتاب کار برای تمرین این روش های توضیح داده شده ارائه کرده ام.
نتیجه
در این مقاله سعی کردم انواع سناریوهای VLOOKUP کار نکردن را همراه با راه حل برای جلوگیری از خطا پوشش دهم. این راههای مختلف به شما کمک میکنند تا با عملکرد VLOOKUP کارآمدتر و آسانتر کار کنید. در آخر، اگر هر نوع پیشنهاد، ایده یا بازخوردی دارید، لطفاً در زیر نظر دهید.
به درستی.ابتدا، یک سلول را برای قرار دادن مقدار حاصل انتخاب کنید.
➤ سلول I4
سپس، فرمول زیر را در آن تایپ کنید. نوار فرمول .
=VLOOKUP(H4,B4:F12,2)
اینجا، در VLOOKUP تابع، سلول H4 را به عنوان lookup_value انتخاب کردم، و محدوده B4:F12 به عنوان table_array را انتخاب کردم. همانطور که میخواهم شناسه سفارش را بدانم 2 به عنوان col_index_num داده شده است.
کلید ENTER را فشار دهید. اکنون، شما قرار بود شناسه سفارش مقدار look_up را دریافت کنید، اما #N/A را نشان میدهد.
اکنون، پس از مشاهده مجموعه داده، متوجه خواهید شد که lookup_value Apple دارای برخی فضاهای اصلی است به همین دلیل VLOOKUP کار نمی کند.
راه حل:
برای حذف فضاهای اصلی یا انتهایی اضافی، از آرگومان lookup_value با استفاده کنید تابع TRIM در تابع VLOOKUP .
اجازه دهید به شما نشان دهم چگونه می توانید از تابع TRIM در تابع VLOOKUP استفاده کنید .
برای جلوگیری از خطای VLOOKUP فرمول زیر را در سلول انتخابی خود تایپ کنید.
=VLOOKUP(TRIM(H4),B4:F12,2)
در اینجا، تابع TRIM همه فضاهای اصلی و انتهایی سلول انتخاب شده H4 را حذف می کند.
1.2. برای اشتباه تایپی VLOOKUP کار نمی کند
اشتباه تایپ lookup_value دلیل دیگری برای کار نکردن VLOOKUP است.
در اینجا، شماخواهید دید که من فرمول را به درستی در سلول انتخاب شده درج کردم.
=VLOOKUP(H4,B4:F12,2)
کلید ENTER را فشار دهید. اما به جای نشان دادن Order ID ، به شما یک خطای #N/A نشان می دهد.
اکنون، به lookup_value نگاه کنید. ببینید که املای Apple نادرست است، به همین دلیل است که VLOOKUP کار نمی کند.
راه حل:
همیشه lookup_value را با دقت تایپ کنید. شما باید املای دقیق مقدار را از جدول داده ها حفظ کنید.
همانطور که lookup_value را همانطور که در جدول است تایپ کردم، بنابراین VLOOKUP در حال کار است.
1.3. مقدار عددی قالببندی شده به عنوان متن
در صورتی که مقادیر عددی به صورت متن در آرایه_جدول قالببندی شوند، هنگام استفاده از خطای #N/A به شما نشان میدهد. 1>عملکرد VLOOKUP.
من سعی می کنم قیمت را با استفاده از شناسه سفارش به عنوان lookup_value دریافت کنم.
ابتدا، یک سلول را برای قرار دادن مقدار حاصل انتخاب کنید.
➤ سلول I4
سپس، فرمول زیر را در نوار فرمول تایپ کنید. .
=VLOOKUP(H4,C4:F12,3)
کلید ENTER را فشار دهید. بنابراین، به جای Price ، خطای #N/A را دریافت خواهید کرد.
اکنون، اگر از ستون Order ID بروید، سپس خواهید دید که عدد 1001 به صورت متن فرمت شده است. دلیل کار نکردن VLOOKUP است.
راه حل:
برای جلوگیری از چنین انواعیدر مورد خطاها، همیشه فرمت مقادیر عددی را بررسی کنید. در اینجا، من قالب عددی را به عنوان عدد تصحیح کردم تا VLOOKUP در حال کار باشد.
بیشتر بخوانید: VLOOKUP جزئی متن از یک سلول واحد در اکسل
1.4. مقدار جستجو، سمت چپ ترین ستون نیست
عملکرد VLOOKUP یک دنباله را حفظ می کند، که lookup_value باید سمت چپ ترین ستون باشد ، اگر نه، کار نمی کند.
من سعی می کنم قیمت را با استفاده از شناسه سفارش به عنوان lookup_value دریافت کنم.
بنابراین، من از فرمول زیر استفاده کردم.
=VLOOKUP(H4,B4:F12,3)
اما در اینجا شناسه سفارش ستون سمت چپ ترین ستون table_array B4:F12 نیست، به همین دلیل است که #N/A خطا را نشان می دهد.
راه حل :
در اینجا میتوانید به دو روش از خطا جلوگیری کنید.
⏩ یکی این است که میتوانید table_array را تغییر دهید، جایی که lookup_value خواهد بود سمت چپ ترین ستون.
⏩ دوم، می توانید ستون lookup_value را در سمت چپ ترین موقعیت جدول مجموعه داده قرار دهید.
بیشتر بخوانید: VLOOKUP با دو مقدار جستجو در اکسل (2 رویکرد)
1.5. جدول بزرگ یا درج ردیف جدید & ستونی با مقدار
گاهی اوقات ما داده های جدیدی را در مجموعه داده خود وارد می کنیم اما فراموش می کنیم table_array را تغییر دهیم سپس VLOOKUP به درستی کار نمی کند.
من سعی می کنم با استفاده از شناسه سفارش را دریافت کنم میوه به عنوان lookup_value .
بنابراین، از فرمول زیر استفاده کردم.
=VLOOKUP(H4,B4:F12,2,FALSE)
در اینجا، من از نوع تطابق دقیق برای جلوگیری از اطلاعات گمراه کننده استفاده کردم و همچنین اطلاعاتی را برای Lichi درج کردم، اما به دلیل اینکه <را به روز نکردم با خطا مواجه شدم. 1>table_array .
راه حل:
به خاطر داشته باشید که هر زمان که داده های جدیدی را در جدول داده خود وارد می کنید، table-array را نیز به روز کنید.
⏩ در اینجا، table_array را در فرمول به روز کردم.
=VLOOKUP(H4,B4:F14,2,FALSE)
⏩ راه دیگر تبدیل مجموعه داده شما به جدول است.
ابتدا، محدوده سلول را انتخاب کنید.
سپس، Insert >> جدول
A را انتخاب کنید کادر محاوره ای باز می شود.
سپس، روی OK<کلیک کنید 2>.
از آنجایی که مجموعه داده شما اکنون به جدول تبدیل شده است، فقط می توانید از نام جدول استفاده کنید.
بیشتر بخوانید: چرا VLOOKUP وقتی Match وجود دارد، #N/A برمیگرداند؟ (5 علت و راه حل)
2. VLOOKUP کار نمی کند و خطای VALUE را نشان می دهد
از این بخش، خواهید فهمید که چرا خطای #VALUE هنگام کار با عملکرد VLOOKUP رخ می دهد. همچنین، من راه حل همه جانبه را برای جلوگیری از خطای #VALUE به شما پیشنهاد می کنم.
2.1. برای شماره فهرست ستون کمتر از 1
اگر به اشتباه از col_index_num کمتر از 1 استفاده کنید، خطای #VALUE دریافت خواهید کرد.
در صورت دریافت این #VALUE لطفاً آرگومان col_index_num خود را بررسی کنید.
بیشتر بخوانید: VLOOKUP با اعداد در اکسل (4 مثال)
2.2. استفاده از بیش از 255 کاراکتر
فرض کنید یک متن طولانی به عنوان مقدار دارید که بیش از 255 نویسه است، خطای #VALUE خواهید داشت.
در اینجا، در سلول A7 ، مقداری بیش از 255 نویسه وارد کردم.
سپس، از فرمول زیر استفاده کردم.
=VLOOKUP(G4,A4:E12,2)
اکنون، می توانید ببینید که نتیجه خطای #VALUE را نشان می دهد.
راه حل:
برای جلوگیری از این خطا، می توانید کاراکتر را کاهش دهید یا از INDEX و توابع MATCH<2 استفاده کنید> به جای VLOOKUP .
در اینجا، من از تابع MATCH و INDEX استفاده کردم.
=INDEX($B$4:$B$12,MATCH(TRUE,INDEX($A$4:$A$12=G4,0),0))
در اینجا، در تابع INDEX مرجع مطلق محدوده سلول را انتخاب کرد $B$4:$B$12 از جایی که می خواهم مقدار را برگردانم.
در تابع MATCH ، TRUE به عنوان lookup_value در نظر گرفته شده و از INDEX( $A$4:$A$12=G4,0) عملکرد به عنوان lookup_array سپس 0 به عنوان match_type برای استفاده از دقیق استفاده شد مطابقت دهید .
کلید ENTER را فشار دهید و نتیجه lookup_value بیش از 255 کاراکتر را دریافت خواهید کرد.
بیشتر بخوانید: INDEX MATCH vs Function VLOOKUP (9 مثال)
قرائت های مشابه
- اکسلLOOKUP در مقابل VLOOKUP: با 3 مثال
- چگونه VLOOKUP را در اکسل حساس به حروف کوچک و بزرگ کنیم (4 روش)
- Excel VLOOKUP برای یافتن آخرین مقدار در ستون (با گزینه های جایگزین)
- نحوه اجرای VLOOKUP با Wildcard در اکسل (2 روش)
- Excel VLOOKUP برای برگرداندن چندین مقدار به صورت عمودی
3. VLOOKUP کار نمی کند و خطای REF را نشان می دهد
در اینجا، می دانید که چرا خطای #REF هنگام کار رخ می دهد. با عملکرد VLOOKUP و همچنین، راه حلی برای جلوگیری از خطای #REF دریافت خواهید کرد.
3.1. استفاده از شماره فهرست ستون بزرگتر از جدول
در صورتی که از col_index_num بیشتر از تعداد ستون های موجود در table_array استفاده کنید، # را دریافت خواهید کرد. خطای REF .
در اینجا، من از 6 به عنوان col_index_number استفاده کرده ام اما table_array دارای 5 است. در مجموع ستون ها به همین دلیل است که عملکرد VLOOKUP کار نمی کند و خطای #REF را نشان می دهد.
راه حل :
برای جلوگیری از #REF خطای col_index_num را بررسی کرده و از عددی که در table_array است استفاده کنید.
بیشتر بخوانید: VLOOKUP برای برگرداندن چندین ستون در اکسل (4 مثال)
4. خطای نام VLOOKUP
اجازه دهید به شما نشان دهم که چرا خطای #NAME رخ می دهد و چگونه می توانید آن را حذف کنید.
4.1. برای غلط املایی نام تابع VLOOKUP کار نمی کند
خطای #NAME برای غلط املایی نام توابع می آید.
راه حل:
برای جلوگیری از خطاهای #NAME همیشه استفاده کنید نام تابع مناسب از تابع داخلی Excel #N/A خطا یا نتیجه نادرست .
من سعی می کنم شناسه سفارش را با استفاده از Fruit <2 دریافت کنم>به عنوان lookup_value .
بنابراین، از فرمول زیر استفاده کردم.
=VLOOKUP(H4,B4:F12,2,TRUE)
اما در اینجا، Lichi را به عنوان lookup_value دادم و از TRUE بعنوان range_lookup استفاده کردم. VLOOKUP 1007 را به عنوان شناسه سفارش نشان می دهد که نادرست است زیرا 1007 شناسه سفارش Cherry است .
همانطور که من از تطابق تقریبی استفاده کردم، بنابراین به جای نشان دادن خطا، اطلاعات اشتباه را نشان می دهد
راه حل:
از lookup_value استفاده کنید با دقت. به جای استفاده از نوع تطابق تقریبی می توانید از نوع تطابق دقیق استفاده کنید. من فکر میکنم دریافت خطا بسیار بهتر از داشتن اطلاعات گمراهکننده است.
شما میتوانید فرمول را با عملکرد IFERROR بپیچید تا هر پیام خطایی را نشان دهید. نمی تواند مقدار را در محدوده پیدا کند.
6. مرجع جدول نسبی است
اگر آرایه جدول شما نسبتاً ارجاع داده شده باشد، شما ممکن است هنگام کپی کردن فرمول در جستجو دیگر، اعلان خطا یا خطا داشته باشدمقادیر.
راه حل:
برای جلوگیری از این خطا از مرجع مطلق استفاده کنید.
را فشار دهید کلید F4 هنگام انتخاب مرجع، مرجع نسبی را به مرجع مطلق تبدیل می کند.
در اینجا، از فرمول زیر استفاده کردم
=VLOOKUP(I4,C4:$F$12,2)
7. VLOOKUP کار نمی کند برای درج ستون جدید
اگر ستون جدیدی را به مجموعه داده موجود خود وارد کنید، تابع VLOOKUP کار نمی کند. col_index-num برای برگرداندن اطلاعات مربوط به یک رکورد در تابع VLOOKUP استفاده می شود. col_index-num بادوام نیست، بنابراین اگر یک مورد جدید وارد کنید، VLOOKUP کار نخواهد کرد.
در اینجا، می توانید VLOOKUP را ببینید. عملکرد به درستی کار می کند.
اما در اینجا من یک ستون جدید درج کردم به همین دلیل به جای نشان دادن نتیجه مورد انتظار، 0 را نشان می دهد.
راه حل :
⏩ برای جلوگیری از چنین مشکلاتی می توانید از کاربرگ محافظت کنید تا کسی نتواند ستون های جدیدی را وارد کند اما به اندازه کافی دوستانه نیست.
⏩ راه حل دیگر این است که می توانید از تابع MATCH در تابع VLOOKUP استفاده کنید.
بنابراین، عبارت زیر را تایپ کنید فرمول.
=VLOOKUP(I4,B4:G12,MATCH(J3,B3:G3,0),FALSE)
در اینجا، در عملکرد VLOOKUP ، سلول را انتخاب کردم. I4 به عنوان lookup_value سپس محدوده B4:G12 به عنوان table_array و به عنوان col_index_num استفاده شده انتخاب کرد