فهرست مطالب
یکی از شگفت انگیزترین و پرکاربردترین توابع اکسل، عملکرد VLOOKUP است. تا کنون، ما یاد گرفتهایم که با استفاده از این تابع، یک مسابقه را از طیف وسیعی از سلولها بیرون بیاوریم. شما اغلب ممکن است با سناریوهایی روبرو شوید که در آنها باید تمام مقادیر منطبق برای یک شناسه منحصر به فرد را بدست آورید. در این مقاله، ما نشان خواهیم داد که چگونه میتوانید با استفاده از عملکرد VLOOKUP در اکسل، چندین منطبق را از طیف وسیعی از سلولها خارج کنید.
دانلود کتاب تمرین تمرین
شما میتوانید برای درک بهتر و تمرین خود، کتاب کار اکسل زیر را دانلود کنید.
اجرای Vlookup با Multiple Matches.xlsx2 مرحله برای Vlookup با Multiple Match در اکسل
در اینجا ما کتاب رکوردهای کتابفروشی مارتین را داریم . این مجموعه داده شامل نوع کتاب ، نام کتاب ، و نویسنده برخی از کتابها در زیر ستونهای B ، C است. و به ترتیب D .
امروزه هدف ما این است که تمام موارد مطابق با هر نوع کتاب را با استفاده از عملکرد VLOOKUP<2 بیرون بکشیم> ما این را در دو مرحله اجرا می کنیم. بنابراین، بیایید آنها را یکی یکی بررسی کنیم.
در اینجا، ما از نسخه Microsoft Excel 365 استفاده کردهایم، میتوانید با توجه به راحتی خود از هر نسخه دیگری استفاده کنید.
📌 مرحله 01: برای هر مقدار جستجو نامی منحصر به فرد ایجاد کنید
- در همان ابتدا، یک ستون جدید با عنوان Helper Column در سمت چپ ستون جستجو قرار دهید Book Type و این فرمول را در سلول B5 وارد کنید.
=C5&COUNTIF(C5:$C$25,C5)
فرمول شکستن- COUNTIF(C5:$C$25,C5) تعداد کل سلولها را در محدوده C5:C25 ( نوع کتاب <) برمیگرداند 2>) که حاوی مقدار در سلول C5 ( Novel ) است. برای جزئیات به عملکرد COUNTIF مراجعه کنید.
- به عبارت ساده، چه تعداد رمان وجود دارد. این 7 است.
- C5&COUNTIF(C5:$C$25,C5) مقدار را در سلول C5 ( رمان ) همراه با آن.
- پس Novel7 را برمی گرداند.
هنگام کشیدن ابزار Fill Handle ، C5 یکی یکی افزایش می یابد، مانند C5 ، C6 ، C7 ... اما C25 ثابت می ماند. بنابراین، برای هر نوع کتاب ، موارد قبلی حذف می شوند و نام جدیدی ایجاد می شود.
به عنوان مثال، در مورد رمان ها، Novel1 تا Novel7 برای شعر و دیگر انواع کتاب تولید می شود و مشابه است.
- سپس، ENTER را فشار دهید.
- پس از آن، مکان نما را به سمت راست بیاورید. -گوشه پایین سلول B5 و شبیه علامت مثبت (+) خواهد بود. در واقع، این ابزار Fill Handle است.
- اکنون، روی آن دوبار کلیک کنید.
این فرمول را کپی می کند. به بقیه سلول ها شما تمام مقادیر جستجوی ارائه شده با یک نام منحصر به فرد را خواهید یافت، مانند Novel1 ، Novel2…، Poetry1 ، Poetry2… ،و غیره.
📌 مرحله 02: از تابع VLOOKUP استفاده کنید
- اول از همه، یک ستون جدید با هدر ستون ایجاد کنید به عنوان مقدار جستجو.
- ثانیاً فرمول زیر را در سلول G5 که اولین خانه این ستون است وارد کنید.
=VLOOKUP(G$4&ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4))),$B$5:$E$25,3,FALSE)
تجزیه فرمول- COUNTIF($C$5:$C $25,G$4) نشان می دهد که چند سلول در محدوده C5:C25 ( Book Type ) حاوی مقدار در سلول G4 ( رمان ).
- به عبارت ساده، در کل چند رمان وجود دارد. 7 است.
ما از مرجع سلول مطلق محدوده C5:C25 ( $C) استفاده کردهایم $5:$C$25 ) زیرا میخواهیم اگر فرمول را در هر سلولی کپی کنیم، بدون تغییر باقی بماند.
- INDIRECT("A"&COUNTIF($C$5: $C$25,G$4)) به INDIRECT("A"&7) تبدیل می شود و مرجع سلول A7 را برمی گرداند. برای جزئیات به عملکرد INDIRECT مراجعه کنید.
- ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4))) اکنون به ROW(A1:A7) تبدیل می شود. برای جزئیات به عملکرد ROW مراجعه کنید.
- آرایه ای از 1 به 7 مانند {1, 2, 3, 4, 5, 6, 7 برمی گرداند.
ما از $A$1 استفاده کردیم زیرا نمی خواهیم اگر فرمول را در سلول دیگری کپی کنیم تغییر کند.
- G$4&ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4))) اکنون مقدار را در سلول G4<به هم متصل می کند 2> ( رمان ) باآرایه ای که توسط تابع ROW برمی گردد و آرایه دیگری را برمی گرداند.
- بنابراین {Novel1, Novel2,…, Novel7} .
- VLOOKUP(G$4 &ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4)))،$B$5:$E$25,3,FALSE) می شود VLOOKUP({Novel1, Novel2,…, Novel7},$B$5:$E$25,3,FALSE) .
هر مقدار از آرایه را جستجو می کند {Novel1 , Novel2, … Novel7} در ستون جستجو B .
سپس نام متناظر رمان را از ستون 3 (به عنوان col_index_num 3 است). بنابراین، ما لیستی از تمام رمان ها را دریافت می کنیم.
- طبق معمول، کلید ENTER را فشار دهید.
توجه: این یک فرمول آرایه است. بنابراین فراموش نکنید که Ctrl + Shift + Enter را فشار دهید مگر اینکه در Excel 365 باشید.
و برای سایر انواع کتاب ،
- ابتدا نام آنها را در کنار هم به عنوان سرصفحه ستون وارد کنید و Fill Handle را بکشید.
بیشتر بخوانید: VLOOKUP غیر مستقیم در اکسل
خواندنی های مشابه
- VLOOKUP کار نمی کند (8 دلیل و راه حل)
- Excel LOOKUP در مقابل VLOOKUP: با 3 مثال
- چرا VLOOKUP برمی گردد #N/A چه زمانی تطابق وجود دارد؟ (5 علت و راه حل)
- استفاده از VLOOKUP با چندین معیار در اکسل (6 روش + جایگزین)
- Excel VLOOKUP برای یافتن آخرین مقدار در ستون (باگزینههای جایگزین)
روشهای جایگزین برای Vlookup با چندین تطبیق در اکسل
اگر روش قبلی خطرناک به نظر میرسد، نگران نباشید. گزینه های بیشتری در دسترس هستند.
1. استفاده از تابع FILTER
این در واقع ساده ترین روش است. در اینجا، ما فقط از عملکرد FILTER استفاده می کنیم. این مراحل ساده را دنبال کنید.
📌 مراحل:
- ابتدا، نوع کتاب<10 را یادداشت کنید> را به عنوان هدر ستون و فرمول زیر را در سلول F5 وارد کنید.
=FILTER($C$5:$C$25,$B$5:$B$25=F$4)
تشخیص فرمولاینجا،
- $C$5:$C$25 ( نام کتاب ) آرایه_lookup است. دنبال نام کتاب ها می گردیم. شما از یکی خود استفاده می کنید.
- $B$5:$B$25 ( نوع کتاب ) matching_array . ما می خواهیم انواع کتاب را مطابقت دهیم. شما بر این اساس از یکی خود استفاده می کنید.
- F4 ( رمان ) مقدار_تطبیقی است. ما می خواهیم رمان ها را مطابقت دهیم. شما از آن استفاده می کنید.
- سپس، ENTER را فشار دهید.
اکنون، اگر می خواهید نام کتاب همه انواع کتاب ،
- در ابتدا، نام آنها را به عنوان سرصفحه ستون درج کنید کنار هم، و سپس ابزار Fill Handle را بکشید.
2. اعمال ترکیبی از INDEX، SMALL، و ROWS توابع (سازگار با نسخه های قدیمی اکسل)
تابع FILTER استفقط در Office 365 موجود است. بنابراین، اگر از نسخه قدیمی اکسل استفاده می کنید، نگران نباشید. راه حل دیگری برای شما داریم. ساده و آسان است؛ فقط دنبال کنید.
📌 مراحل:
- در ابتدا نوع کتاب را وارد کنید به عنوان هدر ستون در سلول F4 و این فرمول را در سلول F5 وارد کنید.
=IFERROR(INDEX($C$5:$C$25,(SMALL(IF($B$5:$B$25=F4,ROW(B5:B25)-ROWS(B1:B4),""),(ROW(B5:B25)-ROWS(B1:B4))))),"")
تجزیه فرمول- ROW(B5:B25) آرایه ای از {5, 6, 7 را برمی گرداند، …, 25 . و ROWS(B1:B4) 4 را برمیگرداند. بنابراین ROW(B5:B25)-ROWS(B1:B4) آرایه ای از {1, 2, 3, …, 21 را برمی گرداند. برای جزئیات به تابع ROW و ROWS مراجعه کنید.
- IF($B$5:$B$25=F4,ROW(B5:B25)-ROWS (B1:B4),””) عدد مربوطه را از آرایه {1, 2, 3,…, 21 مقدار موجود در سلول F4 (<1) را برمی گرداند> رمان ) با مقدار هر سلول از محدوده B5:B25 ( نوع کتاب ) مطابقت دارد. در غیر این صورت یک سلول خالی برمی گرداند. برای جزئیات به تابع IF مراجعه کنید.
- SMALL(IF($B$5:$B$25=F4 ,ROW(B5:B25)-ROWS(B1:B4)،””)،(ROW(B5:B25)-ROWS(B1:B4))) می شود SMALL({1,…, 3 , …, 6, …, 20, …},{1, 2, 3, 4, …., 21}) و ابتدا اعداد و سپس #NUM! خطاها را در جای خالی برمی گرداند. سلول ها. برای جزئیات به عملکرد SMALL مراجعه کنید.
- INDEX($C$5:$C$25,(SMALL( IF($B$5:$B$25=F4،ROW(B5:B25)-ROWS(B1:B4)،"")،(ROW(B5:B25)-ROWS(B1:B4))))) تبدیل می شود INDEX($C$5:$C$25,{1,3,6,11,…,#NUM!}) و نام کتابها مربوطه را برمی گرداند (نام رمان ها) و خطاهای #NUM! . برای جزئیات به تابع INDEX مراجعه کنید.
- در نهایت، فرمول را در داخل یک تابع IFERROR قرار دادیم. برای تبدیل خطاها به سلول های خالی
- بعد از آن، ENTER را فشار دهید.
- اکنون، اگر می خواهید ، انواع کتاب دیگر را به عنوان عناوین ستون وارد کنید و Fill Handle را بکشید. شما کتاب های انواع کتاب های دیگر را دریافت خواهید کرد.
3. Vlookup با چندین تطابق و نتایج برگرداندن در یک ردیف
در قبلی روش ها، نتایج را در ستون های عمودی به دست آوردیم. اما اگر بخواهیم مقادیر را پشت سر هم بدست آوریم، چگونه می توانیم این کار را انجام دهیم؟ در اینجا، نام نویسنده را برای انواع کتاب مختلف در یک ردیف دریافت خواهیم کرد. فقط مراحل زیر را با دقت دنبال کنید.
📌 مراحل:
- ابتدا به سلول G5 بروید و فرمول زیر را بنویسید.
=IFERROR(INDEX($D$5:$D$19,SMALL(IF($F5=$B$5:$B$19,ROW($D$5:$D$19)-4,""),COLUMN()-6)),"")
این فرمول به نوعی شبیه فرمول قبلی است. بنابراین، اگر در درک این فرمول با مشکلی مواجه شدید، لطفاً به توضیحات قبلی مراجعه کنید.
- سپس، روی کلید ENTER ضربه بزنید.
اما نویسندگان دیگری هم هستند که رمان هایی در این مجموعه داده دارند. بنابراین، چگونه می توانیم آنها را دریافت کنیم؟
فقط Fill Handle را به سمت راست تا سلول K5 بکشید تاسایر نویسندگان از رمان . علاوه بر این، ابزار Fill Handle را به سلول K7 بکشید تا نام Authors برای انواع مختلف کتاب را دریافت کنید. برای شفافتر شدن تصویر زیر را ببینید.
نحوه Vlookup کردن تعداد زیادی از منطبقها با چندین معیار
در مثالهای قبلی، مقادیری را برای معیارهای تک پیدا کردیم. به عنوان مثال، عنوان کتاب ها را برای یک نوع کتاب خاص به دست می آوریم. اما در اینجا، ما معیارهای متعددی را بیان خواهیم کرد. ما رمانهای چارلز دیکنز را با استفاده از این روش جستجو میکنیم. بیایید آن را در عمل ببینیم.
📌 مراحل:
- اول و مهمتر از همه، سلول H5 را انتخاب کنید و فرمول زیر را قرار دهید.
=IFERROR(INDEX($C$5:$C$25,SMALL(IF(1=((--($F$5=$B$5:$B$25))*(--($G$5=$D$5:$D$25))),ROW($C$5:$C$25)-4,""),ROW()-4)),"")
- سپس، ENTER را فشار دهید.
نحوه Vlookup و برگرداندن چند منطبق در یک سلول
در رویکردهای قبلی، ما مقادیر را در سلول های مختلف دریافت کردیم. اما ما نشان خواهیم داد که چگونه میتوانیم در یک سلول به نتیجه برسیم. بنابراین، بدون تأخیر بیشتر، بیایید به داخل شیرجه بزنیم!
📌 مراحل:
- در ابتدا، به سلول G5<بروید 2> و فرمول زیر را وارد کنید.
=TEXTJOIN(", ",TRUE,IF($F$5=$B$5:$B$25,C5:C25,""))
در اینجا، تابع IF مقدار را از محدوده دریافت می کند. C5:C25 که در آن مقادیر مربوطه در محدوده B5:B25 با مقدار سلول F5 مطابقت دارد. سپس، تابع TEXTJOIN مقادیر آرایه را با یک کاما به عنوان جداکننده ترکیب می کند.
- ثانیا، فشار دهید ENTER .
بیشتر بخوانید: INDEX MATCH vs Function VLOOKUP (9 مثال)
نتیجه
این مقاله نحوه vlookup را با چندین تطابق در اکسل به روشی ساده و مختصر توضیح می دهد. دانلود فایل تمرین را فراموش نکنید. برای خواندن این مقاله از شما تشکر می کنم. امیدواریم این مفید بوده باشد. لطفا اگر سوال یا پیشنهادی دارید در قسمت نظرات با ما در میان بگذارید. لطفاً از وبسایت ما، ExcelWIKI ، ارائهدهنده راهحل اکسل یک مرحلهای، برای کاوش بیشتر دیدن کنید.