تابع MATCH زیرمجموعه توابع جستجو (Lookup & Reference) است و برای تعیین موقعیت یک مقدار در یک سطر، ستون و یا آرایه به کار میرود. این تابع دارای تطابق تقریبی و دقیق بوده و از کارکترهای wildcard پشتیبانی میکند. اغلب، MATCH با تابع INDEX ترکیب میشود تا مقداری را در یک موقعیت منطبق بازیابی کند.
هدف تابع
تعیین موقعیت داده در یک ستون، ردیف و یا آرایه
خروجی
موقعیت داده در محدوده انتخاب شده
ساختار
=MATCH(lookup_value,lookup_array,[match_type])
آرگومانها
lookup_value: مقداری که باید جستجو شود.
lookup_array: ستون یا ردیفی که داده موردنظر در آن قرار دارد.
match_type [اختیاری]: نوع مطابقت (دقیق یا تقریبی)
کاربرد
همانطور که در بالا اشاره شد، از MATCH برای تعیین موقعیت داده موردنظر استفاده میگردد. برای مثال، فرمول زیر برای بدست آوردن موقعیت مقداری که در سلول D5 وارد میشود نوشته شده است:
=MATCH(D5,B5:B10,0)
ترجمه: مقدار سلول D5 را در محدوده B5 الی B10 پیدا کن و نشان بده چندمین داده در این محدوده است.
انواع مطابقت
دقیق یا تقریبی بودن مطابقت، در آرگومان چهارم تعیین میشود. در جدول زیر مقادیر تعیین کننده نوع مطابقت را تشریح میکنیم:
توضیحات | نوع مطابقت | مقدار |
اولین داده مساوی یا کوچکتر از مقدار ورودی (برای محدودهای که از کوچک به بزرگ مرتب شدهاند) | تقریبی | ۱ |
اولین مطابقت دقیق را برمیگرداند. | دقیق | ۰ |
اولین داده مساوی یا بزرگتر از مقدار ورودی (برای محدودهای که از بزرگ به کوچک سورت شدهاند) | تقریبی | -۱ |
در صورت خالی بودن این آرگومان، MATCH مقدار ۱ را بعنوان پیشفرض در نظر میگیرد. | تقریبی |
مطابقت دقیق
در پست مربوط به تابع VLOOKUP، از MATCH جهت تعیین مقدار آرگومان سوم برای جستجو دوطرفه استفاده شد. فرمول نوشته شده به شکل زیر میباشد:
MATCH(I4,B2:F2,0)
ترجمه: مقدار سلول I4 را در ردیف B2 تا F2 پیدا کن و شماره ستون آن را برگردان.
*در این نوع مطابقت، میتوان از کارکترهای wildcard نیز استفاده کرد.
مطابقت تقریبی
در صورتی که به دنبال بهترین نتیجه (نه لزوما دقیق) هستیم و میخواهیم مقداری را در بازهای جستجو کنیم، مطابقت تقریبی به کمکمان میآید. فرض کنید به دنبال عدد ۳۹۹ در تصویر زیر هستیم:
برای اینکه ستون اول به صورت صعودی سورت شده، باید در آرگومان چهارم عدد ۱ را وارد کنیم:
=MATCH(399,C5:C9,1)
ترجمه: عدد ۳۹۹ (یا کوچکتر از آن) را در ستون C5 تا C9 پیدا کن شماره ردیف آن را برگردان.
اما برای ستون دوم تصویر که دادهها به صورت نزولی مرتب شدهاند، باید از عدد ۱- استفاده نمود:
=MATCH(399,D5:D9,-1)
ترجمه: عدد ۳۹۹ (یا بزرگتر از آن) را در ستون D5 الی D9 پیدا کن و شماره ردیف آن را برگردان.
اگر به مثال فوق دقت کرده باشید، MATCH در هر دو حالت به یک شکل عمل کرده است. در فرمول اول، مقدار موردنظر را بین عدد ۳۰۰ (در سومین ردیف) و ۴۰۰ (در چهارمین ردیف) یافت و شماره ردیف سلول بالایی را برگرداند و در فرمول دوم، مقدار موردنظر را بین عدد ۴۰۰ (در دومین ردیف) و ۳۰۰ (در سومین ردیف) پیدا کرد و باز هم شماره ردیف سلول بالایی را برگرداند.
اگر دادههای ستون/سطر مرتب نباشد، نتیجه اشتباه نمایش داده میشود. اما برای درک درست کارکرد تابع MATCH، فرمول زیر را با آرایههای نامنظم مینویسیم:
=MATCH(25,{10,20,24,19,30},1)
با اطلاعاتی که تا اینجا بدست آوردیم، انتظار عدد ۳ را داریم. چرا که عدد ۲۴ بنظر درستترین جواب است ولی تابع MATCH ابتدا به دنبال عدد ۲۵ میگردد و با شکست مواجه میشود. سپس عدد بزرگتر! از آن را پیدا کرده و مختصات داده قبل را برمیگرداند؛ یعنی عدد ۴.
ترکیب توابع MATCH و INDEX
اغلب تابع MATCH با INDEX ترکیب شده تا یک مقدار را در موقعیتی خاص (منطبق) بازگرداند. به عبارت دیگر، MATCH موقعیت را مشخص میکند و INDEX مقدار آن موقعیت را نشان میدهد. برای مثال فرض کنید میخواهیم با استفاده از کد کالا، نام آن را برگردانیم:
=INDEX(C3:C7,MATCH(E3,B3:B7,0))
ترجمه: مقدار سلول E3 را در محدوده B3 تا B7 پیدا کن و مقدار متناظر آن را در محدوده C3 الی C7 برگردان.
ورژن مورد نیاز
اکسل ۲۰۰۳ و بالاتر
پینوشت
*MATCH به حروف بزرگ و کوچک حساس نیست.
*اگر مطابقت پیدا نشود، MATCH خطای #N/A را برمیگرداند.
*MATCH فقط با متنی با طول حداکثر ۲۵۵ کاراکتر کار میکند.
*تابع MATCH همیشه اولین تطابق را برمیگرداند. اگر نیاز به آخرین مطابقت (جستجوی معکوس) دارید، از تابع XMATCH و اگر میخواهید همه موارد منطبق را برگردانید، از تابع FILTER استفاده نمایید.
*MATCH فقط از آرایهها یا محدودههای یک بعدی (عمودی و یا افقی) پشتیبانی میکند. با این حال، میتوان با ترکیب نمودن این تابع و INDEX، مکان مقادیر را در یک محدوده یا جدول دو بعدی تعیین نمود. همچنین میتوانید دو بار از MATCH در یک فرمول استفاده کرده تا یک ردیف و ستون منطبق را به طور همزمان پیدا کنید.
2 در مورد “آموزش تابع MATCH در اکسل”
سلام اول از همه میخواستم بابت سایت خوبتون تشکر کنم.
جمله اخر گفتین دو تا match با هم ترکیب کنیم؟ من هرکاری کردم نشد😕
سلام
ممنون از لطفتون
فک کنم منظور اشتباه متوجه شدین دوست عزیز. گفتیم “میتوانید دو بار از MATCH در یک فرمول استفاده کرده تا یک ردیف و ستون منطبق را به طور همزمان پیدا کنید.” یعنی دو MATCH تو یه تابع دیگه. مثلا یه MATCH تو آرگومان دوم تابع INDEX که معرف شماره ردیفه و یه MATCH برای آرگومان سوم که شماره ستونه بکار ببریم.