دستور Indirect در اکسل
دستور Indirect برای بسیاری از کاربران شاید ناشناخته باشد. اگر با این دستور آشنا شوید می توانید مسائل زیادی را با آن به راحتی حل کنید.
این دستور در عین سادگی بسیار مهم و کاربردی است. در واقع کار دستور Indirect آن است که که به شما اجازه می دهد تا آدرس سلول ها و محدوده ها را به صورت غیر مستقیم در فرمول وارد کنید.
کاربرد
برای روشن شدن مطلب به مثال زیر توجه کنید
فرض کنید قصد دارید محدوده A1:B8 که شامل تعدادی عدد است را با هم جمع کنید. برای این کار به سادگی از فرمول جمع به صورت زیر استفاده می کنید
=SUM(A1:B8)
حال فرض کنید که ناحیه اعداد تغییر می کند و این بار باید اعداد ناحیه F5:F14 را با هم جمع کنیم. مجبور هستیم یک فرمول جمع جدید نیز برای این ناحیه بنویسیم و یا در فرمول قبلی فرمول را ویرایش کرده و به جای A1:B8 ناحیه F5:F14 را بنویسیم و به همین ترتیب هر بار ناحیه مورد نظر را عوض کنیم.
در اینجا دستور Indirect به کمک شما می آید. برای این کار و استفاده از دستور Indirect به ترتیب زیر عمل می کنیم.
در یک سلول دلخواه آدرس ناحیه ای که قصد داریم اعداد آن را جمع کنیم می نویسیم.
فرض کنید من در سلول H1 آدرس ناحیه A1:B8 را نوشته ام. و اولین فرمول جمع بالا یعنی =SUM(A1:B8) را به صورت =SUM(H1) می نویسم. دقت داشته باشد که در سلول H1 عبارت A1:B8 نوشته شده.
اما می بینید که حاصل جمع =SUM(H1) عدد صفر است. دلیل این مسئله آن است که عبارت نوشته شده در سلول H1 یعنی A1:B8 یک عدد نیست، بلکه مقداری متنی است. پس باید با یک تغییر کوچک این فرمول را بازنویسی کنیم یعنی به صورت =SUM(Indirect(H1)) بنویسیم.
اکنون می بینید که جواب درست نمایش داده می شود.شما می توانید آدرس نواحی دیگرکه شامل اعداد مورد نظر هستند را در سلول های دیگر مثل H4 – H3 –H2و … نوشته و با استفاده از دستور Indirect جمع آنها را محاسبه کنید.
اما شاید بپرسید که اگر قرار است من هر بار اسم یک سلول که شامل نام محدوده است را عوض کنم پس چه تفاوتی با دستور جمع معمولی دارد؟
تبدیل به لیست کشویی
بله درست است. برای این کار بهتر است ما یک لیست کشویی از تمام نواحی که قصد جمع کردن اعداد آن را داریم در یک سلول مثلاً H1 ایجاد کنیم. هر بار که از لیست کشویی یک اسم را انتخاب می کنیم می بینیم که جمع متناظر با آن محدوده برای ما برگردانده می شود.
برای ایجاد لیست کشویی به مقاله “لیست های پایین افتادنی” مراجعه نمایید.
اگر محدوده هایی که در شیت های مختلف قرار دارند را در نظر بگیریم با استفاده از دستور جمع معمولی کار ما بسیار سخت می شود و هر بار مجبوریم که به شیت مورد نظر رفته و ناحیه اعداد را انتخاب کنیم.
اما با استفاده از دستور Indirect این کار به راحتی قابل انجام است.
استفاده از نام گذاری محدوده ها
می توانیم به جای استفاده از آدرس محدوده در یک سلول، برای نواحی مورد نظر یک اسم را انتخاب کرده و پس از تبدیل این اسامی به لیست کشویی به راحتی عملیات مورد نظر را روی آنها انجام دهیم.
برای مثال اگر من در Sheet1- Sheet3- Sheet2 اعدادی داشته باشم و قصد انجام مثلاً عمل جمع روی این شیت ها را داشته باشم به طوری که نتایج جمع فقط در Sheet1 و مثلاً سلول K2 قرار داشته باشد، کافی است که برای هر کدام از نواحی شیت های مختلف یک اسم اختصاص داده و این اسامی را در سلول K2 از Sheet1 به صورت لیست کشویی قرار داده و با انتخاب هر کدام جمع ناحیه مورد نظر در کلیه شیت ها را داشته باشم.
شکل زیر را ببنید
آموزش تصویری دستور Indirect
[namasha id=”X4Tuk7CF” responsive=”true”]
با تشکر
بسیار ممنونم
ممنونم از سایتتون