فهرست مطالب
زمانی که باید دادههایی را در برگه خود بیابید که با یک رکورد کلیدی خاص مطابقت دارد، معمولاً Google Sheets VLOOKUP است که به آن مراجعه میکنید. اما شما میروید: VLOOKUP تقریباً بلافاصله محدودیتهایی را به شما میدهد. به همین دلیل است که بهتر است با یادگیری INDEX MATCH، منابع مربوط به کار را افزایش دهید.
INDEX MATCH در Google Sheets ترکیبی از دو عملکرد است: INDEX و MATCH. وقتی پشت سر هم استفاده می شوند، به عنوان جایگزین بهتری برای Google Sheets VLOOKUP عمل می کنند. بیایید با هم در این پست وبلاگ به توانایی های آنها پی ببریم. اما ابتدا، میخواهم یک گشت و گذار سریع از نقشهای خودشان در صفحات گسترده به شما ارائه دهم.
عملکرد MATCH Google Sheets
من میخواهم با Google شروع کنم. Sheets MATCH چون واقعاً ساده است. داده های شما را برای یک مقدار خاص اسکن می کند و موقعیت آن را برمی گرداند:
=MATCH(search_key, range, [search_type])- search_key رکوردی است که به دنبال آن هستید. الزامی است.
- محدوده یا یک ردیف یا یک ستون است که باید در آن نگاه کنید.
توجه داشته باشید. MATCH فقط آرایه های یک بعدی را می پذیرد: سطر یا ستون.
- جستجوی_نوع اختیاری است و تعیین میکند که تطابق باید دقیق یا تقریبی باشد. اگر حذف شود، به طور پیش فرض 1 است:
- 1 به این معنی است که محدوده به ترتیب صعودی مرتب شده است. این تابع بزرگترین مقدار را کمتر یا مساوی کلید_جستجوی شما میگیرد.
- 0 باعث میشود که تابع دقیقاً مطابقت را پیدا کند در صورتی که محدوده شما مطابقت نداشته باشد.مرتب شده است.
- -1 اشاره می کند که رکوردها با استفاده از مرتب سازی نزولی رتبه بندی می شوند. در این مورد، تابع کوچکترین مقدار را بزرگتر یا مساوی کلید_جستجوی شما میگیرد.
در اینجا یک مثال آورده شده است: برای بدست آوردن یک موقعیت خاص توت در لیست همه انواع توت ها، من به فرمول MATCH زیر در برگه های Google خود نیاز دارم:
=MATCH("Blueberry", A1:A10, 0)
Google Sheets عملکرد INDEX
در حالی که MATCH نشان میدهد که کجا باید به دنبال مقدار خود بگردید (محل آن در محدوده)، تابع INDEX کاربرگنگار Google خود مقدار را بر اساس جابجاییهای سطر و ستون خود واکشی میکند:
=INDEX(مرجع، [ردیف]، [ستون])- مرجع محدوده ای است که باید در آن جستجو کرد.
- ردیف تعداد ردیف هایی است که باید از اولین سلول محدوده شما جابجا شود. . اختیاری، 0 در صورت حذف.
- ستون ، درست مانند ردیف ، تعداد ستون های افست است. همچنین اختیاری است، همچنین در صورت حذف 0.
اگر هر دو آرگومان اختیاری (ردیف و ستونی) را مشخص کنید، Google Sheets INDEX رکوردی را از سلول مقصد برمیگرداند:
=INDEX(A1:C10, 7, 1)
از یکی از آن آرگومان ها بگذرید و تابع کل سطر یا ستون را مطابق با آن به شما می دهد:
=INDEX(A1:C10, 7)
نحوه استفاده از INDEX MATCH در Google Sheets — مثالهای فرمول
وقتی INDEX و MATCH با هم در صفحات گسترده استفاده میشوند، در قویترین حالت خود هستند. آنها می توانند کاملاً جایگزین Google Sheets VLOOKUP شوند و رکورد مورد نیاز را از جدولی بر اساس آن واکشی کنندارزش کلیدی شما.
اولین فرمول INDEX MATCH خود را برای Google Sheets بسازید
فرض کنید می خواهید اطلاعات موجودی کرن بری را از همان جدولی که در بالا استفاده کردم دریافت کنید. من فقط ستون های B و C را عوض کردم (شما کمی بعد متوجه خواهید شد که چرا).
- اکنون همه انواع توت ها در ستون C فهرست شده اند. عملکرد MATCH برگه های Google به شما کمک می کند تا ردیف دقیق آن را پیدا کنید. cranberry: 8
=MATCH("Cranberry", C1:C10, 0)
- کل فرمول MATCH را در یک آرگومان row در تابع INDEX قرار دهید:
=INDEX(A1:C10, MATCH("Cranberry", C1:C10, 0))
همچنین ببینید: تابع ISNUMBER اکسل با مثال های فرمولاین یکی تمام ردیف را با زغال اخته در آن برمی گرداند.
- اما از آنجایی که تنها چیزی که نیاز دارید اطلاعات سهام است، تعداد ستون جستجو را نیز مشخص کنید: 3
=INDEX(A1:C10, MATCH("Cranberry", C1:C10,0), 2)
- Voila !
- میتوانید جلوتر بروید و نشانگر ستون آخر را رها کنید ( 2 ). اگر فقط از ستون جستجو ( B1:B10 ) به جای کل جدول ( A1:C10 ) به عنوان اولین آرگومان استفاده کنید، اصلاً به آن نیاز نخواهید داشت:
=INDEX(B1:B10, MATCH("Cranberry", C1:C10, 0))
نکته. یک راه راحتتر برای بررسی در دسترس بودن انواع توتها، قرار دادن آنها در یک لیست کشویی ( E2 ) و ارجاع تابع MATCH به سلولی با آن لیست است:
=INDEX(B1:B10, MATCH(E2, C1:C10, 0))
هنگامی که توت را انتخاب کردید، مقدار مربوط به آن تغییر خواهد کرد:
چرا INDEX MATCH در کاربرگنگار Google بهتر از VLOOKUP است
از قبل میدانید که Google Sheets INDEX MATCH ارزش شما را در یک جدول جستجو میکند و رکورد مرتبط دیگری را از همان جدول برمیگرداند.ردیف و می دانید که Google Sheets VLOOKUP دقیقاً همین کار را انجام می دهد. پس چرا زحمت بکشید؟
موضوع این است که INDEX MATCH دارای مزایای عمده نسبت به VLOOKUP:
- سمت چپ جستجو امکان پذیر است . برای نشان دادن این مورد قبلاً جای ستونها را تغییر دادم: تابع INDEX MATCH در Google Sheets میتواند به سمت چپ ستون جستجو نگاه کند. VLOOKUP همیشه اولین ستون محدوده را جستجو می کند و به دنبال موارد منطبق در سمت راست آن می گردد - در غیر این صورت، فقط خطاهای #N/A دریافت می کند:
- بدون مشکل هنگام افزودن ستونهای جدید و جابجایی ستونهای موجود، ارجاع میشود. اگر ستونها را اضافه یا جابهجا کنید، INDEX MATCH تغییرات را بهطور خودکار و بدون دخالت در نتیجه منعکس میکند. از آنجایی که از ارجاعات ستونی استفاده میکنید، فوراً توسط کاربرگنگار Google تنظیم میشوند:
ادامه دهید و سعی کنید این کار را با VLOOKUP انجام دهید: به جای ارجاع سلول برای ستون جستجو، به شماره سفارش نیاز دارد. بنابراین، شما فقط مقدار اشتباه را دریافت می کنید زیرا ستون دیگری همان مکان را می گیرد - ستون 2 در مثال من:
- در صورت لزوم، حروف متن را در نظر می گیرد (در این راستا در زیر بیشتر می شود).
- می توان از آن برای جستجوی عمودی بر اساس معیارهای متعدد استفاده کرد.
از شما دعوت می کنم که نگاه کنید در دو نقطه آخر به تفصیل در زیر.
جستجوی حروف بزرگ و کوچک با INDEX MATCH در کاربرگنگار Google
INDEX MATCH زمانی که صحبت از حروف بزرگ به میان میآید، مورد استفاده قرار میگیرد.حساسیت.
فرض کنید همه انواع توت ها به دو صورت فروخته می شوند - شل (وزن شده در پیشخوان) و بسته بندی شده در جعبه. از این رو، دو مورد از هر توت در موارد مختلف در لیست نوشته شده است، هر کدام با شناسه خاص خود که در موارد نیز متفاوت است:
پس چگونه میتوانید به دنبال اطلاعات سهام یک توت فروخته شده به روش خاصی؟ VLOOKUP اولین نامی را که پیدا میکند برمیگرداند.
خوشبختانه، INDEX MATCH برای Google Sheets میتواند آن را به درستی انجام دهد. شما فقط باید از یک تابع اضافی استفاده کنید — FIND یا EXACT.
مثال 1. FIND برای Vlookup حساس به حروف کوچک و کوچک
FIND یک تابع حساس به حروف بزرگ در Google Sheets است که آن را عالی می کند برای جستجوی عمودی حساس به حروف کوچک و بزرگ:
=ArrayFormula(INDEX(B2:B19, MATCH(1, FIND(E2, C2:C19)), 0))
بیایید ببینیم در این فرمول چه اتفاقی می افتد:
- FIND ستون C را اسکن می کند ( C2:C19 ) برای رکورد از E2 ( گیلاس ) با توجه به حروف آن. پس از یافتن، فرمول آن سلول را با یک عدد علامت گذاری می کند — 1 .
- MATCH این علامت را جستجو می کند — 1 — در همان ستون ( C ) و شماره ردیف خود را به INDEX می دهد.
- INDEX به آن ردیف در ستون B ( B2:B19 ) پایین می آید و رکورد مورد نیاز را برای شما واکشی می کند.
- وقتی ساخت فرمول را تمام کردید، Ctrl+Shift+Enter را فشار دهید تا ArrayFormula در ابتدا اضافه شود. لازم است زیرا بدون آن FIND نمی تواند در آرایه ها (در بیش از یک سلول) جستجو کند. یا می توانید تایپ کنید' ArrayFormula ' از صفحه کلید خود.
مثال 2. EXACT برای Vlookup حساس به حروف کوچک و بزرگ
اگر FIND را با EXACT جایگزین کنید، دومی به دنبال رکوردها می گردد. دقیقاً با همان کاراکترها، از جمله حروف متنی آنها.
تنها تفاوت این است که EXACT یک تطابق را با TRUE به جای عدد 1 "علامت گذاری" می کند. بنابراین، اولین آرگومان برای MATCH باید TRUE :
=ArrayFormula(INDEX(B2:B19, MATCH(TRUE, EXACT(E2, C2:C19), 0)))
Google Sheets INDEX MATCH با چندین معیار باشد
اگر چندین شرط وجود داشته باشد که بر اساس آن می خواهید رکورد را دریافت کنید؟
بیایید قیمت گیلاس که در سطل PP فروخته می شود را بررسی کنیم. 2> و در حال حاضر در حال اتمام است :
من تمام معیارها را در لیست های کشویی در ستون F مرتب کردم. و آن Google Sheets INDEX است MATCH که چندین معیار را پشتیبانی می کند، نه VLOOKUP. فرمولی که باید استفاده کنید این است:
=ArrayFormula(INDEX(B2:B24, MATCH(CONCATENATE(F2:F4), A2:A24&C2:C24&D2:D24, 0),))
نترسید! :) منطق آن در واقع بسیار ساده است:
- CONCATENATE(F2:F4) هر سه رکورد از سلول ها را با معیارها در یک رشته مانند این ترکیب می کند:
CherryPP bucketRunning out
این یک search_key برای MATCH، یا به عبارت دیگر، چیزی است که شما در جدول به دنبال آن هستید.
- A2:A24&C2:C24&D2:D24 یک محدوده را برای تابع MATCH تشکیل می دهد که باید در آن بررسی شود. زیرا هر سه معیار در سه ستون جداگانه، به این ترتیب آنها را به نوعی ترکیب می کنید:
CherryCardboard سینی در انبار
CherryFilm بسته بندی در انبار موجود نیست
CherryPP سطل در حال تمام شدن
و غیره .
- آخرین آرگومان در MATCH — 0 — یافتن تطابق دقیق برای CherryPP bucketRunning out در میان تمام آن ردیفهای ستونهای ترکیبی را ممکن میسازد. همانطور که می بینید، در ردیف 3 قرار دارد.
- و سپس INDEX کار خود را انجام می دهد: رکورد را از ردیف سوم ستون B واکشی می کند.
- ArrayFormula برای اجازه دادن به سایر توابع استفاده می شود. با آرایه ها کار کنید.
نکته. اگر فرمول شما مطابقت پیدا نکند، یک خطا برمیگرداند. برای جلوگیری از آن، میتوانید کل این فرمول را در IFERROR بپیچید (آن را به عنوان اولین آرگومان تبدیل کنید) و هر آنچه را که میخواهید در یک سلول ببینید بهجای خطاها به عنوان آرگومان دوم وارد کنید:
=IFERROR(ArrayFormula(INDEX(B2:B27, MATCH(CONCATENATE(F2:F4), A2:A27&C2:C27&D2:D27, 0),)), "Not found")
جایگزین بهتری برای INDEX MATCH در برگههای Google — منطبقهای چندگانه VLOOKUP
هر تابع جستجویی که ترجیح میدهید، VLOOKUP یا INDEX MATCH، جایگزین بهتری برای هر دو وجود دارد.
چندین VLOOKUP Maches یک افزونه ویژه برای Google Sheets است که برای:
- جستجو بدون فرمول
- جستجو در همه جهات
- جستجو بر اساس شرایط مختلف برای انواع داده های مختلف طراحی شده است. : متن، اعداد، تاریخ، زمان، و غیره.
- چندین مطابق، به تعداد مورد نیاز خود را واکشی کنید (البته به شرطی که تعداد آنها در جدول شما وجود داشته باشد)
اینترفیس ساده است، بنابراین لازم نیست شک کنید که آیا این کار را انجام می دهید یا خیرهمه چیز به درستی:
- محدوده منبع را انتخاب کنید.
- تعداد مطابقت ها و ستون ها را تنظیم کنید.
- شرایط را با استفاده از عملگرهای از پیش تعریف شده تنظیم دقیق کنید ( حاوی، =، خالی نیست ، بین ، و غیره).
شما همچنین قادر خواهید بود:
- پیش نمایش نتیجه
- تصمیم بگیرید کجا قرار دهید
- و چگونه: به عنوان فرمول یا فقط مقادیر
این فرصت را برای بررسی افزونه از دست ندهید. ادامه دهید و آن را از Google Workspace Marketplace نصب کنید. صفحه آموزش آن هر گزینه را با جزئیات توضیح می دهد.
ویدئوی آموزشی ویژه ای هم آماده کردیم:
در نظرات زیر یا در مقاله بعدی شما را می بینیم ;)