آموزش کامل تابع MATCH در اکسل با مثال کاربردی، نکات و محدودیت ها
تابع MATCH در اکسل برای جستجوی موقعیت نسبی یک مقدار در یک محدوده (سطر یا ستون) استفاده می شود. برخلاف توابعی مانند VLOOKUP که مقدار نهایی را برمی گردانند، تابع MATCH شماره ردیف یا ستون مقدار موردنظر را به ما می دهد.
این تابع اغلب به تنهایی کاربرد دارد، اما در ترکیب با توابعی مانند INDEX یا OFFSET به یک ابزار قدرتمند برای ساخت فرمول های پویا تبدیل می شود.
تابع MATCH در اکسل چیست؟
به زبان ساده می توانیم بگوییم که از تابع MATCH می خواهیم شماره ردیف یا ستون یک مقدار یا عبارت را در ناحیه ای از اکسل که تعیین کرده ایم به ما نشان دهد.
نحوه استفاده از تابع MATCH
ساختار تابع به صورت زیر است:
=MATCH(lookup_value, lookup_array, [match_type])- lookup_value: مقداری که به دنبال آن هستید.
- lookup_array: محدودهای که قرار است جستجو در آن انجام شود.
- match_type: نوع تطبیق که به می تواند یکی از مقادیر زیر باشد (اختیاری):
- 0 : تطبیق دقیق
- 1 : مقدار کمتر یا مساوی (صعودی)
- 1- : مقدار بیشتر یا مساوی (نزولی)
- عدم پشتیبانی از چند مقدار تکراری: فقط موقعیت اولین مقدار مطابق را برمی گرداند. برای بازیابی تمام موقعیت ها باید از فرمول های آرایه ای یا Power Query استفاده شود.
- نیاز به مرتب سازی در حالت 1 و -1: اگر از match_type برابر 1 یا -1 استفاده شود، lookup_array باید صعودی یا نزولی مرتب شده باشد؛ در غیر این صورت نتیجه اشتباه خواهد بود.
- ناکارآمدی در جستجوی چند شرطی: تابع MATCH به تنهایی امکان اعمال شرط های ترکیبی (مثلاً جستجوی همزمان بر اساس نام و تاریخ) را ندارد.
مثال های کاربردی استفاده از تابع INDEX
مثال 1: جستجوی موقعیت دقیق یک مقدار
همان طور که در مثال زیر مشاهده می کنید، در یک جدول، لیستی از محصولات را آورده ایم.
حال فرض کنید می خواهیم شماره ردیف محصول “موبایل” و “کیبورد” را در ناحیه A2:A9 به دست آوریم.
برای پیدا کردن شماره ردیف “موبایل” از همان نام “موبایل” در تابع MATCH استفاده کرده ایم و نتیجه برابر 2 شده است. دقت کنید که الزاماً شماره ردیف خروجی تابع INDEX برابر شماره ردیف خود اکسل نمی باشد و این بستگی به ناحیه ای که مشخص کرده ایم دارد. چون ما ناحیه را از A2 شروع کرده ایم پس سلول A2 برابر سطر 1 و سلول A3 یا همان “موبایل” برابر سطر 2 می باشد. یعنی “موبایل” دومین آیتم در لیست است..
برای پیدا کردن شماره ردیف “کیبورد” به جای استفاده از عبارت در تابع MATCH، به سلول D6 ارجاع داده ایم که مقدار آن همان “کیبورد” است و نتیجه برابر 6 شده است.
مثال 2: جستجوی عددی در حالت مرتبشده (match_type = 1)
فرض کنید لیستی از اعداد به صورت صعودی مرتب شده باشند:
در اینجا عدد 750 جزو لیست نیست، اما چون مقدار match_type را برابر 1 قرار داده ایم، تابع MATCH موقعیت نزدیک ترین مقدار کوچکتر یا مساوی 750 را به ما نمایش می دهد. (چون 750 بزرگ تر از 400 و کوچک تر از 800 است، موقعیت نزدیک ترین مقدار کوچکتر یا مساوی یعنی 400 انتخاب می شود)
مثال 3: استفاده از Wildcard
در حالت match_type = 0 میتوان از کاراکتر “*” برای جایگزینی چند حرف یا کاراکتر “?” برای یک حرف استفاده کرد:
همان طور که می بینید، برای پیدا کردن شماره ردیف “پاوربانک” در فرمول MATCH فقط عبارت “پاور” را قرار داده ایم و در ادامه آن کاراکتر “*” را اضافه کرده ایم. یعنی این تابع شماره ردیف اولین سلولی که ابتدای آن با “پاور” شروع شود را نمایش می دهد. (در محدوده تعیین شده)
برای پیدا کردن شماره ردیف “هارد” هم در فرمول MATCH عبارت “ه?رد” را قرار داده ایم. یعنی این تابع شماره ردیف اولین سلولی که 4 کاراکتر داشته باشد و حروف اول و سوم و چهارم آن به ترتیب “ه،ر،د” باشد را نمایش می دهد. (در محدوده تعیین شده)
ترکیب INDEX + MATCH: راهکار حرفهای برای جایگزینی VLOOKUP
یکی از کاربردهای فوق العاده MATCH، استفاده در کنار تابع INDEX برای جستجوی دقیق مقادیر در جداول است؛ مزیتی که VLOOKUP از آن محروم است.

