در بین فرمول های موجود در اکسل فرمول index به واقع یکی از 5 فرمول برتر آن است ، این فرمول همه کاره ، قوی و هوشمند است گرچه در ظاهر ساده به نظر می رسد. این فرمول قادر است تغییر عمده ای در روش آنالیز داده ها و محاسبه اعداد به وجود آورد.
مفهوم فرمول:
به بیان ساده فرمول index فرمولی است که به شما ارزش یا رفرنس یک داده را در یک جدول یا محدوده باز می گرداند شاید در ظاهر این موضوع جزئی به نظر برسد اما اگر به طور کامل با کاربرد های آن آشنا شوید شگفت زده خواهید شد.
چند کابرد ساده از فرمول:
فرض کنید شما لیستی 8 تایی از اسامی دارید حال میخواهید بدانید هشتمین آیتم از این لیست چه نامی است ، کافی است فرمول زیر را بنویسید
=INDEX(list, 8)
=INDEX(list, 8,3)
فرمول index با دو ترکیب بکار می رود
INDEX(range or table, row number, column number)
INDEX(range, row number, column number, area number)
در این مثال ما از داده هایی به شرح جدول زیر با نام List استفاده خواهیم کرد

دلیل اول : بدست آوردن n امین داده
این فرمول بهترین و ساده ترین فرمول برای این کار است کافیست بنویسیم:
=index(list;n)
در صورتی که بخواهید به داده ای که n امین ردیف و m امین ستون قرار دارد برسید کافیست فرمول زیر را بنویسید:
=index(list;n;m)
گاهی شما می خواهید اطلاعاتی از کل یک جدول یا ستونی از یک جدول بدست آورید مثلا متوسط سن افراد شما می توانید از فرمول زیر استفاده کنید:
=average(age column)
=average(index(list; ;5))
دلیل چهارم: جستجو به سمت چپ
می دانیم که استفاده از فرمول vlookup امکان جستجو در خلاف جهت را به ما نمی دهد اما با ترکیب فرمول های index&match می توان به این مشکل فائق آمد ، در مثال فوق می خواهیم بدانیم کدام فرد سنگین ترین وزن را دارد.
=INDEX(List[F-Name];MATCH(MAX(List[weight]);List[weight];0);1)
دلیل پنجم: ایجاد محدوده داینامیک
تا کنون با برخی از توانایی های تابع index آشنا شده اید که به نظر ساده بوده است ، حال به برخی کاربرد ها پیچیده تر این تابع می پردازیم ، توانایی واقعی index در ماهیت آن نهفته است شما در ظاهر می بینید که index مقداری را نمایش می دهد اما در واقع این تابع شما را به سلولی که حاوی آن مقدار است ارجاع می دهد به عنوان مثال وقتی می نویسد index(list;8) شما 8 امین مقدار از لیست را می بینید اما در واقع شما به سلول حاوی هشتمین مقدار ارجاع داده شده اید پس حاصل این تابع یک ارجاع است و هرگاه شما نیاز به ارجاعی داشته باشید می توانید از تابع استفاده کنید .
کمی گیج کننده است ، با مثال هایی به شرح موضوع می پردازیم :
شما وقتی می خواهید ناحیه ای مانند A1:A10 را جمع بزنید از sum(A1:A10) استفاده میکنید در این فرمول a1 , a10 رفرنس هستند حال به این فرمول توجه کنید :
=sum(A1:index(A1:A50;10))
مثال1 : متوسط قد X نفر اول :
فرض کنید می خواهید متوسط قد x نفر اول افراد لیست را بیابید ، x عددی متغیر است در این صورت فرمول زیر را خواهیم داشت:
=AVERAGEA(G4:INDEX(List[length];K7))
گاهی شما میخواهید متوسط قد همه افراد لیست را داشته باشید اما نمیدانید این افراد چند نفر هستند در این صورت هر بار که داده ای اضافه می شود باید فرمول ها را بروز کنید اما چگونه می توان از فرمول های خودکار استفاده کرد، یکی از راه ها استفاده از فرمول offset است :
=offset(A1;0;0;counta(A:A);1)
=A1:index(A:A;counta(A:A))
دلیل ششم : ارجاع به محدوده خاصی از چندین محدوده
سه لیست یا محدوده مجزا دارید list1,list2,list3 میخواهیم متوسط داده های این سه لیست را بدست آوریم لذا از ترکیب دوم تایع index استفاده مکنیم

=AVERAGE(INDEX((list1;list2;list3);;;D2))
(list1;list2;list3) نشان دهنده کل محدوه ها و d2 نشانگر شماره محدوده مورد نظر است.
دلیل هفتم : تابع index می تواند آرایه ها را پردازش کند
ماهیت تابع index به گونه ای است که بدون استفاده از CTRL+SHIFT+ENTER داده های آرایه ای را پردازش کند ، به عنوان مثال شما می توانید متوسط سنی افرادی که نام آنها با حرف F شروع شده بیایبد
=SUM(INDEX(((LEFT(List[F-Name];1))="F")*(List[Age]);0))
همانطور که دیدید تابع index کاربرد های متفاوت و سودمندی دارد ، ممکن است شما از این تابع به نحو دیگری استفاده کرده باشید که برای غنای این مطلب لطفا مطرح کنید.


کامنت