برای آشنایی با تابع MATCH اکسل، جدول زیر را ببینید و سپس به پرسشهای بعدی پاسخ دهید.
| A | B | C |
|
1 | سیب | 100 | سبز |
|
2 | هلو | 200 | آبدار |
|
3 | zardaloo | 300 | زرد | |
4 | هندوانه | 400 | shirin |
|
5 | آلبالو | 500 | قرمز |
پرسش ۱) در چندین سلول ستون A کلمه «zardaloo» وجود دارد؟ پاسخ: ۳
پرسش ۲) در چندمین سلول سطر ۴ اکسل کلمه «shirin» نوشته شده است؟ پاسخ: ۳
پرسش ۳) قاشقها در چندین کشوری آشپزخانه شما گذاشته شدهاند؟ پاسخ: دومین
پرسش ۴) خانه کاوه چندمین خانه در کوچه شما است؟ پاسخ: ۱۰
آنچه که شما برای پاسخ به پرسشهای بالا انجام دادهاید، همان کاری است که MATCH میکند و به همین سادگی شما MATCH را یاد گرفتید. 🤩
کار تابع MATCH اکسل چیست؟
شکل ساده تابع MATCH در اکسل به صورت زیر است:
= MATCH(lookup_value, lookup_array, [match_type])
ورودی lookup_value مقدار مورد نظر شماست که میخواهید جای آن را بدانید.
ورودی lookup_array محدوده مورد نظر شماست که میدانید «مقدار مورد نظر شما» در آن محدوده قرار دارد. حتما باید این محدوده یک بعدی باشد. یعنی فقط یک سطر یا یک ستون داشته باشد.
ورودی match_type نحوه مطابقت را مشخص میکنید. اگر دقیقا باید مقدار مورد نظر شما جستجو شود، باید این ورودی را 0 بگذارید. از آنجایی که سایر حالتهای مطابقت به ندرت استفاده میشوند، در این مقاله از گفتن آنها خودداری خواهیم کرد.
حال به سادگی با تابع MATCH میتوانیم پاسخ پرسشهای ۱ و ۲ را به دست آوریم.
پرسش ۱) در چندین سلول ستون A کلمه «zardaloo» وجود دارد؟
= MATCH( "zaraloo" , A:A, 0 )
این فرمول را اینگونه بخوانید:
دنبال zardaloo بگرد- در ستون A بگرد و (0 را بخوانید:) دقیقا خودش را میخواهیم .
یادآوری) آدرس کل ستون A در اکسل به صورت A:A نوشته میشود.
پرسش ۲) در چندمین سلول سطر ۴ اکسل کلمه «shirin» نوشته شده است؟
= MATCH( "shirin", 4:4, 0 )
این فرمول را اینگونه بخوانید:
دنبال shirin بگرد - در سطر 4 بگرد و دقیقا خودش را میخواهم.
یادآوری) آدرس کل سطر A در اکسل به صورت 4:4 نوشته میشود.
سایر نکتههای خاص تابع MATCH در اکسل که باید بدانید:
۱) اگر مقدار مورد نظر شما تکراری باشد، تابع MATCH هم دقیقا مانند VLOOKUP اولین مقدار را مییابد.
۲) اگر match_type مقدار 0 باشد و مقدار مورد نظر شما هم یک متن (نه عدد) میتوانید از کاراکترهای wildcard استفاده کنید.
۳) ما با تابع MATCH نمیتوانیم یک محدود ۲ بعدی (یعنی محدودهای که شامل چندین سطر و چندین ستون باشد) را جستجو کنیم. مثلا نمیتوانیم بنویسیم A1:D10 . حتما باید محدوده ۱ بعدی باشد.
۴) تابع MATCH جای یک چیز را در یک محدوده میگوید. در این تعریف این نکته مستتر است که MATCH جای «نسبی» یک چیز را پیدا میکند. یعنی اگر بنویسید A:A، این تابع جای مقدار را در ستون A مییابد و اگر بنویسیم A10:A20، این تابع جای مقدار را در این محدوده برای ما پیدا میکند.
تابع MATCH با تابع INDEX - یافتن رو به عقب
میدانیم که تابع VLOOKUP چیزی را مییابد و آنچه در «جلوی» آن است را برای ما بر میگرداند. اگر بخواهیم که یک مقدار را جستجو کنیم و سپس چیزی که در «پشت سر» آن است را بیابیم. باید از تلفیق دو تابع INDEX و MATCH استفاده کنیم.
برای مثال فرض کنیم که میخواهیم بدانیم در پشت سر مقدار shirin در جدول بالا چه چیزی نوشته شده است. برای این کار باید فرمول زیر را بنویسیم:
= INDEX( A:A, MATCH("shirin", C:C, 0) )
توضیح فرمول)
ابتدا با تابع MATCH جای shirin را مییابیم و سپس از تابع INDEX میخواهیم که به ما مقداری که در آن جایگاه و البته در ستون A است را برگرداند.
شما هم تجربه یا دیدگاه خود را بنویسید:
سلام وقت بخیر
آیا تابعی وجود ندارد که دقیقا کار تابع match را انجام دهد ولی آدرس خانه های تکراری را هم برگرداند؟ نه فقط آدرس خانه اول
سلام/ اول اینکه تابع match آدرس سلول را نمیدهد بلکه فقط جای آن سلول را میدهد و خروجی آن همیشه یک عدد است.
به صورت کلی برای یافتن چیزهای تکراری با فرمول نویسی اکسل ۲ راه است، یکی استفاده از تابع FILTER که در نسخههای جدیدی اکسل آمده است و دیگری استفاده از تکنیکی به نام MULTI VALUE LOOKUP که در فایل پیوست مقاله SUMIFS همین سایت میتوانید آن را بیابید.
سلام خسته نباشید. من میخوام برای دو تا سلول تعریف کنم که هر مقداری به یکی از سلول ها اضافه شد همان مقدار از سلول دیگری کم شود. ممنون میشم راهنماییم کنید چه جوری میشه این کارو انجام داد
سلام / نمی شود اینکار را انجام داد. زیرا هر ۲ سلول باید فرمول داشته باشند که به هم ارجاع داده شوند و اینکار باعث circular references خواهد شد. شما باید سلول سومی در نظر بگیرید و احتمالا با استفاده از آن نیازتان را پیاده سازی کنید.
باسلام استاد عزیز خیلی عالی بود. متشکرم