تابع INDEX از توابع جستجو (Lookup & Reference) بوده و مقداری را در مختصاتی معین بر اساس شماره ردیف و ستون در یک محدوده یا آرایه برمیگرداند. اغلب، INDEX با تابع MATCH ترکیب میشود تا مقداری را در یک موقعیت منطبق بازیابی کند.
هدف تابع
نمایش مقدار بر اساس موقعیت
خروجی
مقدار در مختصاتی معین
ساختار
=INDEX(array,row_num,[column_num]) =INDEX(reference,row_num,[column_num],[area_num])
آرگومانها
نوع اول
array: محدوده یا آرایه.
row_num: موقعیت ردیف در مرجع یا آرایه.
column_num [اختیاری]: موقعیت ستون در مرجع یا آرایه.
نوع دوم
reference: محدودهها.
row_num: موقعیت ردیف در مرجع یا آرایه.
column_num [اختیاری]: موقعیت ستون در مرجع یا آرایه.
area_num [اختیاری]: شماره مرجع موردنظر.
کاربرد
تابع INDEX مقداری را طبق مختصاتی که به آن میدهیم بازمیگرداند. بطور مثال میخواهیم نرخ کد ۱۰۳ را جستجو کنیم. چون کد ۱۰۳ در ردیف ۴ و نرخها در ستون سوم قرار دارند، فرمول را به شکل زیر مینویسیم:
=INDEX(B5:D11,4,3)
ترجمه: مقدار ردیف چهارم و ستون سوم را در محدوده B5 تا D11 پیدا کن.
INDEX در محدوده یک بعدی
زمانی که محدوده تک بعدی باشد، نیازی به آرگومان سوم (column_num) نخواهیم داشت و آرگومان دوم تغییر کاربری میدهد.
در واقع، زمانیکه آرگومان سوم وارد نشود، دیگر آرگومان دوم به معنای شماره ردیف نمیباشد؛ بلکه نشاندهنده شماره داده است (مفهوم هر سه فرمول تصویر این است که سومین داده محدوده/آرایه را برگردان).
استخراج ردیف/ستون
با استفاده از تابع INDEX میتوان ردیف یا ستونی را بازگرداند. برای اینکار باید فرمول را بصورت زیر نوشت:
=INDEX(range,n,0) ---> برای استخراج ردیف =INDEX(range,0,n) ---> برای استخراج ستون
*در نسخههای قبل از اکسل 2021، برای تایید فرمولهای آرایهای باید از کلیدهای ترکیبی ctrl+shift+enter استفاده نمود.
کاربرد نوع دوم INDEX
نوع دوم تابع INDEX زمانی کاربرد دارد که بیش از یک محدوده برای جستجو داشته باشیم. تفاوت این دو، در آرگومان چهارم است که در آن مشخص میشود کدام محدوده مدنظر میباشد.
در مثال فوق، دو محدوده B2 تا C8 و D2 تا D8 داریم که برای یافتن کد و نرخ، فرمولهای زیر را مینویسیم:
=INDEX((B2:C8,D2:D8),2,1,1)
ترجمه: تقاطع ردیف دوم و ستون اول را در محدوده اول بازگردان.
=INDEX((B2:C8,D2:D8),2,,2)
ترجمه: ردیف دوم محدوده دوم را بازگردان.
*محدودهها باید در داخل پرانتز قرار گیرند و با کاما (,) جدا شوند.
*محدودهها باید در یک شیت قرار داشته باشند وگرنه با خطای #VALUE! مواجه خواهید شد.
حالتهای فوق بخاطر دستی بودن مختصات، کاربرد محدودی دارند و معمولا تابع MATCH در داخل INDEX برای ایجاد مختصاتی پویا استفاده میشود.
ترکیب توابع MATCH و INDEX
اغلب تابع MATCH با INDEX ترکیب شده تا یک مقدار را در موقعیتی خاص (منطبق) بازگرداند. به عبارت دیگر، MATCH موقعیت را مشخص میکند و INDEX مقدار آن موقعیت را نشان میدهد. برای مثال فرض کنید میخواهیم با استفاده از کد کالا، نام آن را برگردانیم:
=INDEX(C3:C7,MATCH(E3,B3:B7,0))
ترجمه: مقدار سلول E3 را در محدوده B3 تا B7 پیدا کن و مقدار متناظر آن را در محدوده C3 الی C7 برگردان.
ورژن مورد نیاز
اکسل ۲۰۰۳ و بالاتر
پینوشت
*از تابع INDEX میتوان در ساخت محدودههای پویا استفاده نمود.
*خروجی INDEX بهصورت رفرنس بوده که میتوان در توابعی چون CELL ،OFFSET و … استفاده نمود.