جستجو و پیدا کردن یک مورد خاص، هنگامی که با یک کاربرگ اطلاعاتی مانند اکسل، با تعداد سطرها یا ستون‌های زیاد مواجه هستید، کار مشکلی است. به این منظور اغلب از روش‌های مرتب‌سازی یا دسته‌بندی برای تفکیک گروه‌ها استفاده کرده و به این ترتیب سرعت جستجو را افزایش می‌دهند. توجه داشته باشید که در اینجا منظورمان جستجو با هدف دسترسی به یک مورد از اطلاعات (سطر یا ستون) کاربرگ است و هرگز از جستجو با ابزار FIND یا SEARCH اکسل، صحبت نمی‌کنیم. تابع MATCH در اکسل با این کارکرد در اختیارمان قرار گرفته و به خوبی از عهده پیدا کردن موضوع مورد جستجو و مطابقت دادن یک سلول با آن بر می‌آید. به همین دلیل این نوشتار از مجله فرادرس را به تابع MATCH در اکسل اختصاص داده‌ایم.

کار با اکسل و همچنین فرمول نویسی و نحوه استفاده از توابع را در نوشتارهای آموزش اکسل — به زبان ساده و فرمول نویسی در اکسل — به زبان ساده مطالعه کنید. از طرفی مطلب توابع INDEX و MATCH در اکسل برای جست‌وجوی سریعتر نیز نکاتی در مورد به کارگیری تابع MATCH در اختیارتان قرار می‌دهد.

تابع MATCH در اکسل

همانطور که گفته شد، MATCH یک تابع در اکسل است که در نسخه ۲۰۰۳ معرفی شده و برای تعیین موقعیت مقدار جستجو شده، در یک ردیف یا ستون از جدول یا کاربرگ، استفاده می‌شود.

تابع MATCH از تطبیق تقریبی و دقیق و همچنین علامت‌های جایگزین یا فرانویسه‌ها (Wildcards) مانند * و ? پشتیبانی می‌کند. اغلب، تابع MATCH با تابع INDEX ترکیب می‌شود تا یک مقدار را جستجو کرده و در یک موقعیت مشخص شده، محتویات سلول مورد نظر را بازیابی کند.

از آنجایی که کار این تابع مانند تابع Lookup، جستجو در کاربرگ است، قاعدتا باید در گروه Lookup and Reference قرار گرفته باشد. بنابراین طبق مسیر زیر می‌توانید به آن دسترسی داشته باشید.

از برگه Formula، در بخش Function Library، لیست توابع Lookup and Reference را باز کرده و تابع MATCH را انتخاب کنید. با این کار، پنجره درج پارامترهای این تابع ظاهر خواهد شد. شکل دستوری و پارامترهای این تابع در ادامه قابل مشاهده است.

=MATCH (lookup_value, lookup_array, [match_type])

واضح است که دو پارامتر اول، اجباری بوده و پارامتر سوم (Match_type) اختیاری است. معرفی این پارامترها در جدول زیر صورت گرفته است.

جدول ۱: معرفی پارامترهای تابع MATCH

پارامتر عملکرد توضیحات
lookup_value مقدار مورد جستجو استفاده از علامت‌های جایگزین مجاز است.
lookup_array بردار مورد جستجو
match_type نوع مطابقت مقادیر ۰ و ۱- و ۱، ترتیب بردار جستجو را مشخص می‌کند.

توجه داشته باشید که پارامتر lookup_value، همان مقداری است که باید تابع MATCH به جستجوی آن پرداخته و موقعیتش را مشخص کند. از طرفی پارامتر lookup_array، بردار جستجو را تعیین می‌کند.

منظور از موقعیت نسبی مقدار جستجو شده در این بردار این است که تابع MATCH مشخص می‌کند که عنصر یا مقدار lookup_value، چندمین مقدار در لیست یا بردار lookup_array است. برای مثال نتیجه این تابع، ممکن است برابر با ۵ باشد. این موقعیت ممکن است در سطر دهم کاربرگ باشد ولی مهم آن  است که پنجمین مقدار از بردار مورد نظر، پاسخ تابع خواهد بود.

پارامتر سوم، که البته اختیاری است، برای نوع جستجو، مقداری را در نظر گرفته است. اگر به دنبال مقدار دقیق lookup_value هستید، این پارامتر را صفر در نظر بگیرید. به این ترتیب تابع MATCH همگی مقادیر موجود در بردار lookup_array را مورد بررسی قرار داده و اولین موقعیتی که مطابقت در آن صورت گرفته را گزارش می‌کند.

