آموزش تابع INDIRECT در اکسل – کامل و به زبان ساده
![آموزش تابع INDIRECT در اکسل – کامل و به زبان ساده](https://blog.faradars.org/wp-content/webp-express/webp-images/doc-root/wp-content/uploads/2024/08/indirect-function.jpg.webp)
تابع INDIRECT یکی از توابع غیرمحاسباتی در اکسل است که برای ارجاع غیرمستقیم سلولها، کاربرگها یا کارپوشهها استفاده میشود. کاربرد این تابع در بسیاری موارد به تنهایی یا در ترکیب با سایر توابع اکسل میتواند پیچیدگی فعالیتهای عملیاتی را کاهش دهد. اما فرمولنویسی درست با استفاده از آن نیاز به رعایت نکاتی خاص دارد تا بتوان خروجی مد نظر را دریافت کرد. برای روشن شدن بحث در این مطلب از مجله فرادرس ابتدا یاد میگیریم که تابع INDIRECT در اکسل چیست و سپس به بررسی نحوه فرمولنویسی با استفاده از این تابع در کاربردهای مختلف میپردازیم. در ضمن مثالهایی را نیز برای توضیح دقیقتر کار با آن ارائه میکنیم.
تابع INDIRECT در اکسل چیست؟
تابع INDIRECT، همانطور که از نامش پیداست، برای ارجاع غیرمستقیم سلولها، محدوده اعداد، برگهها، صفحهها، کاربرگها یا کارپوشههای دیگر در اکسل استفاده میشود. به این شکل میتوانیم بدون نیاز به تعریف فرمولهای پیچیده، بهطور دینامیک به یک سلول یا محدوده در جدول اکسل ارجاع دهیم. در نتیجه، امکان تغییر آدرس در فرمول بدون تغییر خود فرمول وجود دارد. ارجاع غیرمستقیم باعث میشود حتی در زمانی که سطر یا ستون جدید در صفحه اکسل ایجاد یا حذف میشود، فرمول اصلی تغییر نکند.
این تابع علاوه بر کاربردهای عمومی، در بحث مدیریت دادههای کسب و کار نیز استفاده میشود. بنابراین پیشنهاد میکنیم برای آشنایی بهتر با کاربرد آن فیلم آموزش داشبوردهای مدیریتی اکسل در فرادرس را مشاهده کنید.
ساختار تابع INDIRECT در اکسل چیست؟
تابع INDIRECT از دو آرگومان اجباری و اختیاری به شرح زیر تشکیل شده است.
INDIRECT(ref_text, [a1])
- آرگومان اجباری ref_text که همان آدرس سلول در قالب یک رشته متنی یا محدوده مشخص از جدول است.
- آرگومان اختیاری a1 که مقدار منطقی آرگومان ref_text را به شکل (False یا True) مشخص میکند.
- در حالت True یا زمانیکه مقداری ندارد، سبک آدرسدهی به شکل A1 است.
- در حالت False سبک آدرسدهی به شکل R1C1 است.
اگر با سبکهای آدرسدهی A1 و R1C1 آشنا نیستید، پیشنهاد میکنیم با مشاهده مجموعه فیلم آموزش اکسل در فرادرس، مبانی کار با توابع، فرمولنویسی و نحوه آدرسدهی را فرا بگیرید.
با این حال توضیحات خلاصه زیر راهنمای مفیدی در این خصوص برای درک بهتر ادامه مطلب است.
- سبک آدرسدهی A1 نوع رایج برای اشاره کردن به محتوای سلول در ستون و ردیف خاصی از جدول اکسل است. بهعنوان مثال B2 به سلولی اشاره میکند که در تقاطع ستون B و ردیف ۲ جدول قرار دارد. در این حالت ابتدا نام ستون در آدرسدهی استفاده میشود.
- در سبک آدرسدهی R1C1 بر خلاف روش قبل، ابتدا نام ردیف استفاده میشود. بهعنوان مثال R4C1 به سلولی اشاره میکند که در تقاطع ردیف ۴ و ستون ۱ قرار دارد. اگر بعد از حروف، هیچ عددی آورده نشود، شماره ستون و ردیف یکسان است.
در بخشهای بعدی کاربرد این نوع آدرسدهی در ترکیب با تابع INDIRECT را بررسی میکنیم اما قبل از آن، برای روشنتر شدن کاربرد ساده این تابع، یک مثال را بر اساس ساختار معمول آن بررسی میکنیم.
بررسی مثال کاربرد اولیه تابع INDIRECT
همانطور که در تصویر زیر مشخص است، در سلول A1 عدد ۳ و در سلول C1 متن A1 را داریم. با نوشتن فرمول =INDIRECT(C1) در سلول دلخواه D1 مشاهده میکنیم که عدد ۳ در سلول D1 درج میشود. در حقیقت ارجاع غیرمستقیم اتفاق میافتد و با استفاده از این فرمول میخواهیم محتوای آدرس در سلول C1 نشان داده شود. طبق دستور موجود در سلول، فرمول ابتدا به سلول C1 مراجعه میکند و چون این سلول حاوی رشته متنی A1 است، با در نظر گرفتن این محتوا به عنوان یک آدرس، به ردیف اول در ستون A جدول اکسل میرود و محتوای آن را بهعنوان خروجی در نظر میگیرد.
![مثال ارجاع غیر مستقیم در اکسل- تابع INDIRECT چیست](https://blog.faradars.org/wp-content/webp-express/webp-images/doc-root/wp-content/uploads/2024/08/excel-indirect-function.jpg.webp)
ممکن است از خود سوال کنیم که با نوشتن فرمول ساده =a1 در سلول D1 هم به این نتیجه میرسیدیم، پس استفاده از تابع INDIRECT کاری بیهوده و پیچیده است. اما هنر این تابع تبدیل دادهها به آدرس است. در مثال ارائه شده، متن A1 در سلول C1 بهتنهایی کاری انجام نمیدهد اما با این تابع، سلول C1 بهعنوان یک آدرس در نظر گرفته میشود. در ادامه با کاربردهای ویژه و خاص این تابع بیشتر آشنا میشویم.
روشهای کلی فرمولنویسی با استفاده از تابع INDIRECT
آنچه تا این بخش از مطلب دیدیم، فرمولی ساده از تابع INDIRECT در اکسل بود. به این شکل که از این تابع برای قرار دادن آدرس یک سلول در سلول دیگر در شکل یک رشته متنی استفاده کردیم و با ارجاع به سلول دوم، مقدار سلول اول را بهدست آوردیم. اما در عمل میتوان با استفاده از تابع INDIRECT دو نوع فرمولنویسی را به شرح زیر انجام داد.
- فرمولنویسی با استفاده از سبکهای مختلف آدرسدهی
- فرمولنویسی با مقادیر عددی و متنی
حال هر یک از از این فرمولها را به شکلی کاملتر بررسی میکنیم.
۱. فرمولنویسی با سبکهای مختلف آدرسدهی
تابع INDIRECT در اکسل از سبک آدرسدهی A1 و R1C1 استفاده میکند. معمولا کاربرد همزمان این دو سبک در یک صفحه اکسل وجود ندارد و تنها میتوان با رفتن به آدرس Files> Options> Formulas و برداشتن تیک مربوط به R1C1، بین این دو حالت تغییر وضعیت داد. اما معمولا کاربران اکسل بهندرت سبک آدرسدهی R1C1 را بهعنوان یک رویکرد مرجع در نظر میگیرند. حال ببینیم از این دو نوع آدرسدهی در تابع INDIRECT به چه شکل استفاده میشود.
در تصویر زیر استفاده از دو فرمول متفاوت در دو سبک آدرسدهی با استفاده از این تابع، نتیجه یکسانی را نشان میدهد. در ادامه نحوه عملکرد این دو فرمول را بررسی میکنیم.
![](https://blog.faradars.org/wp-content/webp-express/webp-images/doc-root/wp-content/uploads/2024/08/excel-indirect-cell-references.jpg.webp)
- استفاده از فرمول D1:=INDIRECT(C1) : این فرمول سادهترین ارجاع غیرمستقیم است. در این حالت فرمول ابتدا به سراغ سلول C1 میرود که محتوای متنی A2 در آن قرار دارد. سپس این محتوا را بهعنوان مرجع آدرسدهی در نظر میگیرد و با رفتن به ردیف دوم در ستون A محتوای عددی درج شده در آن را که مقدار ۲۲۲ است، در سلول D1 درج میکند.
- استفاده از فرمول D3:=INDIRECT(C3,FALSE): عبارت False در آرگومان دوم نشان میدهد که مقدار ارجاع شده در قالب سبک آدرسدهی R1C1 است. زیرا همانطور که در تصویر مشخص است، در سلول C3 ما عبارت R2C1 را داریم که ساختار آدرسدهی متفاوتی دارد. فرمول با مشاهده این دستور به سلول C3 میرود و با توجه به اینکه در آن با درج عبارت False مشخص کردهایم که ساختار آدرس ما سبک R1C1 است، مطابق عبارت درج شده در این سلول، یعنی R2C1 به ردیف دوم و ستون اول در جدول اکسل مراجعه میکند. از آنجا که در این سلول عدد ۲۲۲ درج شده است، این مقدار را بهعنوان خروجی فرمول در نظر میگیرد.
مطلب آدرسدهی در اکسل با تابع INDIRECT در مجله فرادرس اطلاعات کاملتری را در این خصوص بیان کرده است.
۲. فرمولنویسی با استفاده از مقادیر عددی و متنی
این روش، ترکیبی از یک متن و یک سبک آدرسدهی است که با استفاده از عملگر «&» به یکدیگر متصل میشوند. بهعنوان مثال فرمول =INDIRECT("B"&C2) آرگومان ref_text که با متن «B» مشخص شده است را با مقدار عددی سلول C2 ترکیب میکند.
![آدرس دهی ترکیبی با تابع INDIRECT-ارجاع غیر مستقیم در اکسل](https://blog.faradars.org/wp-content/webp-express/webp-images/doc-root/wp-content/uploads/2024/08/indirect-reference-cell-text.jpg.webp)
همانطور که در تصویر مشخص است، ابتدا فرمول به سلول C2 مراجعه میکند. در این سلول عدد ۲ درج شده است. بنابراین این عدد را با عبارت B ترکیب میکند. ساختار جدید ایجاد شده یعنی B2 به مقدار موجود در ستون B ردیف دوم آدرسدهی میکند که همان عدد ۱۰ است.
یادگیری مبانی اولیه کار با تابع INDIRECT با فرادرس
![آموزشهای اکسل در فرادرس-تابع ایندایرکت چیست](https://blog.faradars.org/wp-content/uploads/2024/08/excel-courses-1.jpg)
قبل از پرداختن به کاربردهای اصلی تابع INDIRECT باید به این موضوع توجه کنیم که درک بهتر این تابع نیاز به آشنایی کامل با اصول و مبانی فرمولها در سطح مقدماتی و پیشرفته دارد. زیرا در بسیاری از موارد تابع INDIRECT در ترکیب با سایر توابع، عملکردی متفاوت را ارائه میدهد. بنابراین فراگیری نحوه کار با آنها یکی از گامهای مهم در این خصوص خواهد بود.
برای این منظور علاقهمندان میتوانند فیلمهای آموزش تهیه شده در فرادرس به شرح زیر را مشاهده کنند. این فیلمها شامل نکات کاربردی توابع مهم از جمله INDIRECT هستند.
- فیلم آموزش داشبوردهای مدیریتی اکسل در فرادرس
- فیلم آموزش استفاده از توابع و فرمول نویسی در اکسل در فرادرس
دو مجموعه آموزش زیر نیز در قالبی یکپارچه دسترسی به کلیه فیلمها را سادهتر میکنند.
کاربردهای تابع INDIRECT در اکسل چیست؟
این تابع به شش روش زیر برای سادهسازی عملیات در اکسل بهکار میرود.
- عملیات پویا در یک محدوده جدول
- آدرسدهی پویا به کاربرگهای دیگر
- آدرسدهی پویا به کارپوشههای دیگر
- قفل کردن رفرنسدهی سلول
- ایجاد لیست کشویی وابسته
- ترکیب با سایر توابع اکسل
پیش از ورود به تشریح کامل هر یک از این موارد، لازم است به این موضوع توجه کنیم که درک بهتر کاربرد تابع INDIRECT نیاز به آشنایی کامل اصول اولیه اکسل دارد. بنابراین پیشنهاد میکنیم مجموعه فیلم آموزش اکسل کاربردی در فرادرس را مشاهده کنید.
حال در این مطلب هر یک از کاربردهای تابع INDIRECT را به شکلی دقیق بررسی میکنیم.
۱. استفاده از تابع INDIRECT برای انجام عملیات پویا در یک محدوده
از این تابع میتوان برای آدرسدهی پویا در محدوده خاصی از سلولها در جدول اکسل به تنهایی یا همراه با عملگرهای محاسباتی مختلف استفاده کرد. بهعنوان مثال در تصویر زیر دادههای مختلفی از تعداد سه نوع میوه موجود در انبار برای چهار نماینده توزیع آنها (سطرهای ۲ تا ۶) در جدول اکسل ثبت شدهاند.
![آدرس دهی پویا با استفاده از تابع indirect- تایع indirect چیست](https://blog.faradars.org/wp-content/webp-express/webp-images/doc-root/wp-content/uploads/2024/08/indirect-named-range.jpg.webp)
هدف این است که با نوشتن نام میوه در سلول G1 نتایج محاسبات مختلفی مانند جمع، محاسبه میانگین، حداقل و حداکثر در ردیفهای زیر این سلول درج شود. اگر تابع INDIRECT را با عملگرهای محاسباتی مانند SUM ،AVERAGE ،MAX و MIN ترکیب کنیم، خروجیهای مختلفی را به شکل پویا خواهیم داشت.
بهعنوان مثال برای میوه لیمو (Lemons) در سلول G1 و نوشتن فرمول =SUM(INDIRECT(G1)) در سلول G2 مجموع مقادیر در محدوده سلول با نام Lemon در محل مربوط درج میشود. در حقیقت این فرمول دادههای مربوط به سلول G1 را از ستون مربوط در جدول اکسل فراخوانی میکند. به همین ترتیب سایر عملیات با تغییر نام عملگر محاسباتی قابل انجام است.
۲. استفاده از تابع INDIRECT برای آدرسدهی پویا به کاربرگهای دیگر
از تابع INDIRECT همچنین میتوان برای بازگردانی محتوای سلولها در کاربرگهای دیگر استفاده کرد. به عنوان مثال در تصویر زیر میخواهیم چند داده مهم از کاربرگ ۱ را به کاربرگ ۲ منتقل کنیم.
روش معمول برای انجام این کار استفاده از فرمول =SheetName!Range است که در آن «SheetName» نام کاربرگ موردنظر و «Range» آدرس سلول مقصد است. البته چون نام بیشتر کاربرگها دو بخشی و همراه یک فاصله است، برای جلوگیری از بروز خطا، عبارت اول در داخل یک تک کوتیشن به شکل 'My Sheet' قرار میگیرد. در صورت استفاده از تابع INDIRECT ساختار فرمول با کمی تغییر به شکل زیر در میآید.
INDIRECT("'" & Sheet's name & "'!" & Cell to pull data from)
در این فرمول، آرگومان اول نام کاربرگی که فراخوان دادهها از آن انجام میگیرد یا همان کاربرگ اول و آرگومان دوم کاربرگ مقصد است. باید توجه کنیم که همه المانها بهجز آدرس سلول مقصد در داخل دو علامت کوتیشن (" ") قرار میگیرند و هر آرگومان با عملگر «&» از یکدیگر جدا میشود. برای روشن شدن بحث با یک مثال مطابق دادههای تصویر زیر موضوع را تشریح میکنیم.
![فراخوان عدد از کاربرگ دیگر توسط تابع INDIRECT- تابع ارجاع در اکسل](https://blog.faradars.org/wp-content/webp-express/webp-images/doc-root/wp-content/uploads/2024/08/indirect-reference-other-sheet.jpg.webp)
در این مثال میخواهیم دادههای ردیف اول کاربرگ «My Sheet» را به کاربرگ دیگری منتقل کنیم. برای این کار ابتدا نام کاربرگ «My Sheet» را در سلول A1 و آدرس سلول مربوط به این کاربرگ را در ستون B1 کاربرگ مورد نظر جهت انتقال وارد میکنیم. برای شروع عملیات انتقال، فرمول INDIRECT("'" & A1 & "'!" & B1) را در سلول C1 وارد میکنیم. در این حالت ابتدا فرمول به سلول A1 مراجعه میکند. سپس با ترکیب عبارت موجود در آن یعنی، «MY Sheet» با محتوای موجود در سلول B1، یعنی A1، عملیات فراخوان محتوای موجود در ردیف اول ستون A از کاربرگ «My Sheet» را انجام میدهد. نتیجه نهایی که همان عدد ۱۱۱ است، در سلول C1 نمایش داده میشود.
۳. استفاده از تابع INDIRECT برای آدرسدهی پویا به کارپوشه دیگر
نحوه فرمولنویسی در این حالت مانند آدرسدهی به کاربرگهای دیگر است. با این تفاوت که در آن نام کارپوشه هم اضافه میشود. در روش معمول برای آدرس دهی به کارپوشه از فرمول ساده '[Book_name.xlsx]Sheet_name'!Range استفاده میکنیم. در اینجا آرگومان اول نام کارپوشه و نام کاربرگ و آرگومان دوم محدوده اعداد مورد نظر است که با استفاده از علامت «!» از هم جدا میشوند. حال اگر بخواهیم با استفاده از تابع INDIRECT عملیات انتقال اطلاعات از این کارپوشه به کاربرگ دیگر را انجام دهیم، فرمول کلی به شکل زیر خواهد بود.
=INDIRECT("'[" & Book name & "]" & Sheet name & "'!" & Cell address)
برای روشن شدن بحث، یک مثال مطابق دادههای تصویر زیر را بررسی میکنیم. در اینجا هدف انتقال دادهها از کارپوشه «My Book» و کاربرگ «My Sheet» به کاربرگ دوم است. این عبارتها به ترتیب در سلولهای A2 و B2 درج شدهاند. از طرفی آدرسدهی نیز در سلول C2 انجام میگیرد.
![ارجاع از ورک بوک با استفاده از تابع ایندایرکت- فراخوانی غیر مستقیم](https://blog.faradars.org/wp-content/webp-express/webp-images/doc-root/wp-content/uploads/2024/08/indirect-reference-other-book.jpg.webp)
بنابراین فرمول مورد نظر به شکل =INDIRECT("'[" & $A$2 & "]" & $B$2 & "'!" & C2) خواهد بود. لازم به یادآوری است برای جلوگیری از عدم تغییر سلولها هنگام کپی کردن فرمول در سلولهای دیگر، ارجاعات سلولی بهجای فرم معمول A2 و B2 در قالب ارجاع مطلق $A$2 و $B$2 نوشته شدهاند. بعد از وارد کردن فرمول در سلول D2، هنگام اجرای آن، محتوای سلول A1 در کارپوشه «My Book» و کاربرگ «My Sheet» به شکل خروجی ۱۱۱ در سلول نمایش داده میشود.
۴. استفاده از تابع INDIRECT برای قفل کردن رفرنسدهی سلولی
در حالت عادی هنگام حذف یا وارد کردن سطر یا ستون جدید در دادههای یک جدول اکسل موجود، رفرنسدهی سلولی هم تغییر میکنند. با استفاده از تابع INDIRECT میتوان از این تغییر جلوگیری کرد. این بحث را با بررسی یک مثال تشریح میکنیم. مطابق تصویر زیر عدد ۲۰ در سلول A1 را با دو روش رفرنسدهی یا ارجاع میدهیم.
![قفل کردن فرمول با تابع ایندایرکت- ارجاع دهی سلول در اکسل](https://blog.faradars.org/wp-content/webp-express/webp-images/doc-root/wp-content/uploads/2024/08/indirect-lock-reference.jpg.webp)
در سلول C1 فرمول ارجاع به شکل ساده و رایج آن یعنی =A1 و در سلول C2 از تابع INDIRECT در قالب فرمول =INDIRECT("A1") است. حال یک ردیف در ابتدای جدول اضافه میکنیم. همانطور که مشخص است، سلول اول با ارجاع ساده به شکل ثابت یعنی عدد ۲۰ نمایش داده میشود. زیرا فرمول بهطور خودکار به =A2 تغییر پیدا میکند. در حالیکه فرمول مورد استفاده با تابع INDIRECT عدد صفر را نشان میدهد. زیرا با اضافه کردن سطر جدید، فرمول تغییری پیدا نمیکند و همچنان به محتوای سلول A1 ارجاع میدهد که در این حالت عددی در آن وجود ندارد.
البته در اینجا ممکن است تصور کنید که استفاده از تابع INDIRECT در عوض کمک به رفع موضوع، نوعی مزاحمت در کار ایجاد میکند. اما توجه به این مثال اهمیت تابع را بیشتر نشان میدهد. اگر بخواهیم مقادیر عددی در محدوده سلولهای A2 تا A5 را جمع کنیم، این کار بهراحتی با استفاده از فرمول =SUM(A2:A5) قابل انجام است. اما در صورتیکه بخواهیم بعد از اضافه کردن سطر جدید یا حذف آن در جدول فرمول تغییر نکند، بهکار بردن قالب ارجاع مطلق یعنی =SUM($A$2:$A$5) کمکی نمیکند. تنها راه برای این کار استفاده از تابع INDIRECT در قالب فرمول =SUM(INDIRECT("A2:A5")) است.
۵. استفاده از تابع INDIRECT اکسل برای ایجاد لیست کشویی وابسته
با استفاده از تابع INDIRECT و بخش Data Validation در اکسل میتوان لیست کشویی وابسته ایجاد کرد. در این لیست کاربر میتواند تا گزینههای یک لیست کشویی را بر اساس انتخابی که در لیست کشویی قبلی داشته است، تغییر دهد. برای درک بهتر موضوع مثال تصویر زیر را بررسی میکنیم.
![لیست کشویی با تایع ایندایرکت- تابع ایندایرکت چیست](https://blog.faradars.org/wp-content/webp-express/webp-images/doc-root/wp-content/uploads/2024/08/indirect-data-validation.jpg.webp)
بعد از باز کردن زبانه Data Validation از نوار بالایی جدول اکسل، فرمول =INDIRECT(A2) را در باکس Source وارد میکنیم. در این حالت لیست کشویی ایجاد شده مقادیر مربوط به صادرات میوه «زرد آلو» (Apricot) که در سلول A2 قرار دارد را بر حسب کشورهای مختلف (به عنوان مثال Iran) فهرست میکند.
۶. استفاده از تابع INDIRECT با سایر توابع اکسل
بهجز توابعی مانند SUM ،AVERAGE ،MIN ،MAX تابع INDIRECT را میتوان با دیگر توابع اکسل مانند ROW، COLUMN، ADDRESS، VLOOKUP و SUMIF هم استفاده کرد. نحوه فرمولنویسی در همه این توابع یکسان است. بنابراین در این بخش دو مورد متداول را همراه مثال بررسی میکنیم.
ترکیب تابع INDIRECT و ROW
تابع ROW در اکسل شماره ردیف یک محدوده را مشخص میکند. این تابع در ترکیب با سایر توابع اکسل عملکردهای متفاوتی دارد. بهعنوان مثال میتوان از آن برای بازگردانی متوسط کوچکترین سه عدد موجود در سلولهای محدوده A1 تا A10 در جدول اکسل فرضی و نمایش آن در ردیف اول جدول استفاده کرد. در این حالت فرمول به شکل =AVERAGE(SMALL(A1:A10,ROW(1:3))) خواهد بود.
حال ببینیم ترکیب ROW با تابع INDIRECT چه تاثیر مثبتی در خروجیهای مد نظر دارد. در صورت استفاده از این فرمول، اگر سطری بین ردیف یک تا سه جدول اضافه شود، فرمول تابع ROW به شکل خودکار به صورت ROW(1:4) تغییر میکند که در این حالت متوسط کوچکترین چهار عدد در جدول به عنوان خروجی نمایش داده میشود.
اما در صورت استفاده از تابع INDIRECT به شکل ترکیبی با آن هیچ تغییری در صورت اضافه کردن سطر یا حذف آن در جدول ایجاد نمیشود. در تصویر زیر خروجی حالت ترکیبی تابع INDIRECT با تابع ROW در قالب فرمول =AVERAGE(SMALL(A1:A10,ROW(INDIRECT("1:3")))) نمایش داده شده است.
![ترکیب تابع ایندایرکت با ROW- تابع ایندایرکت چیست](https://blog.faradars.org/wp-content/webp-express/webp-images/doc-root/wp-content/uploads/2024/08/indircet-row-functions.jpg.webp)
ترکیب تابع INDIRECT و ADDRESS
تابع ADDRESS برای اشاره به نشانی سلول در جدول اکسل بر حسب ردیف و ستون استفاده میشود. بهعنوان مثال فرمول =ADDRESS(1,3) محتوای سلول در ردیف اول و ستون سوم را نشان میدهد. در صورت ترکیب تابع INDIRECT با ADDRESS محتوای موجود در سلول خاص که نشانی آن آورده شده است، ارجاع میشود. در این صورت فرمول مورد استفاده برای مثال قبل به شکل =INDIRECT(ADDRESS(1,3)) تغییر میکند.
پیامهای خطا هنگام کار با تابع INDIRECT چیست؟
تابع INDIRECT برای فراخوان و ارجاع از سلولهای محدود بسیار مفید است. با این حال مانند هر تابع اکسل دیگری، استفاده نادرست از آرگومانها میتواند خطاهایی را در خروجی دریافتی از آن ایجاد کند. مهمترین این خطاها پیام REF# است که به سه دلیل زیر اتفاق میافتد.
معتبر نبودن آرگومان ref_txt
اگر پارامترهای مورد استفاده در این آرگومان بهدرستی تعریف نشوند، این حالت اتفاق میافتد. بنابراین هنگام مشاهده پیام بهتر است ابتدا درستی تعریف آرگومان را بررسی کنیم.
غیرقابل قبول بودن محدوده انتخابی
علت دیگر مشاهده این پیام خطا انتخاب غیرمجاز تعداد سطر و ستون در آرگومان ref_text است. در نسخههای اکسل بالاتر از سال ۲۰۰۷، حداکثر ۱۰۴۸۵۷۶ سطر و ۱۶۳۸۴ ستون از جدول دادهها قابل انتخاب است. بنابراین اگر تعداد سطر و ستون دادهها از این حد فراتر روند، ارجاع و فراخوانی خارج از این محدوده توسط تابع INDIRECT امکان ندارد.
بسته بودن کاربرگ و کارپوشههای فراخوان شده توسط تابع
اگر در فرمول INDIRECT به کاربرگ یا کارپوشه دیگری ارجاع داده میشود، هر دو این برگهها و فایلها باید در جدول اکسل باز باشند. در غیر این صورت با پیغام خطای REF# روبرو میشویم.
جمعبندی پایانی
تابع INDIRECT یکی از توابع غیرمحاسباتی اکسل است که انجام عملیات پیچیده ارجاع در تعداد زیادی داده در جدول اکسل را ساده میکند. با استفاده از این تابع میتوان فرمولنویسیهای خاصی را برای مدیریت دادهها در کسب و کار انجام داد. در این مطلب از مجله فرادرس آموختیم که تابع INDIRECT در اکسل چیست و چه کاربردهایی دارد. از آنجا که این تابع در ترکیب با سایر توابع اکسل عملکردهای متفاوت و جالبی را در اختیار کاربر قرار میدهد، یادگیری مفاهیم پایه اکسل، فرمولنویسی و توابع مختلف بسیار اهمیت دارد. علاقهمندان میتوانند برای یادگیری این اصول، فیلمهای آموزش فرادرس در زمینه اکسل را مشاهده کنند.