می خواهیم قیمت “ماوس” را با استفاده از ترکیب INDEX + MATCH پیدا کنیم:
=INDEX(B2:B7, MATCH("ماوس", A2:A7, 0))خروجی برابر خواهد بود با: 1,500,000
این روش برخلاف VLOOKUP، در صورت جابجایی ستون ها یا اضافه شدن ستون جدید، همچنان به درستی کار می کند.
محدودیت های تابع MATCH
نکات کاربردی برای استفاده از MATCH:
1) جلوگیری از خطای #N/A با IFNA یا IFERROR: اگر مقدار جستجو شده در محدوده وجود نداشته باشد، MATCH خطای #N/A برمی گرداند. برای جلوگیری از آن می توانید از این ترکیب استفاده کنید:
=IFNA(MATCH("تبلت", A2:A6, 0), "یافت نشد")2) جایگزین بهتر برای VLOOKUP: در فایل های پیچیده و جداول متحرک، ترکیب INDEX+MATCH عملکرد سریع تر، منعطف تر و قابل اعتماد تری نسبت به VLOOKUP دارد.
3) استفاده با دکمه های کشویی (Drop-downs): تابع MATCH برای شناسایی ردیف انتخاب شده در لیست های کشویی (Data Validation) عالی عمل می کند.
4) جستجوی دینامیک: اگر lookup_value متغیر باشد و از یک سلول دیگر خوانده شود، می توان فرمول را کاملاً پویا کرد:
=MATCH(D1, A2:A6, 0)که در آن D1 شامل مقدار جستجو است.
جمع بندی
تابع MATCH در اکسل یک ابزار ضروری برای جستجوی موقعیت مقادیر در جداول است. این تابع نه تنها ساده و قدرتمند است، بلکه با ترکیب با توابع دیگر مانند INDEX، امکان ساخت داشبوردهای پیشرفته، گزارش های پویا و فرمول های منعطف را فراهم می کند.
برای استفاده مؤثر از این تابع، درک تفاوت های match_type، توجه به محدودیت ها و آشنایی با کاربردهای ترکیبی آن بسیار حیاتی است.
اگر این آموزش برایتان مفید بود، حتماً آموزش های مرتبط مثل آموزش تابع INDEX در اکسل را هم ببینید.
امیدواریم این آموزش از سایت اهداف سبز برای شما مفید بوده باشد.
اگر سوال یا نظری درباره آموزش تابع MATCH در اکسل دارید، خوشحال می شویم در بخش دیدگاه ها با ما به اشتراک بگذارید.



دیدگاهتان را بنویسید