مقدار ۱ و ۱- برای این پارامتر، به منظور سرعت بخشیدن به جستجو و پیدا کردن نزدیک‌ترین پاسخ برای موضوع مورد جستجو است. در ادامه به مثال‌هایی خواهیم پرداخت که کاربرد تابع MATCH در اکسل را با توجه به پارامترهای آن بهتر درک کنید. برای این کار از یک فایل داده استفاده خواهیم کرد که در تصویر ۱ مشخص شده است.

excel match list
تصویر ۱: لیست جستجو و جدول اطلاعاتی

جستجو و بازیابی موقعیت با تابع MATCH در اکسل

از تابع MATCH برای تعیین موقعیت یک مقدار در یک محدوده یا آرایه استفاده می‌شود. در تصویر ۲، ناحیه یا بردار B6 تا B14 با اسامی میوه‌ها دیده می‌شود. تابعی که در سلول E6 ثبت شده، باید به دنبال مقدار Peach گشته و موقعیت آن را طبق لیست، مشخص کند. از آنجایی که این مقدار در لیست، از سلول اول (B6)، پنج سطر فاصله دارد، پاسخ تابع MATCH برابر با ۵ خواهد بود. این مقدار را در سلول E6 می‌توان دید. البته برای درک بهتر، در کنار هر یک از اسامی میوه‌ها، موقعیت نسبی نیز نوشته شده تا رفتار تابع MATCH نمایان شود.

excel match function
تصویر ۲: تابع MATCH و جستجو موقعیت نسبی

تابع و فرمول به کار رفته را در زیر مشاهده می‌کنید.

نکته: این لیست مرتب شده نیست. در نتیجه برای پیدا کردن مقدار مورد جستجو، پارامتر اختیاری (match_type) را با مقدار ۰ مشخص کرده‌ایم تا تابع MATCH در اکسل همه لیست را جستجو کند.

تابع MATCH می تواند تطابق دقیق و تقریبی را هنگام جستجوی انجام دهد و در عین حال از علامت‌های جایگزین (* و ?) برای جستجوی‌های بخش یا جزئی از عبارت به کار رود. این موضوع را در ادامه مشخص کرده‌ایم.

استفاده از علامت‌های جایگزین در تابع MATCH

وقتی نوع انطباق یا پارامتر سوم تابع MATCH، مقدار صفر تنظیم شود، این تابع می‌تواند یک مطابقت را با استفاده از علامت‌های جایگزین یا فرانویسه (Wildcards) انجام دهد. توجه داشته باشید که علامت * نشانگر جایگزین هر گونه علامت یا حروف در محل تعیین شده است. برای مثال اگر عبارتی به صورت *p را به عنوان پارامتر اول تابع MATCH به کار برید، منظور پیدا کردن اولین موردی از اسامی میوه‌ها است که با حرف p شروع می‌شود. واضح است که بر طبق تصویر ۱، نتیجه برابر با ۲ خواهد بود، زیرا اولین میوه با حرف p همان Pear است که در لیست موجود، دومین میوه محسوب می‌شود.

تابع و پارامترهای لازم برای انجام این کار را در زیر مشاهده می‌کنید. به یاد داشته باشید که تابع MATCH در اکسل فقط اولین محل مطابقت را گزارش می‌کند.

البته می‌توانستیم که مقدار *p را در یک سلول وارد کرده و از آن به عنوان پارامتر استفاده کنیم. فرض کنید که عبارت *p در سلول E2 نوشته شده. بنابراین فرمول زیر همان نتیجه بالا را خواهد داشت.

برای آشنایی بیشتر با نحوه به کارگیری توابع و استفاده از امکانات فرمول نویسی و توابع اکسل، بهتر است یکی از آموزش‌های فرادرس با نام آموزش استفاده از توابع و فرمول نویسی در اکسل را مشاهده کنید. لینک دسترسی به این آموزش در ادامه آورده شده است.

پارامتر نوع مطابقت

همانطور که در جدول ۲ مشاهده خواهید کرد، 3 حالت مختلف برای نوع مطابقت یا پارامتر سوم تابع MATCH وجود دارد. نوع مطابقت یعنی match_type در تابع MATCH اختیاری است. در صورت عدم تعیین آن، پیش فرض مقدار 1 خواهد بود.

جدول 2: ویژگی‌های پارامتر نوع مطابقت

مقدار پارامتر (match_type) نحوه جستجو توضیحات
۱ جستجوی تقریبی نزدیک‌ترین مقدار با توجه به مرتب‌سازی صعودی لیست
۰ جستجوی دقیق بدون در نظر گرفتن ترتیب در لیست
۱- جستجوی تقریبی نزدیک‌ترین مقدار با توجه به مرتب سازی نزولی لیست

فرض کنید باز هم از لیستی استفاده کرده‌ایم که مطابق با تصویر ۳ است. برای مثال فرض کنید که قرار است مقدار 575 در ستون B3 تا B12 مورد جستجو قرار گرفته و موقعیت آن مشخص شود.

