خروجی بسیاری از فرمولها یک متن (TEXT) است اگر چه آن خروجی دقیقا شبیه آدرس یک سلول در اکسل باشد. برای نمونه فرمول زیر را در نظر بگیرید:
= "A" & "10"
خروجی این فرمول A10
است و در سلول دقیقا همین متن یعنی A10 را خواهیم دید. ما میدانیم که در اکسل A10 آدرس یک سلول است و میخواهیم که این متن را به آدرس واقعی آن سلول تبدیل کنیم. در اینجا از تابع INDIRECT باید استفاده کنیم.
شکل ساده این تابع در اکسل اینگونه است:
= INDIRECT(ref_text)
ورودی ref_text یک متن است که آن متن را باید تبدیل به یک آدرس اکسلی کنیم.
= INDIRECT( "A" & "10" )
💡 مهمترین کاربرد این تابع نوشتن فرمولهایی است که بخواهیم در آن نام شیت از یک سلول خوانده شود.
مثال ۱) فرمولی بنویسید که نام شیت را از سلول A1 بخواند و سپس همه اعداد ستون B آن شیت را جمع بزند.
برای این کار باید فرمول زیر را بنویسیم:
= SUM( INDIRECT( A1 & "!B:B" ) )
شرح فرمول: میدانیم که نام شیت با علامت ! از نام محدوده جدا میشود بنابراین باید نام شیت که در سلول A1 است را به یک علامت ! بچسبانیم و در ادامه آن آدرس محدوده را بنویسیم:
A1 & "!B:B"
میدانیم که نتیجه فرمول یک متن است و باید آن را تبدیل به آدرس واقعی اکسلی کنیم، بنابراین از INDIRECT استفاده میکنیم:
INDIRECT( A1 & "!B:B" )
و حال که یک آدرس واقعی اکسلی داریم، کافی است که از تابع SUM بخواهیم که مقادیر آن محدوده را جمع بزند:
= SUM( INDIRECT( A1 & "!B:B" ) )
تذکر مهم: تابع INDIRECT باعث میشود که فایل اکسل شما بسیار کند شود و استفاده از آن توصیه نمیشود. اگر در جایی مجبور شدید که از INDIRECT استفاده فراوان کنید، باید بدانید که مسیر را اشتباه رفتهاید!!
به عنوان اولین نفر، تجربه یا دیدگاه خود را بنویسید!