فهرست مطالب
در این آموزش، تعدادی نمونه فرمول را خواهید یافت که کارآمدترین کاربردهای INDEX را در اکسل نشان میدهد. INDEX قطعاً جایی در بین 10 رتبه برتر خواهد بود. در عین حال، این تابع هوشمند، انعطاف پذیر و همه کاره است.
بنابراین، تابع INDEX در اکسل چیست؟ اساسا، یک فرمول INDEX یک مرجع سلولی را از داخل یک آرایه یا محدوده معین برمی گرداند. به عبارت دیگر، زمانی که موقعیت یک عنصر را در یک محدوده می دانید (یا می توانید محاسبه کنید) و می خواهید مقدار واقعی آن عنصر را به دست آورید، از INDEX استفاده می کنید.
این ممکن است کمی پیش پا افتاده به نظر برسد، اما یک بار شما به پتانسیل واقعی تابع INDEX پی می برید، می تواند تغییرات اساسی در نحوه محاسبه، تجزیه و تحلیل و ارائه داده ها در کاربرگ های شما ایجاد کند.
عملکرد اکسل INDEX - نحو و کاربردهای اساسی
دو نسخه از تابع INDEX در اکسل وجود دارد - فرم آرایه و فرم مرجع. هر دو فرم را می توان در همه نسخه های Microsoft Excel 365 - 2003 استفاده کرد.
فرم آرایه INDEX
فرم آرایه INDEX مقدار عنصر خاصی را در یک محدوده یا آرایه بر اساس ردیف برمی گرداند. و اعداد ستونی که شما مشخص می کنید.
INDEX(آرایه، ردیف_تعداد، [column_num])- آرایه - محدوده ای از سلول ها، محدوده نام گذاری شده، یا جدول است.
- row_num - شماره ردیف در آرایه است که از آن مقداری را برمی گرداند. اگر row_num باشدیک مقدار را برمی گرداند، اما در این فرمول، عملگر مرجع (:) آن را مجبور می کند که یک مرجع را برگرداند. و چون $A$1 نقطه شروع ما است، نتیجه نهایی فرمول محدوده $A$1:$A$9 است.
تصویر صفحه زیر نشان می دهد که چگونه می توانید از چنین فرمول Index برای ایجاد یک drop- پویا استفاده کنید. فهرست پایین.
نکته. ساده ترین راه برای ایجاد یک لیست کشویی به روز شده پویا، ایجاد یک لیست نامگذاری شده بر اساس جدول است. در این مورد، به هیچ فرمول پیچیده ای نیاز نخواهید داشت زیرا جداول اکسل به خودی خود محدوده های پویا هستند.
شما همچنین می توانید از تابع INDEX برای ایجاد لیست های کشویی وابسته استفاده کنید و آموزش زیر مراحل را توضیح می دهد: ساخت یک لیست کشویی آبشاری در اکسل.
5. Vlookups قدرتمند با INDEX / MATCH
انجام جستجوهای عمودی - اینجاست که عملکرد INDEX واقعاً می درخشد. اگر تا به حال استفاده از تابع Excel VLOOKUP را امتحان کرده اید، به خوبی از محدودیت های متعدد آن آگاه هستید، مانند عدم توانایی در کشیدن مقادیر از ستون ها در سمت چپ ستون جستجو یا محدودیت 255 کاراکتر برای یک مقدار جستجو.
رابط INDEX / MATCH از بسیاری جهات برتر از VLOOKUP است:
- هیچ مشکلی در vlookups سمت چپ وجود ندارد.
- بدون محدودیت برای اندازه مقدار جستجو.
- بدون مرتب سازی لازم است (VLOOKUP با تطابق تقریبی نیاز به مرتب سازی ستون جستجو به ترتیب صعودی دارد).
- شما آزاد هستید که بدون به روز رسانی، ستون ها را در جدول درج و حذف کنید.هر فرمول مرتبط.
- و آخرین اما نه کم اهمیت ترین، INDEX / MATCH سرعت اکسل شما را مانند چندین Vlookup کند نمی کند.
شما از INDEX / MATCH به روش زیر استفاده می کنید :
=INDEX ( ستون برای برگرداندن مقدار از ، (MATCH ( مقدار جستجوی ، ستون برای جستجو در برابر ، 0))برای به عنوان مثال، اگر جدول منبع خود را طوری برگردانیم که نام سیاره به سمت راست ترین ستون تبدیل شود، فرمول INDEX / MATCH همچنان یک مقدار منطبق را از ستون سمت چپ بدون هیچ مشکلی دریافت می کند.
برای نکات بیشتر و مثال فرمول، لطفاً به آموزش اکسل INDEX / MATCH مراجعه کنید.
6. فرمول Excel INDEX برای دریافت 1 محدوده از لیست محدوده ها
یکی دیگر از استفاده هوشمندانه و قدرتمند از تابع INDEX در اکسل، توانایی دریافت یک محدوده از لیست محدوده ها است.
فرض کنید، شما چندین لیست با تعداد آیتم های مختلف در هر کدام دارید. باور کنید یا نه، شما می توانید میانگین را محاسبه کنید یا مقادیر را در هر محدوده انتخابی با یک فرمول واحد جمع کنید.
در ابتدا، شما ایجاد می کنید e یک محدوده نامگذاری شده برای هر لیست. بگذارید در این مثال PlanetsD و MoonsD باشد:
امیدوارم تصویر بالا دلیل نام دامنه ها را توضیح دهد. : ) BTW، جدول قمر هنوز کامل نشده است، 176 قمر طبیعی شناخته شده در منظومه شمسی ما وجود دارد، مشتری به تنهایی 63 قمر در حال حاضر دارد و در حال افزایش است. برای این مثال، من 11 تصادفی را انتخاب کردم، خوب... شاید کاملاً تصادفی نباشد -قمرهایی با زیباترین نام ها : )
لطفاً انحراف را ببخشید، به فرمول INDEX ما برگردید. با فرض اینکه PlanetsD محدوده 1 شما باشد و MoonsD محدوده 2 باشد، و سلول B1 جایی است که عدد محدوده را قرار می دهید، می توانید از فرمول Index زیر برای محاسبه میانگین مقادیر استفاده کنید. محدوده انتخاب شده با نام:
=AVERAGE(INDEX((PlanetsD, MoonsD), , , B1))
لطفا توجه داشته باشید که اکنون از فرم مرجع تابع INDEX استفاده می کنیم و عدد موجود در آخرین آرگومان (area_num) فرمول را نشان می دهد که کدام محدوده باید انتخاب کنید.
در تصویر زیر، area_num (سلول B1) روی 2 تنظیم شده است، بنابراین فرمول میانگین قطر Moons را محاسبه می کند زیرا محدوده MoonsD در رتبه دوم قرار می گیرد. در آرگومان مرجع.
اگر با چندین لیست کار می کنید و نمی خواهید به خاطر سپردن اعداد مرتبط به زحمت بیفتید، می توانید از یک تابع IF تودرتو برای انجام این کار برای شما استفاده کنید. :
=AVERAGE(INDEX((PlanetsD, MoonsD), , , IF(B1="planets", 1, IF(B1="moons", 2))))
در تابع IF، از برخی از نامهای فهرست ساده و آسان برای به خاطر سپردن استفاده میکنید که میخواهید کاربران شما به جای اعداد در سلول B1 تایپ کنند. لطفاً این را در نظر داشته باشید، برای اینکه فرمول به درستی کار کند، متن B1 باید دقیقاً مشابه پارامترهای IF باشد (بدون حروف بزرگ)، در غیر این صورت فرمول Index شما خطای #VALUE را ایجاد می کند.
برای کاربرپسندتر کردن فرمول، می توانید از Data Validation برای ایجاد یک لیست کشویی با نام های از پیش تعریف شده استفاده کنید تا از اشتباهات املایی و املایی جلوگیری کنید.اشتباه چاپ:
در نهایت، برای اینکه فرمول INDEX خود را کاملاً کامل کنید، می توانید آن را در تابع IFERROR قرار دهید که از کاربر می خواهد یک مورد را از لیست کشویی انتخاب کند. اگر هنوز هیچ انتخابی انجام نشده است:
=IFERROR(AVERAGE(INDEX((PlanetsD, MoonsD), , , IF(B1="planet", 1, IF(B1="moon", 2)))), "Please select the list!")
به این صورت از فرمول های INDEX در اکسل استفاده می کنید. امیدوارم این مثالها راهی برای استفاده از پتانسیل تابع INDEX در کاربرگهایتان به شما نشان داده باشد. ممنون که خواندید!
حذف شده، ستون_num مورد نیاز است. - column_num - شماره ستونی است که از آن مقدار را برمی گرداند. اگر column_num حذف شود، row_num مورد نیاز است.
به عنوان مثال، فرمول =INDEX(A1:D6, 4, 3)
مقدار را در تقاطع ردیف چهارم و ستون 3 در محدوده A1:D6 برمی گرداند، که مقدار سلول C4 است. .
برای دریافت ایده ای از نحوه عملکرد فرمول INDEX بر روی داده های واقعی، لطفاً به مثال زیر نگاهی بیندازید:
به جای وارد کردن ردیف و شماره ستون ها در فرمول، می توانید مراجع سلولی را برای به دست آوردن فرمول جهانی تر ارائه دهید: =INDEX($B$2:$D$6, G2, G1)
بنابراین، این فرمول INDEX تعداد موارد را دقیقاً در تقاطع شماره محصول مشخص شده در G2 (row_num) برمی گرداند. ) و شماره هفته وارد شده در سلول G1 (تعداد_ستون).
نکته. استفاده از مراجع مطلق ($B$2:$D$6) به جای ارجاعات نسبی (B2:D6) در آرگومان آرایه، کپی فرمول را در سلول های دیگر آسان تر می کند. یا می توانید یک محدوده را به جدول تبدیل کنید (Ctrl + T) و با نام جدول به آن اشاره کنید.
شکل آرایه INDEX - چیزهایی که باید به خاطر بسپارید
- اگر آرگومان آرایه فقط از یک ردیف یا ستون تشکیل شده است، ممکن است آرگومان row_num یا column_num مربوطه را مشخص کنید یا نه.
- اگر آرگومان آرایه شامل بیش از یک ردیف باشد و row_num حذف شود یا روی 0 تنظیم شود، تابع INDEX آرایه ای از کل ستون را برمی گرداند. به طور مشابه، اگر آرایه شامل بیش از یک باشدستون و آرگومان column_num حذف شده یا روی 0 تنظیم می شود، فرمول INDEX کل سطر را برمی گرداند. در اینجا یک مثال فرمولی است که این رفتار را نشان می دهد.
- آگومان های row_num و column_num باید به سلولی در آرایه اشاره داشته باشند. در غیر این صورت، فرمول INDEX #REF را برمی گرداند! خطا.
فرم مرجع INDEX
فرم مرجع تابع Excel INDEX مرجع سلول را در تقاطع سطر و ستون مشخص شده برمی گرداند.
INDEX(مرجع، row_num , [column_num], [area_num] )- reference - یک یا چند محدوده است.
اگر بیش از یک محدوده را وارد می کنید، محدوده ها را با کاما جدا کنید و آرگومان مرجع را در پرانتز قرار دهید، به عنوان مثال (A1:B5، D1:F5).
اگر هر محدوده در مرجع فقط شامل یک سطر یا ستون، آرگومان row_num یا column_num مربوطه اختیاری است.
- row_num - شماره ردیف در محدوده ای که از آن مرجع سلول را برمی گرداند، شبیه به آرایه است. فرم.
- column_num - شماره ستونی که از آن مرجع سلولی را برمی گرداند، نیز مشابه فرم آرایه کار می کند.
- prea_num - an پارامتر اختیاری که مشخص می کند کدام محدوده از آرگومان مرجع استفاده شود. اگر حذف شود، فرمول INDEX نتیجه را برای اولین محدوده فهرست شده در مرجع برمی گرداند.
به عنوان مثال، فرمول =INDEX((A2:D3, A5:D7), 3, 4, 2)
مقدار سلول D7 را برمی گرداند که درتقاطع ردیف سوم و ستون 4 در ناحیه دوم (A5:D7).
فرم مرجع INDEX - مواردی که باید به خاطر بسپارید
- اگر آرگومان row_num یا column_num روی صفر (0) تنظیم شده است، یک فرمول INDEX به ترتیب مرجع کل ستون یا سطر را برمی گرداند.
- اگر هر دو row_num و column_num حذف شوند، تابع INDEX ناحیه مشخص شده در آرگومان area_num.
- همه آرگومان های _num (row_num، column_num و area_num) باید به یک سلول در مرجع اشاره کنند. در غیر این صورت، فرمول INDEX #REF را برمی گرداند! خطا.
هر دو فرمول INDEX که تا کنون مورد بحث قرار داده ایم بسیار ساده هستند و فقط مفهوم را نشان می دهند. فرمولهای واقعی شما احتمالاً بسیار پیچیدهتر از آن هستند، بنابراین اجازه دهید چند کاربرد کارآمد از INDEX در اکسل را بررسی کنیم.
نحوه استفاده از تابع INDEX در اکسل - نمونههای فرمول
شاید وجود داشته باشد. به خودی خود کاربردهای عملی زیادی از Excel INDEX ندارد، اما در ترکیب با توابع دیگر مانند MATCH یا COUNTA، می تواند فرمول های بسیار قدرتمندی ایجاد کند.
داده های منبع
همه فرمول های INDEX ما (به جز مورد آخر)، از داده های زیر استفاده خواهیم کرد. برای اهداف راحتی، در جدولی به نام SourceData سازماندهی شده است.
استفاده از جداول یا محدوده های نامگذاری شده می تواند فرمول ایجاد کند. کمی طولانی تر است، اما همچنین آنها را به طور قابل توجهی انعطاف پذیرتر و خواناتر می کند. برای تنظیم هر INDEXفرمول برای کاربرگ های خود، فقط باید یک نام را تغییر دهید، و این به طور کامل طول فرمول طولانی تری را جبران می کند.
البته، اگر بخواهید، هیچ چیز مانع از استفاده شما از محدوده های معمول نمی شود. در این مورد، شما به سادگی نام جدول SourceData را با مرجع محدوده مناسب جایگزین کنید.
1. گرفتن مورد N از لیست
این استفاده اساسی از تابع INDEX و ساده ترین فرمول برای ساخت است. برای واکشی یک آیتم خاص از لیست، فقط =INDEX(range, n)
را بنویسید که در آن محدوده محدوده ای از سلول ها یا محدوده ای با نام است و n موقعیت موردی است که می خواهید دریافت کنید.
هنگام کار با جداول اکسل، می توانید ستون را با استفاده از ماوس انتخاب کنید و اکسل نام ستون را به همراه نام جدول در فرمول می کشد:
برای به دست آوردن مقدار سلول در تقاطع سطر و ستون معین، از همان رویکرد استفاده می کنید با این تفاوت که هر دو را مشخص می کنید - شماره ردیف و شماره ستون. در واقع، زمانی که در مورد فرم آرایه INDEX صحبت کردیم، شما قبلاً چنین فرمولی را در عمل مشاهده کردید.
و در اینجا یک مثال دیگر وجود دارد. در جدول نمونه ما، برای پیدا کردن دومین سیاره بزرگ در منظومه شمسی، جدول را بر اساس ستون قطر مرتب کنید و از فرمول INDEX زیر استفاده کنید:
=INDEX(SourceData, 2, 3)
-
Array
نام جدول یا مرجع محدوده است، SourceData در این مثال. -
Row_num
2 است زیرا شما به دنبال مورد دوم هستیددر لیستی که در 2nd -
Column_num
است 3 است زیرا Diameter ستون سوم جدول است.
اگر می خواهید سیاره را برگردانید name را به جای قطر، ستون_num را به 1 تغییر دهید. و طبیعتاً، همانطور که در تصویر زیر نشان داده شده است، می توانید از یک مرجع سلول در آرگومان های row_num و/یا column_num استفاده کنید تا فرمول خود را متنوع تر کنید:
2. دریافت همه مقادیر در یک ردیف یا ستون
به غیر از بازیابی یک سلول، تابع INDEX میتواند آرایهای از مقادیر را از کل ردیف یا ستون برگرداند. . برای دریافت همه مقادیر از یک ستون خاص، باید آرگومان row_num را حذف کنید یا آن را روی 0 تنظیم کنید. به همین ترتیب، برای به دست آوردن کل سطر، مقدار خالی یا 0 را در ستون_num ارسال می کنید.
چنین فرمول های INDEX به سختی می توانند به تنهایی مورد استفاده قرار گیرد، زیرا اکسل قادر به جا دادن آرایه مقادیر برگردانده شده توسط فرمول در یک سلول نیست و شما مقدار #VALUE را دریافت خواهید کرد! در عوض خطا با این حال، اگر از INDEX همراه با توابع دیگر مانند SUM یا AVERAGE استفاده کنید، نتایج فوق العاده ای دریافت خواهید کرد.
به عنوان مثال، می توانید از فرمول زیر برای محاسبه میانگین دمای سیاره در منظومه شمسی استفاده کنید:
=AVERAGE(INDEX(SourceData, , 4))
در فرمول بالا، آرگومان column_num 4 است زیرا دما در ستون 4 جدول ما قرار دارد. پارامتر row_num حذف شده است.
به روشی مشابه، می توانید حداقل و حداکثر را پیدا کنید.دما:
=MAX(INDEX(SourceData, , 4))
=MIN(INDEX(SourceData, , 4))
و جرم کل سیاره را محاسبه کنید (جرم ستون دوم جدول است):
=SUM(INDEX(SourceData, , 2))
از نظر عملی، تابع INDEX در فرمول فوق اضافی است. شما به سادگی می توانید =AVERAGE(range)
یا =SUM(range)
را بنویسید و همان نتایج را دریافت کنید.
هنگام کار با داده های واقعی، این ویژگی ممکن است به عنوان بخشی از فرمول های پیچیده تری که برای تجزیه و تحلیل داده ها استفاده می کنید مفید باشد.
3. استفاده از INDEX با توابع دیگر (SUM، AVERAGE، MAX، MIN)
از مثالهای قبلی، ممکن است این تصور را داشته باشید که فرمول INDEX مقادیر را برمیگرداند، اما واقعیت این است که یک مرجع برمیگرداند. به سلول حاوی مقدار. و این مثال ماهیت واقعی تابع INDEX اکسل را نشان میدهد.
از آنجایی که نتیجه فرمول INDEX یک مرجع است، میتوانیم از آن در سایر توابع برای ایجاد یک محدوده پویا استفاده کنیم. گیج کننده به نظر می رسد؟ فرمول زیر همه چیز را روشن می کند.
فرض کنید فرمول =AVERAGE(A1:A10)
دارید که میانگینی از مقادیر سلول های A1:A10 را برمی گرداند. به جای نوشتن دامنه مستقیماً در فرمول، می توانید A1 یا A10 یا هر دو را با توابع INDEX جایگزین کنید، مانند این:
=AVERAGE(A1 : INDEX(A1:A20,10))
هر دو فرمول بالا یکسان را ارائه می دهند. نتیجه به این دلیل است که تابع INDEX نیز یک مرجع به سلول A10 برمی گرداند (row_num روی 10 تنظیم شده است، col_num حذف شده است). تفاوت این است که محدوده فرمول AVERAGE / INDEX پویا است،و هنگامی که آرگومان row_num را در INDEX تغییر دهید، محدوده پردازش شده توسط تابع AVERAGE تغییر می کند و فرمول نتیجه متفاوتی را نشان می دهد.
ظاهراً مسیر فرمول INDEX بسیار پیچیده به نظر می رسد، اما کاربردهای عملی دارد. همانطور که در مثال های زیر نشان داده شده است.
مثال 1. میانگین N مورد برتر در لیست را محاسبه کنید
فرض کنید می خواهید میانگین قطر N بزرگترین سیاره در منظومه ما را بدانید. . بنابراین، شما جدول را بر اساس ستون قطر از بزرگترین به کوچکترین مرتب می کنید و از فرمول میانگین / شاخص زیر استفاده می کنید:
=AVERAGE(C5 : INDEX(SourceData[Diameter], B1))
مثال 2. جمع اقلام بین دو مورد مشخص شده
در صورتی که می خواهید موارد کران بالا و کران پایین را در فرمول خود تعریف کنید، فقط باید از دو تابع INDEX برای برگرداندن تابع اول و کران پایین استفاده کنید. آخرین موردی که می خواهید.
به عنوان مثال، فرمول زیر مجموع مقادیر ستون Diameter را بین دو مورد مشخص شده در سلول های B1 و B2 برمی گرداند:
=SUM(INDEX(SourceData[Diameter],B1) : INDEX(SourceData[Diameter], B2))
4. فرمول INDEX برای ایجاد محدودههای پویا و لیستهای کشویی
همانطور که اغلب اتفاق میافتد، وقتی شروع به سازماندهی دادهها در یک کاربرگ میکنید، ممکن است ندانید که در نهایت چند ورودی خواهید داشت. این مورد در مورد جدول سیارات ما نیست، که به نظر می رسد کامل است، اما چه کسی می داند...
به هر حال، اگر تعداد آیتم ها در یک ستون مشخص در حال تغییر است، مثلا از A1 به A n ،ممکن است بخواهید یک محدوده با نام پویا ایجاد کنید که شامل تمام سلول های دارای داده باشد. در آن زمان، میخواهید با افزودن آیتمهای جدید یا حذف برخی از موارد موجود، محدوده بهطور خودکار تنظیم شود. به عنوان مثال، اگر در حال حاضر 10 مورد دارید، محدوده نام شما A1:A10 است. اگر یک ورودی جدید اضافه کنید، محدوده نامگذاری شده بهطور خودکار به A1:A11 گسترش مییابد، و اگر نظر خود را تغییر دهید و دادههای اضافهشده جدید را حذف کنید، محدوده بهطور خودکار به A1:A10 برمیگردد.
مزیت اصلی این رویکرد این است که شما مجبور نیستید دائماً همه فرمولها را در کتاب کار خود بهروزرسانی کنید تا مطمئن شوید که به محدودههای صحیح اشاره میکنند.
یکی از راههای تعریف محدوده پویا استفاده از تابع Excel OFFSET است:
=OFFSET(Sheet_Name!$A$1, 0, 0, COUNTA(Sheet_Name!$A:$A), 1)
یک راه حل ممکن دیگر استفاده از Excel INDEX همراه با COUNTA است:
=Sheet_Name!$A$1:INDEX(Sheet_Name!$A:$A, COUNTA(Sheet_Name!$A:$A))
در هر دو فرمول، A1 سلولی است که شامل اولین مورد لیست و محدوده دینامیکی تولید شده است. با هر دو فرمول یکسان خواهد بود.
تفاوت در رویکردها است. در حالی که تابع OFFSET با تعداد مشخصی سطر و/یا ستون از نقطه شروع حرکت می کند، INDEX سلولی را در تقاطع یک سطر و ستون خاص پیدا می کند. تابع COUNTA که در هر دو فرمول استفاده میشود، تعداد سلولهای خالی را در ستون مورد نظر دریافت میکند.
در این مثال، 9 سلول غیر خالی در ستون A وجود دارد، بنابراین COUNTA 9 را برمی گرداند. در نتیجه، INDEX $9 A$ را برمی گرداند، که آخرین سلول استفاده شده در ستون A است (معمولا INDEX