تابع MATCH برای یک آیتم خاص در محدوده ای از سلولهای معرفی شده جست و جو می نماید و موقیعت آیتم مورد نظر را برمی گرداند. به عنوان مثال فرض کنید در محدوده A1:A3 مقادیر۵، ۲۵ و ۳۸ وجود دارند. در صورتی که از فرمول (MATCH(25,A1:A3,0= استفاده کنیم تابع مقدار ۲ را برمی گرداند. زیرا دومین آیتم در این محدوده ۲۵ می باشد.
فرمول کلی این تابع ([MATCH(lookup_value, lookup_array, [match_type می باشد. این تابع دارای سه مقدار ورودی می باشد:
۱ – مقدار مورد نظر برای جست و جو (lookup_value): این مقدار می تواند عدد، متن یا مقدار منطقی یا ارجاع به یک سلول دارای عدد، متن یا مقدار منطقی باشد.
۲ – محدوده جستجو (lookup_array): این مقدار محدوده ی مورد نظر جست و جو می باشد.
۳ – مقدار (match_type): انتخابی و می تواند دارای سه مقدار ۱، ۰ و یا ۱- می باشد.
- مقدار ۱: در صورتی که مقدار را ۱ در نظر بگیریم یا چیزی ننویسیم، بزرگترین مقدار کمتر یا مساوی مقدار lookup_value را برمیگرداند. دقت کنید که مقادیر مربوط به lookup_value باید از نزولی به صعودی مرتب شوند.
- مقدار ۰: اولین مقدار (دقیقاً) مساوی با مقدار lookup_value را برمی گرداند.
- مقدار ۱-: کوچکترین مقدار بزرگتر یا مساوی با مقدار lookup_value را برمی گرداند. دقت کنید که مقادیر مربوط به lookup_value باید از صعودی به نزولی مرتب شوند.
نکات:
- تابع MATCH موقعیت متناظر با مقدار lookup_value را در محدوده lookup_array برمی گرداند نه مقدار را! به عنوان مثال در تاریع (MATCH(“b”,{“a”,”b”,”c”},۰ تابع دنبال موقعیت مقدار b در محدوده “a”,”b”,”c” می گردد و مقدار ۲ را بر می گرداند. زیرا عبارت b دومین مقدار در محدوده می باشد.
- این تابع یه بزرگی و کوچکی حروف حساس نمی باشد.
- در صورتی که این تابع نتواند مقداری را برگرداند، عبارت خطای N/A# را نمایش می دهد.
مثال:
فرض کنید اطلاعات زیر را در اکسل داریم:
۱ – در صورتی که فرمول (MATCH(39,B2:B5,1= را داشته باشیم، با توجه به اینکه در محدوده B2:B5 مقدار ۳۹ نداریم و با توجه به اینکه در قسمت match_type مقدار ۱ را به کار برده ایم، تابع دنبال مقدار کمتر از ۳۹ می گردد و مقدار ۲ را برمی گرداند. دقت کنید که اطلاعات جدول از نزولی به صعودی مرتب شده اند.
۲ – در صورتی که فرمول (MATCH(41,B2:B5,0= را داشته باشیم، تابع مقدار ۴ را بر می گرداند.
۳ – در صورتی که فرمول (MATCH(40,B2:B5,-1= را داشته باشیم، تابع مقدار N/A# را برمی گرداند. زیرا تابع از صعودی به نزولی مرتب نشده است!