تابع INDEX در اکسل مقدار موجود در یک محدوده مشخص را برمیگرداند. این تابع در دسته توابع جستجو و مرجع (Lookup & Reference) قرار دارد. تابع INDEX اغلب با تابع MATCH استفاده میشود. به این صورت که تابع MATCH موقعیت یک مقدار را برای تابع INDEX پیدا میکند و سپس تابع INDEX مقدار موردنظر را برمیگرداند. این یک روش جایگزین برای استفاده از تابع VLOOKUP است. شما زمانی از تابع INDEX استفاده میکنید که موقعیت یک مقدار را در یک محدوده میدانید (یا میتوانید با استفاده از تابع MATCH محاسبه کنید) و میخواهید مقدار آن را بدست آورید.
ساختار تابع INDEX در اکسل
برای تابع INDEX دو قالب وجود دارد:
- قالب آرایه (Array Format)
- قالب مرجع (Reference Format)
۱- قالب آرایه (Array Frmat)
قالب آرایه زمانی استفاده میشود که بخواهیم مقدار یک سلول را در یک محدوده مشخص شده، پیدا کنیم. ساختار تابع INDEX با قالب آرایه به شکل زیر است:
INDEX(array, row_num, [column,_num])
آرگومانهای این قالب عبارتند از:
- Array: محدوده موردنظر را در این قسمت وارد کنید.
- Row_num: شماره ردیف مورد نظر را در این قسمت وارد کنید.
- Column_num: شماره ستون موردنظر را در این قسمت وارد کنید.
نکته: آرگومانهای اول و دوم ضروری هستند و آرگومان سوم اختیاری است.
۲- قالب مرجع (Reference Format)
قالب مرجع زمانی استفاده میشود که بخواهیم مقدار یک سلول را با انتخاب چند محدوده مشخص شده، پیدا کنیم.ساختار تابع INDEX با قالب مرجع به شکل زیر است:
INDEX(reference, row_num, [column_num], [area_num])
- Reference: محدودههای موردنظر را در این قسمت وارد کنید. محدودهها باید با علامت کاما از هم جدا شوند و توسط پرانتزها محصور شوند.
- Row_num: شماره ردیف موردنظر را در این قسمت وارد کنید.
- Column_num: شماره ستون موردنظر را در این قسمت وارد کنید.
- Area_num: اگر چند محدوده در قسمت Reference انتخاب کرده باشید، در این قسمت باید یک محدوده را انتخاب کنید. محدودهها به ترتیب انتخابشدن شمارهگذاری میشوند. اگر در این قسمت چیزی تایپ نکنید، تابع از اولین محدوده استفاده میکند.
نکته: آرگومانهای اول و دوم ضروری و آرگومانهای سوم و چهارم اختیاری هستند.
مثال ۱: عملکرد تابع INDEX با استفاده از قالب آرایه
فرض کنید شما یک مربی ورزشی هستید و در یک فایل اکسل قد و وزن ورزشکاران خود را وارد کردهاید.
حالا میخواهید وزن “جواد عرفانی” را پیدا کنید. برای این کار روی سلول نتیجه (E2) کلیک کنید. سپس در نوار فرمول نرمافزار روی Fx کلیک کنید (یا اینکه کلیدهای Shift+F3 را فشار دهید.)
پنجره Inert Function باز میشود. از دسته توابع جستجو و مرجع (Lookup & Reference) تابع INDEX را انتخاب کنید و روی OK کلیک کنید.
پنجره Select Arguments باز میشود. گزینه اول (قالب آرایه) را انتخاب و سپس روی OK کلیک کنید.
پنجره Function Argumentes باز میشود. در کادر Array کلیک کرده و محدوده موردنظر (A2:C8) را انتخاب کنید. سپس در کادر Row_num کلیک کرده و عدد ۴ را انتخاب کنید. حالا در کادر Column_num کلیک کرده و عدد ۳ را انتخاب کنید. در نهایت روی OK کلیک کنید.
مثال ۲: عملکرد تابع INDEX با استفاده از قالب مرجع
فرض کنید میخواهید وزن ” جواد عرفانی” را با انتخاب چند محدوده به دست آورید. برای این کار روی سلول نتیجه (E2) کلیک کنید. سپس در نوار فرمول نرمافزار روی Fx کلیک کنید (یا اینکه کلیدهای Shift+F3 را فشار دهید.)
پنجره Inert Function باز میشود. از دسته توابع جستجو و مرجع (Lookup & Reference) تابع INDEX را انتخاب کنید و روی OK کلیک کنید.
پنجره Select Arguments باز میشود. گزینه دوم (قالب مرجع) را انتخاب و سپس روی OK کلیک کنید.
پنجره Function Argumentes باز میشود. در کادر Reference کلیک کرده و محدودههای موردنظر را تایپ کنید. توجه داشته باشید که محدودهها با علامت کاما از هم جدا شوند و سپس تمام محدودهها در پرانتز محصور شوند (A2:C3,A5:C8). سپس در کادر Row_num کلیک کرده و عدد ۱ را تایپ کنید. حالا در کادر Column_num کلیک کرده و عدد ۳ را تایپ کنید. حالا در کادر Area_num کلیک کرده و عدد ۲ را تایپ کنید. در نهایت روی OK کلیک کنید.
مثال ۳: ترکیب دو تابع INDEX و MATCH در اکسل
فرض کنید در یک فایل اکسل در ستون A نام کشورها و در ستون B رتبه موفقیت آنها در انجام امور تجاری را وارد کردهاید. حالا میخواهید رتبه کشور “سودان” را بدانید. برای این کار فرمول زیر را در سلول نتیجه (D2) تایپ کنید.
INDEX(B2:B9,MATCH(“سودان”,A2:A9,0))
در فرمول بالا ابتدا تابع MATCH موقعیت یک سلول را بر اساس شماره ستون و ردیف برمیگرداند. سپس تابع INDEX مقدار سلول را در یک جدول بر اساس شماره ستون و ردیف برمیگرداند.
نتیجه را در تصویر زیر ببینید:
چند نکته درباره تابع 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 در اکسل و برخی نکات مربوط به آن را توضیح دادیم. گفتیم ترکیب توابع MATCH و INDEX میتواند جایگزین تابع VLOOKUP باشد. در آموزش بعدی نحوه عملکرد تابع VLOOKUP را توضیح خواهیم داد.
بسيار عالي استفاده كردم
خوشحالم که این مطلب برای شما کاربردی بوده. موفق باشید.
ممنون انشالله همیشه زنده وتندرست بمانی
بسيار شيوا و با بياني ساده توضيح ميدهيد
ممنون از شما
خواهش می کنم. بازخوردهای مثبت شما انگیزه ما را در ادامه دادن این مسیر چندبرابر می کند. موفق باشید
مررررسی بسیاااار عاااالی توضیح دادید ممنونمممم
خواهش می کنم. خوشحالم که این آموزش برای شما مفید بوده. ممنونم از همراهی شما.
کارت درسته هما خانم، زنده باشی، دمت گرم
سلامت باشید. ممنونم. موفق باشید.
با سلام
من یه اکسل دارم که شامل تعدادی کالا و موجودی آنها در تاریخهای مختلف است(کالای تکراری و تاریخهای تکراری-ولی برای هر کالا هر تاریخ یکبار ثبت میشود و تاریخها به ترتیب است)میخواهم آخرین باری که موجودی یک کالا صفر شده است را پیدا کند.ممنون میشم راهنمایی کنید
سلام
ممنون از آموزشتون
فقط بجای این فرمول میتوان از SUMIF یا SUMIFS استفاده کرد به نظر من البته
با هم ممنون
سلام.
من در یک ستون تعدادی عدد دارم میخواهم میانگین ۲ عدد اول که مقدارآن ها بزرگتر از ۱۰۰ است را پیداکنم.مثل زیر
۲۰
۳۰
۱۰۰
۲۰۰
۸۰
۳۰۰
سلام. باید از میانگین چند شرطی استفاده کنین. آموزش آموزش تابع AVERAGEIFS در اکسل – میانگین چند شرطی را مطالعه کنید.
سلام و عرض ادب قسمت مارچ رو متاسفانه نفهمیدم
سلام. آموزش تابع MATCH در اکسل – یافتن موقعیت یک مقدار رو مطالعه بفرمایید.
سلام میخواستم بپرسم با چه تابعی در اکسل میشه گفت(در این جدول این سلول که بهت دادم و پیدا کن و،۲سلول یا ۳ سلول سمت راستش بهم بده یا سمت چپ )تشکر از سایت مفیدتون
سلام. با استفاده از تابع offset می تونین این کار رو انجام بدین. مقاله آموزش تابع OFFSET در اکسل – حرکت به سوی مقصد رو مطالعه بفرمایید. موفق باشید. ممنونم از همراهی شما.
با سلام و عرضادب خدمت استاد ارجمند .مطالب آموزشی شما رو با دقت دنبال میکنم. سوال من این هست:
من یک لیست از کارها رو در یک جدول دارم و میخوام بصورت روزانه و به مدت یکماه مقادیری رو تحت عنوان عملکرد در آن مورد در مقابل آن درج کنم.یعنی از جدول موضوع خاصی را پیدا کرده و مقدار ی رو در تاریخ مشخصی برای آن درج کنم.از چه فرمولی میشه استفاده کرد .سپاسگذارم
سلام خانم زارعی
۲ تا سوال داشتم
۱-چطور میتونم آخرین قیمت خرید هر کالا در لیست خرید با افزایش درصدی در فاکتور فروش لحاظ کنم؟
۲-مقدار موجودی در انبار چطور میتوان در فاکتور فروش مشاهده کرد و وقتی که موجودی کم یا اصلا نبود بما آلارم بدهد؟
خانم زارعی میشه لطفا راهنمایی بفرمایید مشکلمو چطور حل کنم
هر خونه ی اکسل از یه حرف و یه عدد تشکیل شده برای آدرس دهی مثلا b12
حالا فرض بفرمایید این قسمت عددی ش رو بخایم از یه خونه ی دیگه ای که کاربر وارد کرده برداریم
مثلا توی خونه ی a2 جاییه که کاربر یه عدد وارد میکنه ؛ توی فرمول هم قراره یه خونه تو ستون b مشخص بشه که شماره ردیف این خونه میشه شماره ای که کاربر توی خونه ی a2 وارد کرده ، مثلا کاربر عدد ۲۵ رو تو خونه a2 وارد کرده و طبق چیزی که عرض کردم باید خروجی بشه b25
حالا میخاستم ببینم چه چیزی باید نوشته بشه که این اندیس b از خونه a2 خونده بشه
یک دنیا ممنون و متشکر
با سلام
من یه جدولی دارم که میخوام به صورت داینامیک تمامی اطلاعات اون به یک جدول دیگه منتقل بشه به صورت پشت سر هم و هر وقت در جدول اصلی ستون های من تغییر کرد در جدول گزارش نیز تغییرات اعمال بشه. به عنوان مثال جدول پایه من از A1 تا L200 هست و در هر ستون تعدادی ردیف پر شده یعنی ستون A من ۲۰ تا و بعدی ۵ تا و بعدی ۸ تا و همین طور تا ستون اخر جدول. با چه فرمولی میتونم دادهای این ستون ها رو پشت سر هم بزارم با این شرط که هر وقت هر کدوم از ستون ها دادهی ضافه شد به لیست جدید من بصورت پشت سر هم اضافه بشه.
لطفا راهنمایی بفرمایید
خانم زارع
تشکر سپاس از لطف شما بابت آموزش .
موفق باشید .
خواهش میکنم. موفق باشید.
با سلام . اگر در ستونی A:A چند اسم مشابه بود و در ستون B هر کدام عددی متفاوت داشتند که ممکن است برای برخی هم مشابه وجود داشته باشد . چگونه می توان در ستون C نام های مشابه را با فرمول و در ستون D عدد آنها را فراخوان کرد که با وجود تشابه همه آنها فرخوان شوند . در صورتی که برای فراخوان اولین مشخصات تشابه دار بجای سایر نام ها می آید
با سلام و عرض ادب
من میخواستم از تابع Multiple index match استفاده کنم. همانگونه که مستحضرید در نوشتن match های داخل پرانتز از علامت = استفاده میشود. آیا روشی هست که بشه از علامتهای نیز استفاده بشه ؟ ممنون از لطف شما.