تابع INDEX مقداری که در تقاطع شماره سطر و شماره ستون قرار گرفته است را برمیگرداند. این تابع به تنهایی کارایی زیادی ندارد اما به هنگام ترکیب آن با تابع MATCH میتوانید بهترین جایگزین برای تابع VLOOKUP در نسخههای آفیس قبل 2021 باشد زیرا در نسخه 2021 اکسل تابعی با عنوان XLOOKUP جایگزین توابع VLOOKUP و ترکیب توابع MATCH و INDEX گردید. برای آموزش تابع ایندکس در اکسل با سید علی ابراهیمی همراه باشید !
نرم افزار اکسل چیست؟
وقتی صحبت از اکسل میشود اولین سوالی که در ذهن شکل میگیرد این است که برنامه اکسل چیست و چه کاربردی دارد؟ هرچند در مقالات قبلی نرم افزار اکسل را کاملا معرفی کرده ایم، اما برای آشنایی با محیط نرم افزار اکسل می بایست اشاره کوچکی به ماهیت این برنامه داشته باشیم.
در ابتدا باید بدانید که Excel یک نرم افزار صفحه گسترده (Spreadsheets) و جزء نرمافزارهای گروه Office است. از نرم افزار اکسل برای محاسبات ریاضی، آماری و نمودار کشی استفاده میشود. برای یادگیری این نرم افزار، کاربران محترم باید آشنایی مقدماتی با محیط ویندوز داشته باشند.
تابع ایندکس اکسل چیست ؟ معرفی تابع INDEX
تابع INDEX در اکسل مقدار موجود در یک محدوده مشخص را برمیگرداند. این تابع در دسته توابع جستجو و مرجع (Lookup & Reference) قرار دارد. تابع INDEX اغلب با تابع MATCH استفاده میشود. به این صورت که تابع MATCH موقعیت یک مقدار را برای تابع INDEX پیدا میکند و سپس تابع INDEX مقدار موردنظر را برمیگرداند. این یک روش جایگزین برای استفاده از تابع VLOOKUP است. شما زمانی از تابع INDEX استفاده میکنید که موقعیت یک مقدار را در یک محدوده میدانید (یا میتوانید با استفاده از تابع MATCH محاسبه کنید) و میخواهید مقدار آن را بدست آورید.
آرگومان اول (array)
این آرگومان یک آرایه یا یک محدوده ای از سلول هایی است که میخواهیم مورد جستجو قرار گیرد. در این نمونه می توانیم کل جدول را انتخاب کنیم؛ یعنی به صورت A:D و یا محدوده داده ها را به صورت A2:D8 انتخاب کنیم.
نکته: در ورودی فرمول های اکسل هرجا کلمه array درج شده بود بدین معنی است که باید محدوده پیوسته وارد کنید و وارد کردن محدوده های ناپیوسته مجاز نیست.
آرگومان دوم (row_num)
این پارامتر تعیین کننده شماره ردیفی است که می خواهیم خروجی فرمول از آنجا صورت گیرد.
آرگومان سوم (column_num)
این مورد نشان دهنده شماره ستون در آرایه ای است که می خواهید مقدار مورد نظر از آن برگردانده شود.
آرگومان چهارم (area_num)
یک پارامتر اختیاری است که نشان می دهد کدام محدوده از پارامتر Reference می بایست به کار گرفته شود. در صورتی که از فرمول حذف شود، فرمول Index نتایج را بر اساس اولین محدوده در پارامتر Reference برمی گرداند.
ساختار تابع INDEX در اکسل
برای تابع INDEX دو قالب وجود دارد:
- قالب آرایه (Array Format)
- قالب مرجع (Reference Format)
قالب مرجع (Reference Format)
قالب مرجع زمانی استفاده میشود که بخواهیم مقدار یک سلول را با انتخاب چند محدوده مشخص شده، پیدا کنیم.ساختار تابع INDEX با قالب مرجع به شکل زیر است:
INDEX(reference, row_num, [column_num], [area_num])
- Reference: محدودههای موردنظر را در این قسمت وارد کنید. محدودهها باید با علامت کاما از هم جدا شوند و توسط پرانتزها محصور شوند.
- Row_num: شماره ردیف موردنظر را در این قسمت وارد کنید.
- Column_num: شماره ستون موردنظر را در این قسمت وارد کنید.
- Area_num: اگر چند محدوده در قسمت Reference انتخاب کرده باشید، در این قسمت باید یک محدوده را انتخاب کنید. محدودهها به ترتیب انتخابشدن شمارهگذاری میشوند. اگر در این قسمت چیزی تایپ نکنید، تابع از اولین محدوده استفاده میکند.
نکته: آرگومانهای اول و دوم ضروری و آرگومانهای سوم و چهارم اختیاری هستند.
چند نکته درباره تابع INDEX
- زمانی که مقدار هر یک از آرگومانهای row_num ، column_num و area_num غیر عددی باشند، تابع INDEX خطای #NAME? را برمیگرداند.
- زمانی که مقدار آرگومان row_num، از تعداد ردیفهای موجود در محدوده معین یا مقدار آرگومان Column_num از تعداد ستونهای موجود در محدوده معین یا مقدار آرگومان Area_num از تعداد محدودههای انتخاب شده بیشتر باشند، تابع INDEX خطای #REF! را برمیگرداند.
- اگر محدوده شما دارای یک ردیف باشد، میتوانید در قسمت Row_num مقداری وارد نکنید.
- اگر محدوده شما دارای یک ستون باشد، میتوانید در قسمت Column_num مقداری وارد نکنید.
- مقدار آرگومانهای Row_num و Column_num باید به سلولهای موجود در محدوده اشاره کنند، در غیر این صورت تابع INDEX خطای #REF! را برمیگرداند.
تابع INDEX با بیش از یک شرط
فرض کنید که بخواهیم میزان فروش را بر اساس کد پرسنلی انتخاب شده و ماه انتخاب شده به دست آوریم. یعنی فرض بر این است که در I3 کد پرسنلی وارد می شود و در J3 هم نام ماه که هر دو احتمال دارد تغییر کنند و باید میزان فروش بر اساس این دو شرط نمایش داده شود .
=INDEX(E3:G8,MATCH(I3,C3:C8,0),MATCH(J3,E2:G2,0))
تابع INDEX با بیش از یک شرط
فرض کنید که بخواهیم میزان فروش را بر اساس کد پرسنلی انتخاب شده و ماه انتخاب شده به دست آوریم. یعنی فرض بر این است که در I3 کد پرسنلی وارد می شود و در J3 هم نام ماه که هر دو احتمال دارد تغییر کنند و باید میزان فروش بر اساس این دو شرط نمایش داده شود .
=INDEX(E3:G8,MATCH(I3,C3:C8,0),MATCH(J3,E2:G2,0))
آیا همیشه می توان به جای VLOOKUP از INDEX استفاده کرد؟
از آنجا که تابع VLOOKUP دارای ضرافتهای خاص خود هست ، پیشنهاد می شود و می توانید همیشه به جای VLOOKUP از INDEX استفاده کنید .
سرعت محاسبات با کدام تابع بالاتر است ؟
این پرسشی است که برای به دست آوردن پاسخ آن باید از داده های حجیم استفاده نمود در حالت عادی ، تفاوتی مشاهده نمی شود.
آیا تایع INDEX اکسل باید همیشه با MATCH استفاده شود؟
البته که خیر شما می توانید مقادیر آرگومان دوم و سوم را به صورت دستی وارد کنید و یا از نتیجه هر تابعی که خروجی عددی دارد استفاده نمائید ، که یکی از آن توابع MATCH می باشد .
بررسی خطاهای تابع ایندکس
اگر آرگومانهای دوم یا سوم یا چهارم غیر عددی باشند، خطای #VALUE بوجود خواهد آمد.
آرگومان اول غیر از محدوده یا آرایه باشد باز هم خطای #VALUE بوجود خواهد آمد.
اگر عدد وارد شده بهعنوان شماره ردیف یا ستون بزرگتر از محدوده مرجع (آرگومان اول) باشد، خطای #REF رخ خواهد داد.
اگر محدودههای تعریف شده در آرگومان اول در یک شیت نباشند با خطای #VALUE مواجه میشویم.