فهرست مطالب
این آموزش نحوه استفاده از فرمول VLOOKUP در اکسل را برای مقایسه دو ستون برای برگرداندن مقادیر مشترک (تطابق) یا یافتن دادههای گمشده (تفاوتها) نشان میدهد.
هنگامی که دادههای دوتایی دارید. لیست های مختلف، ممکن است اغلب لازم باشد آنها را با هم مقایسه کنید تا ببینید چه اطلاعاتی در یکی از لیست ها وجود ندارد یا چه داده هایی در هر دو وجود دارد. مقایسه را می توان به روش های مختلف انجام داد - این که از کدام روش استفاده شود بستگی دارد دقیقاً چه چیزی از آن می خواهید.
نحوه مقایسه دو ستون در اکسل با استفاده از VLOOKUP
When شما دو ستون داده دارید و می خواهید بدانید کدام نقاط داده از یک لیست در لیست دیگر وجود دارد، می توانید از تابع VLOOKUP برای مقایسه لیست ها برای مقادیر رایج استفاده کنید.
برای ایجاد فرمول VLOOKUP در آن شکل اولیه، این کاری است که باید انجام دهید:
- برای lookup_value (اول آرگومان)، از بالاترین سلول از لیست 1 استفاده کنید.
- برای table_array (آگومان دوم)، کل لیست 2 را فراهم کنید.
- برای col_index_num (آگومان سوم)، از 1 استفاده کنید زیرا فقط یک ستون در آرایه وجود دارد.
- برای range_lookup (آگومان چهارم)، FALSE را تنظیم کنید - مطابقت دقیق.
فرض کنید نام شرکت کنندگان در ستون A (فهرست 1) و نام آنها را دارید. کسانی که از دورهای صلاحیت در ستون B (فهرست 2) عبور کرده اند. شما می خواهید این 2 لیست را با هم مقایسه کنید تا مشخص شود کدام شرکت کننده از گروه A به رویداد اصلی راه یافته است. برای این کار از موارد زیر استفاده کنیدفرمول.
=VLOOKUP(A2, $C$2:$C$9, 1, FALSE)
فرمول به سلول E2 می رود، و سپس آن را از میان سلول های موجود در لیست 1 به پایین می کشید.
لطفاً توجه کنید که table_array با ارجاعات مطلق قفل شده است ($C$2:$C$9) به طوری که وقتی فرمول را در سلول های زیر کپی می کنید ثابت می ماند.
همانطور که می بینید، نام های ورزشکاران واجد شرایط در ستون E نشان داده می شوند. برای شرکت کنندگان باقی مانده، یک خطای #N/A ظاهر می شود که نشان می دهد نام آنها در لیست 2 موجود نیست.
Disguise #N/ یک خطا
فرمول VLOOKUP که در بالا مورد بحث قرار گرفت کاملاً هدف اصلی خود را برآورده می کند - مقادیر مشترک را برمی گرداند و نقاط داده از دست رفته را شناسایی می کند. با این حال، یک دسته از خطاهای #N/A ارائه میکند که ممکن است کاربران بیتجربه را گیج کند و آنها را گمان کند که مشکلی در فرمول وجود دارد.
برای جایگزینی خطاها با سلولهای خالی ، از VLOOKUP استفاده کنید. در ترکیب با تابع IFNA یا IFERROR به این ترتیب:
=IFNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE), "")
فرمول بهبود یافته ما یک رشته خالی ("") را به جای #N/ برمی گرداند. آ. همچنین میتوانید متن سفارشی خود را برگردانید، مانند "در فهرست 2 نیست"، "موجود نیست" یا "در دسترس نیست". به عنوان مثال:
=IFNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE), "Not in List 2")
این فرمول اصلی VLOOKUP برای مقایسه دو ستون در اکسل است. بسته به وظیفه خاص شما، می توان آن را همانطور که در مثال های بعدی نشان داده شده است، تغییر داد.
دو ستون را در برگه های مختلف اکسل با استفاده از VLOOKUP مقایسه کنید
در زندگی واقعی، ستون هایی که شمانیاز به مقایسه همیشه در یک صفحه نیستند. در یک مجموعه داده کوچک، میتوانید تفاوتها را به صورت دستی با مشاهده دو صفحه در کنار هم ببینید.
برای جستجو در کاربرگ یا کتاب کار دیگری با فرمول، باید از مرجع خارجی استفاده کنید. بهترین روش این است که شروع به تایپ فرمول در برگه اصلی خود کنید، سپس به کاربرگ دیگر بروید و لیست را با استفاده از ماوس انتخاب کنید - یک مرجع محدوده مناسب به طور خودکار به فرمول اضافه می شود.
با فرض لیست 1 در ستون A در Sheet1 و لیست 2 در ستون A در Sheet2 قرار دارد، می توانید دو ستون را با هم مقایسه کنید و مطابق با این فرمول پیدا کنید:
=IFNA(VLOOKUP(A2, Sheet2!$A$2:$A$9, 1, FALSE), "")
برای اطلاعات بیشتر، لطفاً به:
- VLOOKUP از برگه دیگری مراجعه کنید
- VLOOKUP از Workbook مختلف
دو ستون را با هم مقایسه کنید و مقادیر رایج (مطابقات) را برگردانید
در مثال های قبلی، یک فرمول VLOOKUP را در ساده ترین شکل آن مورد بحث قرار دادیم:
=IFNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE), "")
نتیجه آن فرمول لیستی از مقادیری که در هر دو ستون و سلول های خالی به جای مقادیری که در ستون دوم موجود نیستند وجود دارد.
برای دریافت لیستی از مقادیر رایج بدون شکاف، کافیست فیلتر خودکار را به ستون حاصل اضافه کنید و جاهای خالی را فیلتر کنید.
در Excel برای Microsoft 365 و Excel 2021 که آرایههای پویا را پشتیبانی کنید، میتوانید از تابع FILTER برای غربال کردن جاهای خالی به صورت پویا استفاده کنید. برای این کار، از فرمول IFNA VLOOKUP به عنوان فرمول استفاده کنیدمعیارهای FILTER:
=FILTER(A2:A14, IFNA(VLOOKUP(A2:A14, C2:C9, 1, FALSE), "")"")
لطفاً توجه کنید که در این مورد کل لیست 1 (A2:A14) را به آرگومان lookup_value VLOOKUP ارائه می کنیم. این تابع هر یک از مقادیر جستجو را با لیست 2 (C2:C9) مقایسه می کند و آرایه ای از مطابقت ها و خطاهای #N/A را نشان دهنده مقادیر از دست رفته برمی گرداند. تابع IFNA خطاها را با رشتههای خالی جایگزین میکند و نتایج را به تابع FILTER ارائه میکند، که جاهای خالی ("") را فیلتر میکند و آرایهای از منطبقها را به عنوان نتیجه نهایی خروجی میدهد.
یا میتوانید از تابع ISNA برای بررسی نتیجه VLOOKUP استفاده کنید و موارد ارزیابی شده را به FALSE فیلتر کنید، یعنی مقادیری غیر از خطاهای #N/A:
=FILTER(A2:A14, ISNA(VLOOKUP(A2:A14, C2:C9, 1, FALSE))=FALSE)
همین نتیجه میتواند با تابع XLOOKUP که فرمول را ساده تر می کند به دست می آید. با توجه به توانایی XLOOKUP برای رسیدگی به خطاهای #N/A به صورت داخلی (اختیاری آرگومان اگر_نه_پیدا شد )، میتوانیم بدون پوشش IFNA یا ISNA این کار را انجام دهیم:
=FILTER(A2:A14, XLOOKUP(A2:A14, C2:C9, C2:C9,"")"")
مقایسه دو ستون و یافتن مقادیر گمشده (تفاوت ها)
برای مقایسه 2 ستون در اکسل برای یافتن تفاوت ها، می توانید به این ترتیب عمل کنید:
- فرمول اصلی را بنویسید تا اولین مورد جستجو شود. مقدار از لیست 1 (A2) در فهرست 2 ($C$2:$C$9):
VLOOKUP(A2, $C$2:$C$9, 1, FALSE)
- در تودرتو فرمول بالا در تابع ISNA برای بررسی خروجی VLOOKUP برای خطاهای #N/A. در صورت بروز خطا، ISNA TRUE را نشان می دهد، در غیر این صورت FALSE:
ISNA(VLOOKUP(A2,$C$2:$C$9, 1, FALSE))
- از فرمول ISNA VLOOKUP برای تست منطقی تابع IF استفاده کنید. اگر آزمون به TRUE (خطای #N/A) ارزیابی شود، مقداری را از لیست 1 در همان ردیف برگردانید. اگر آزمون به FALSE ارزیابی شود (یک مورد مطابق در لیست 2 پیدا شد)، یک رشته خالی برگردانید.
فرمول کامل به این شکل است:
=IF(ISNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE)), A2, "")
برای خلاص شدن از شر موارد خالی، فیلتر اکسل را همانطور که در مثال بالا نشان داده شده است، اعمال کنید.
در اکسل 365 و اکسل 2021، می توانید لیست نتایج را به صورت پویا فیلتر کنید. برای این کار، به سادگی فرمول ISNA VLOOKUP را در آرگومان include تابع FILTER قرار دهید:
=FILTER(A2:A14, ISNA(VLOOKUP(A2:A14, C2:C9, 1, FALSE)))
روش دیگر این است که از XLOOKUP برای معیارها استفاده کنید - تابع رشته های خالی ("") را برای نقاط داده از دست رفته برمی گرداند، و شما مقادیر موجود در لیست 1 را که XLOOKUP برای آنها رشته های خالی (="") برگردانده است، فیلتر می کنید:
=FILTER(A2:A14, XLOOKUP(A2:A14, C2:C9, C2:C9,"")="")
اگر می خواهید برچسب های متنی را به لیست اول اضافه کنید که نشان می دهد کدام مقادیر در لیست دوم موجود است و کدام نیست، از فرمول VLOOKUP همراه با توابع IF و ISNA/ISERROR.
به عنوان مثال، برای شناسایی نام هایی که در هر دو ستون A و D و آنهایی که فقط در ستون A هستند، فرمول این است:
=IF(ISNA(VLOOKUP(A2, $D$2:$D$9, 1, FALSE)), "Not qualified", "Qualified")
در اینجا، تابع ISNA خطاهای #N/A ایجاد شده توسط VLOOKUP را می گیرد و آن نتیجه میانی را به تابع IF ارسال می کند تا به آن برسد.متن مشخص شده را برای خطاها و متن دیگری را برای جستجوهای موفق برگردانید.
در این مثال، از برچسبهای "Notqualified"/"Qualified" استفاده کردیم که برای مجموعه داده نمونه ما مناسب است. میتوانید آنها را با «در فهرست ۲»/«در فهرست ۲»، «در دسترس نیست»/«در دسترس» یا هر برچسب دیگری که مناسب میدانید جایگزین کنید.
این فرمول بهتر است در یک ستون درج شود. در مجاورت فهرست 1 قرار گرفته و به تعداد موارد موجود در لیست شما از سلول ها کپی می شود.
یک راه دیگر برای شناسایی مطابقت ها و تفاوت ها در 2 ستون، استفاده از تابع MATCH است:
=IF(ISNA(MATCH(A2, $D$2:$D$9, 0)), "Not in List 2", "In List 2")
دو ستون را مقایسه کنید و مقداری را از سوم برگردانید
هنگام کار با جداول حاوی داده های مرتبط، گاهی اوقات ممکن است لازم باشد دو ستون را در دو جدول مختلف مقایسه کنید و مقدار منطبق را از ستون دیگری برگردانید. در واقع، این کاربرد اصلی تابع VLOOKUP است، هدفی که برای آن طراحی شده است.
به عنوان مثال، برای مقایسه نام های ستون A و D در دو جدول زیر و برگرداندن زمان از ستون E ، فرمول این است:
=VLOOKUP(A3, $D$3:$E$10, 2, FALSE)
برای پنهان کردن خطاهای #N/A، از راه حل اثبات شده استفاده کنید - تابع IFNA:
=IFNA(VLOOKUP(A3, $D$3:$E$10, 2, FALSE), "")
به جای جاهای خالی، می توانید هر متنی را که می خواهید برای نقاط داده از دست رفته برگردانید - فقط آن را در آخرین آرگومان تایپ کنید. به عنوان مثال:
=IFNA(VLOOKUP(A3, $D$3:$E$10, 2, FALSE), "Not available")
علاوه بر VLOOKUP، کار را می توان با چند توابع جستجوی دیگر انجام داد.
شخصا، من به یک INDEX انعطاف پذیرتر تکیه می کنم.فرمول MATCH:
=IFNA(INDEX($E$3:$E$10, MATCH(A3, $D$3:$D$10, 0)), "")
یا از جانشین مدرن VLOOKUP - تابع XLOOKUP، موجود در Excel 365 و Excel 2021 استفاده کنید:
=XLOOKUP(A3, $D$3:$D$10, $E$3:$E$10, "")
به نام شرکت کنندگان واجد شرایط از گروه A و نتایج آنها را دریافت کنید، به سادگی سلول های خالی ستون B را فیلتر کنید:
=FILTER(A3:B15, B3:B15"")
ابزار مقایسه
اگر مرتباً فایل ها یا داده ها را در اکسل مقایسه می کنید، این ابزارهای هوشمند موجود در مجموعه Ultimate ما می توانند به شدت در وقت شما صرفه جویی کنند!
مقایسه جداول - روشی سریع برای یافتن موارد تکراری (مطابقات) و مقادیر منحصر به فرد (تفاوت ها) در هر دو مجموعه داده مانند ستونها، فهرستها یا جداول.
مقایسه دو برگه - تفاوتهای بین دو کاربرگ را بیابید و برجسته کنید.
مقایسه چند برگه - تفاوتها را در چندین صفحه به طور همزمان بیابید و برجسته کنید .
کتاب کار را برای دانلود تمرین کنید
VLOOKUP در Excel برای مقایسه ستون ها - مثال ها (فایل xlsx.)