basic approximate match
تصویر ۳: جستجوی تقریبی با تابع MATCH در اکسل

همانطور که می‌بینید، در این لیست مقداری برابر با ۵۷۵ وجود ندارد. اگر تابع MATCH را به صورت زیر می‌نوشتیم، مقدار !N/A# ظاهر می‌شد، زیرا مورد جستجو در لیست وجود ندارد و پارامتر سوم نیز مقدار صفر دارد.

توجه داشته باشید که لیست دارای ترتیب صعودی است. حال اگر هدف به جای پیدا کردن مقدار دقیق، مقداری باشد که از بین مقادیر کوچکتر از 575، از همه به آن نزدیک‌تر است، پارامتر سوم را با مقدار ۱، مشخص می‌کنیم. به این ترتیب، تابع به صورت زیر خواهد بود.

نکته: نتیجه اجرای این محاسبه، با توجه به تصویر ۳، مقدار ۵ خواهد بود. واضح است که ۵۰۰ نزدیک‌ترین مقدار به ۵۷۵ است که از آن نیز کوچکتر است. البته شاید تصور شود که ۶۰۰ به ۵۷۵ نزدیک‌تر است ولی مقدار آن بزرگتر از ۵۷۵ است.

این بار فرض کنید که لیست را به صورت نزولی (از زیاد به کم) مرتب کرده‌ باشیم و بخواهیم نزدیک‌ترین مقدار به ۵۷۵ را پیدا کنیم. مشخص است که طبق جدول ۲، باید پارامتر سوم را با ۱- مقدار دهی کنیم. این امر به تابع MATCH می‌گوید، از بین لیستی که به صورت زیاد به کم مرتب شده (Descending)، نزدیک‌ترین مقدار به ۵۷۵ را از بین مقادیر بزرگتر پیدا کن. به این ترتیب کوچکترین مقداری که از ۵۷۵ بزرگتر است، پاسخ نهایی خواهد بود.

اکسل شروع به جستجو می‌کند، اولین مقدار یعنی ۹۰۰ از ۵۷۵ بزرگتر است، پس به گزینه بعدی رفته و ۸۰۰، ۷۰۰ و ۶۰۰ را مورد بررسی قرار می‌دهد. همه این مقادیر از ۵۷۵ بزرگتر هستند. مقدار بعدی برای مقایسه، ۵۰۰ است که از ۵۷۵ بزرگتر است. در این هنگام اکسل یا دقیق‌تر، تابع MATCH در اکسل متوجه می‌شود که پاسخ را رد کرده و موقعیت نسبی مقدار قبلی در لیست را به عنوان نتیجه تقریبی نمایش می‌دهد. بنابراین پاسخ تابعی که در بالا نوشته شده، مقدار ۴ خواهد بود.

اطمینان حاصل کنید که نوع انطباق را به درستی انتخاب کرده‌اید. استفاده از مقدار پیش فرض برای پارامتر match_type (یعنی مقدار 1) می‌تواند باعث شود تابع MATCH نتایج به ظاهر درستی ارائه کند. ولی با کمی کندوکاو، متوجه می‌شویم که حاصل محاسبه تابع MATCH نادرست بوده و با واقعیت مطابقت ندارد. بنابراین تعیین مقدار مناسب برای match_type، در محاسبات صورت گرفته توسط این تابع، نقش مهمی ایفا می‌کند.

نکته: تابع MATCH به منظور بازیابی مقداری در یک موقعیت خاص با تابع INDEX ترکیب می‌شود. به عبارت دیگر، تابع MATCH موقعیت را مشخص کرده و تابع INDEX مقدار را در آن موقعیت یا هر موقعیت دیگر نسبت به آن برمی‌گرداند.

نکاتی در مورد تابع MATCH

در ادامه به بعضی نکات اشاره می‌کنیم که هنگام استفاده از MATCH باید در نظر گرفته شود. رعایت این نکته‌ها، کارکرد بهتری از تابع MATCH در اکسل برایتان به همراه می‌آورد.

  • MATCH به حروف کوچک و بزرگ لاتین  (Case Sensitive) حساس نیست. بنابراین با خیال راحت به جستجو عبارت و کلمه‌های انگلیسی بپردازید.
  • اگر موردی برای مطابقت پیدا نشود، تابع MATCH خطای !N/A# را نشان می‌دهد.
  • تابع MATCH فقط با متن تا حداکثر 255 نویسه (Character) کار می‌کند. بنابراین اگر به دنبال عبارت‌های طولانی می‌گردید، استفاده از تابع MATCH مناسب نخواهد بود.
  • در صورتی که مقدار مورد جستجو در چندین بخش از بردار lookup_array تکرار شده باشد، تابع MATCH اولین مطابقت را نشان می‌دهد و از نمایش موقعیت‌های بعدی عاجز است.
  • اگر مقدار پارامتر match_type برابر با ۱- یا 1 باشد، آرایه یا بردار مربوط به پارامتر lookup مرتب شده در نظر گرفته می‌شوند. بنابراین اگر این لیست مرتب نیست، ممکن است پاسخ‌های نامناسب از تابع MATCH دریافت کنید.
  • اگر مقدار پارامتر match_type برابر با 0 باشد، مقدار پارامتر lookup_value می‌تواند شامل علامت‌های جایگزین (Wildcard) باشد.
  • تابع MATCH اغلب همراه با تابع INDEX استفاده می‌شود تا بتوان مقدار موقعیت‌های دیگر که نسبت به محل مورد جستجو وجود دارند را نشان داد.
  • تابع دیگری که در نسخه‌های جدید اکسل 365 جایگزین MATCH شده است، XMATCH نام‌ دارد ولی تقریبا کارکرد آن‌ها یکسان است.

معرفی فیلم آموزش استفاده از توابع و فرمول نویسی در اکسل

متاسفانه بسیاری از کاربران اکسل فقط برای ترسیم جدول و قالب‌بندی محتویات جدولی به کار می‌رود. ولی جنبه محاسباتی آن واقعا قدرتی است که باید در نظر گرفته و از آن استفاده کرد. فرمول‌ها و توابع در اکسل، به شکل متنوعی در اختیار کاربران قرار دارد به طوری که در اغلب موارد، نمی‌توان محاسبه‌ای را در نظر گرفت که نتوان آن را در اکسل پیاده‌سازی کرد.

خوشبختانه، فرادرس در یک مجموعه کامل و فیلم‌های آموزشی، به معرفی قابلیت‌های این نرم‌افزار کاربردی پرداخته است که یکی از آن‌ها به معرفی توابع و فرمول‌نویسی در اکسل اختصاص دارد. مشاهده فیلم آموزش استفاده از توابع و فرمول نویسی در اکسل به همه کسانی که به اکسل و قدرت محاسباتی آن علاقمند هستند، پیشنهاد می‌شود. به این ترتیب می‌توانید بیشترین بهره را از این نرم‌افزار برده و در محل کارتان یک نخبه محسوب شوید.

این فیلم آموزشی شامل ۵ ساعت و ۵۱ دقیقه محتوایی ویدیویی است که با سرفصل‌های زیر به توابع اکسل پرداخته است.

  • درس اول: ورود و ویرایش فرمول
  • درس دوم: توابع در اکسل (ریاضی و شرطی و نوشتن توابع تو در تو)
  • درس سوم: توابع خاص (متنی، تاریخ و مالی و حسابداری)

مشاهده این فیلم را به مهندسین صنایع، مدیران و تمامی کسانی که به نوعی با داده‌های عددی یا متنی سروکار دارند، پیشنهاد می‌کنیم. توجه داشته باشید که پیش‌نیاز این آموزش، آشنایی با نحوه کار با سیستم عامل ویندوز است که می‌توانید این مهارت‌ها را با آموزش ویندوز ۱۰ (Windows 10) بدست آورید.

خلاصه و جمع‌بندی

همانطور که خواندید، تابع MATCH در اکسل قادر به جستجو در یک بردار بوده و موقعیت نسبی مقدار تطبیق داده شده را نشان می‌دهد. توجه داشته باشید که موقعیت توسط تابع MATCH به صورت مطلق و مطابق با آدرس کاربرگ اکسل نیست. منظور از موقعیت نسبی، وابستگی نتیجه تابع به آدرس یا وضعیت آغاز جستجو است. این موضوع، حساسیت تعیین پارامتر lookup_array را نشان می‌دهد.

برای نمایش مقداری که موقعیت آن را تابع MATCH مشخص کرده، اغلب از تابع INDEX استفاده می‌شود. به این دلیل ترکیب دو تابع MATCH و INDEX در اکسل بسیار پرکاربرد است.

اگر این مطلب برای شما مفید بوده است، آموزش‌ها و مطالب زیر نیز به شما پیشنهاد می‌شوند:

آرمان ری بد (+)

«آرمان ری‌بد» دکتری آمار در شاخه آمار ریاضی دارد. از علاقمندی‌های او، یادگیری ماشین، خوشه‌بندی و داده‌کاوی است و در حال حاضر نوشتارهای مربوط به آمار و یادگیری ماشین را در مجله فرادرس تهیه می‌کند.

بر اساس رای 3 نفر

آیا این مطلب برای شما مفید بود؟

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *