تابع INDIRECT اکسل - کاربردهای اساسی و مثال های فرمول

  • این را به اشتراک بگذارید
Michael Brown

این آموزش INDIRECT اکسل، نحو تابع، کاربردهای اساسی را توضیح می دهد و تعدادی مثال فرمول ارائه می کند که نحوه استفاده از INDIRECT در اکسل را نشان می دهد.

تعداد زیادی توابع در مایکروسافت وجود دارد. اکسل، درک برخی از آنها آسان است، برخی دیگر به منحنی یادگیری طولانی نیاز دارند، و اولی بیشتر از دومی استفاده می شود. و با این حال، Excel INDIRECT یکی از این نوع است. این تابع اکسل نه محاسباتی انجام می دهد و نه شرایط یا تست های منطقی را ارزیابی می کند.

خب پس تابع INDIRECT در اکسل چیست و برای چه کاری از آن استفاده کنم؟ این سوال بسیار خوبی است و امیدواریم پس از پایان خواندن این آموزش، چند دقیقه دیگر پاسخ جامعی دریافت کنید.

    عملکرد INDIRECT Excel - نحو و کاربردهای اساسی

    همانطور که از نامش پیداست، Excel INDIRECT برای ارجاع غیرمستقیم به سلول ها، محدوده ها، برگه های دیگر یا کتاب های کار استفاده می شود. به عبارت دیگر، تابع INDIRECT به شما این امکان را می دهد که به جای کدگذاری سخت، یک سلول یا محدوده دینامیک مرجع ایجاد کنید. در نتیجه، می توانید یک مرجع را در یک فرمول بدون تغییر خود فرمول تغییر دهید. علاوه بر این، هنگامی که برخی از سطرها یا ستون‌های جدید در کاربرگ درج می‌شوند یا زمانی که هر کدام از موارد موجود را حذف می‌کنید، این ارجاعات غیرمستقیم تغییر نخواهند کرد.

    درک همه اینها ممکن است از یک مثال آسان‌تر باشد. با این حال، برای اینکه بتوانید یک فرمول بنویسید، حتی ساده ترین آن، باید آن را بدانیدبطور خودکار. راه حل این است که از تابع INDIRECT استفاده کنید، مانند این:

    =SUM(INDIRECT("A2:A5"))

    از آنجایی که اکسل "A1:A5" را به عنوان یک رشته متن صرف به جای یک مرجع محدوده درک می کند، هیچ مرجعی ایجاد نخواهد کرد. هنگامی که یک ردیف(ها) را وارد یا حذف می کنید، تغییر می کند.

    استفاده از INDIRECT با سایر توابع اکسل

    به غیر از SUM، INDIRECT اغلب با سایر توابع اکسل مانند ROW، COLUMN، ADDRESS، استفاده می شود. VLOOKUP، SUMIF، برای نام بردن چند مورد.

    مثال 1. توابع INDIRECT و ROW

    بسیار اوقات، تابع ROW در اکسل برای برگرداندن آرایه ای از مقادیر استفاده می شود. به عنوان مثال، می توانید از فرمول آرایه زیر استفاده کنید (به یاد داشته باشید که برای برگرداندن میانگین 3 عدد کوچک در محدوده A1:A10:

    =AVERAGE(SMALL(A1:A10,ROW(1:3)))

    باید Ctrl + Shift + Enter را فشار دهید) استفاده کنید. با این حال، اگر یک ردیف جدید در کاربرگ خود، در جایی بین ردیف‌های 1 و 3 وارد کنید، محدوده تابع ROW به ROW (1:4) تغییر می‌کند و فرمول به جای 3، میانگین 4 کوچک‌ترین عدد را برمی‌گرداند. .

    برای جلوگیری از این اتفاق، INDIRECT را در تابع ROW قرار دهید و فرمول آرایه شما همیشه درست باقی می‌ماند، صرفنظر از اینکه چند ردیف درج یا حذف شده است:

    =AVERAGE(SMALL(A1:A10,ROW(INDIRECT("1:3"))))

    در اینجا چند مثال دیگر از استفاده از INDIRECT و ROW در رابطه با تابع LARGE آورده شده است: چگونه N عدد بزرگ را در یک محدوده جمع کنیم.

    مثال 2. توابع INDIRECT و ADDRESS

    شما می توانید استفاده کنید اکسل INDIRECT همراه با تابع ADDRESS را دریافت کنیدیک مقدار در یک سلول خاص در حال پرواز.

    همانطور که ممکن است به خاطر داشته باشید، تابع ADDRESS در اکسل برای دریافت آدرس سلول با شماره ردیف و ستون استفاده می شود. به عنوان مثال، فرمول =ADDRESS(1,3) رشته $C$1 را برمی گرداند زیرا C1 سلولی است که در محل تقاطع ردیف 1 و ستون 3 قرار دارد.

    برای ایجاد یک مرجع سلول غیرمستقیم، شما به سادگی تابع ADDRESS را در یک INDIRECT جاسازی کنید. فرمول مانند این:

    =INDIRECT(ADDRESS(1,3))

    البته، این فرمول بی اهمیت فقط تکنیک را نشان می دهد. و در اینجا چند مثال وجود دارد که ممکن است واقعا مفید باشد:

    • فرمول آدرس INDIRECT - نحوه تعویض ردیف و ستون.
    • VLOOKUP و INDIRECT - نحوه کشیدن پویا داده ها از برگه های مختلف .
    • INDIRECT با INDEX / MATCH - چگونه فرمول VLOOKUP حساس به حروف بزرگ را به کمال برسانیم.
    • Excel INDIRECT و COUNTIF - نحوه استفاده از تابع COUNTIF در یک محدوده غیر پیوسته یا یک انتخاب سلول‌ها.

    استفاده از INDIRECT با اعتبارسنجی داده در اکسل

    شما می‌توانید از تابع Excel INDIRECT با اعتبارسنجی داده‌ها برای ایجاد لیست‌های کشویی آبشاری استفاده کنید که بسته به مقدار، انتخاب‌های متفاوتی را نمایش می‌دهد. کاربر در اولین کشویی انتخاب شده است.

    تهیه یک لیست کشویی وابسته ساده واقعاً آسان است. تنها چیزی که لازم است چند محدوده نامگذاری شده برای ذخیره آیتم های کشویی و یک فرمول ساده =INDIRECT(A2) است که در آن A2 سلولی است که اولین لیست کشویی شما را نشان می دهد.

    برای پیچیده تر کردنمنوهای 3 سطحی یا کشویی با ورودی های چند کلمه ای، به فرمول INDIRECT کمی پیچیده تر با عملکرد SUBSTITUTE تو در تو نیاز دارید.

    برای راهنمایی گام به گام دقیق در مورد نحوه استفاده از INDIRECT با اعتبار سنجی داده های اکسل، لطفاً این آموزش را بررسی کنید: نحوه ایجاد یک لیست کشویی وابسته در اکسل.

    عملکرد INDIRECT اکسل - خطاها و مشکلات احتمالی

    همانطور که در مثال های بالا نشان داده شد، INDIRECT عملکرد هنگام برخورد با مراجع سلولی و محدوده بسیار مفید است. با این حال، همه کاربران اکسل مشتاقانه از آن استقبال نمی کنند، زیرا استفاده گسترده از INDIRECT در فرمول های اکسل منجر به عدم شفافیت می شود. بررسی تابع INDIRECT دشوار است زیرا سلولی که به آن اشاره می کند مکان نهایی مقدار استفاده شده در فرمول نیست، که در واقع بسیار گیج کننده است، به خصوص هنگام کار با فرمول های پیچیده بزرگ.

    علاوه بر در بالا گفته شد، مانند هر تابع دیگر اکسل، INDIRECT ممکن است در صورت استفاده نادرست از آرگومان های تابع، خطا ایجاد کند. در اینجا لیستی از معمول ترین اشتباهات آمده است:

    Excel INDIRECT #REF! error

    بیشتر اوقات، تابع INDIRECT یک #REF برمی گرداند! خطا در سه مورد:

    1. ref_text یک مرجع سلول معتبر نیست . اگر پارامتر ref_text در فرمول غیر مستقیم شما یک مرجع سلول معتبر نباشد، فرمول به #REF منجر می شود! مقدار خطا برای جلوگیری از مشکلات احتمالی، لطفاً عملکرد INDIRECT را بررسی کنیدآرگومان ها.
    2. از حد محدوده فراتر رفته است . اگر آرگومان ref_text فرمول غیرمستقیم شما به محدوده ای از سلول ها فراتر از محدودیت ردیف 1,048,576 یا محدودیت ستون 16,384 اشاره کند، همچنین خطای #REF را در اکسل 2007، 2010 و اکسل 2013 دریافت خواهید کرد. نسخه های قبلی اکسل بیش از حد را نادیده می گیرند. مقداری را محدود کنید و مقداری را برگردانید، اگرچه اغلب آن چیزی نیست که انتظار دارید.
    3. برگ یا کتاب کار ارجاع شده بسته است. اگر فرمول غیرمستقیم شما به کتاب یا کاربرگ اکسل دیگری اشاره دارد، دیگر کتاب کار / صفحه گسترده باید باز باشد، در غیر این صورت INDIRECT #REF را برمی گرداند! خطا.

    Excel INDIRECT #NAME؟ error

    این واضح ترین مورد است، به این معنی که در نام تابع خطایی وجود دارد که ما را به نقطه بعدی می رساند: )

    استفاده از تابع INDIRECT در زبان های غیر انگلیسی

    شاید کنجکاو باشید که بدانید نام انگلیسی تابع INDIRECT به 14 زبان ترجمه شده است، از جمله:

    • دانمارکی - INDIREKTE
    • فنلاندی - EPÄSUORA
    • آلمانی - INDIREKT
    • مجارستانی - INDIREKT
    • ایتالیایی - INDIRETTO
    • نروژی - INDIREKTE
    • لهستانی - ADR.POŚR
    • اسپانیایی - INDIRECTO
    • سوئدی - INDIREKT
    • ترکی - DOLAYLI

    اگر علاقه مند به دریافت لیست کامل هستید، لطفاً این صفحه را بررسی کنید.

    یک مشکل رایج در بومی سازی های غیر انگلیسی این استنه نام تابع INDIRECT، بلکه تنظیمات منطقه ای برای جداکننده فهرست متفاوت است. در پیکربندی استاندارد ویندوز برای آمریکای شمالی و برخی کشورهای دیگر، پیش‌فرض List Separator یک کاما است. در حالی که در کشورهای اروپایی، کاما به عنوان نماد اعشاری و جداکننده فهرست روی نقطه ویرگول تنظیم می شود.

    در نتیجه، هنگام کپی کردن فرمول بین دو محلی‌های مختلف اکسل، ممکن است پیام خطای « ما مشکلی با این فرمول پیدا کردیم… » دریافت کنید زیرا جداکننده فهرست مورد استفاده در فرمول با آنچه در دستگاه شما تنظیم شده است متفاوت است. اگر هنگام کپی کردن فرمول INDIRECT از این آموزش در اکسل خود با این خطا مواجه شدید، به سادگی تمام کاما (،) را با نیم ویرگول (;) جایگزین کنید تا رفع شود.

    برای بررسی اینکه کدام جداکننده لیست و نماد اعشاری هستند. روی دستگاه خود تنظیم کنید، Control Panel را باز کنید و به Region and Language > تنظیمات اضافی .

    امیدواریم این آموزش تا حدودی استفاده از INDIRECT در اکسل را روشن کرده باشد. اکنون که نقاط قوت و محدودیت‌های آن را می‌دانید، وقت آن است که به آن نگاهی بیاندازید و ببینید که چگونه تابع INDIRECT می‌تواند وظایف اکسل شما را ساده کند. ممنون که خواندید!آرگومان های تابع، درست است؟ بنابراین، اجازه دهید ابتدا نگاهی گذرا به نحو INDIRECT اکسل بیندازیم.

    Syntax تابع INDIRECT

    عملکرد INDIRECT در اکسل یک مرجع سلولی را از یک رشته متنی برمی گرداند. دارای دو آرگومان است، اولی مورد نیاز و دومی اختیاری است:

    INDIRECT(ref_text, [a1])

    ref_text - یک مرجع سلولی است، یا اشاره به یک سلول در شکل یک رشته متن، یا یک محدوده با نام.

    a1 - یک مقدار منطقی است که مشخص می کند چه نوع مرجعی در آرگومان ref_text موجود است:

    • اگر TRUE یا حذف شده باشد، ref_text به عنوان یک مرجع سلولی به سبک A1 تفسیر می شود.
    • اگر FALSE، ref_text به عنوان یک مرجع R1C1 در نظر گرفته می شود.

    در حالی که نوع مرجع R1C1 ممکن است در شرایط خاص مفید است، احتمالاً می خواهید بیشتر اوقات از مراجع آشنای A1 استفاده کنید. به هر حال، تقریباً تمام فرمول های INDIRECT در این آموزش از ارجاعات A1 ​​استفاده می کنند، بنابراین ما آرگومان دوم را حذف خواهیم کرد.

    استفاده اساسی از تابع INDIRECT

    برای ورود به بینش تابع، اجازه دهید بنویسیم. یک فرمول ساده که نحوه استفاده از INDIRECT را در اکسل نشان می‌دهد.

    فرض کنید، در سلول A1 عدد 3 و در سلول C1 متن A1 دارید. اکنون فرمول =INDIRECT(C1) را در هر سلول دیگری قرار دهید و ببینید چه اتفاقی می‌افتد:

    • عملکرد INDIRECT به مقدار سلول C1 اشاره دارد که A1 است.
    • این تابع به مسیریابی می‌شود. سلول A1 جایی که مقداری را برای بازگشت انتخاب می کند،که عدد 3 است.

    بنابراین، عملکرد INDIRECT در این مثال واقعاً انجام می دهد تبدیل یک رشته متن به یک مرجع سلول .

    اگر فکر می کنید این هنوز مفهوم عملی کمی دارد، لطفاً با من تحمل کنید و من چند فرمول دیگر را به شما نشان خواهم داد که قدرت واقعی تابع INDIRECT اکسل را نشان می دهد.

    نحوه استفاده از INDIRECT در اکسل - مثال های فرمول

    همانطور که در مثال بالا نشان داده شد، می توانید از تابع INDIRECT اکسل برای قرار دادن آدرس یک سلول در سلول دیگر به عنوان یک رشته متنی معمولی استفاده کنید و با ارجاع به سلول دوم، مقدار سلول اول را بدست آورید. با این حال، آن مثال بی اهمیت چیزی بیش از اشاره ای به قابلیت های INDIRECT نیست.

    هنگام کار با داده های واقعی، تابع INDIRECT می تواند هر رشته متنی را به یک مرجع از جمله رشته های بسیار پیچیده ای که با استفاده از مقادیر می سازید تبدیل کند. سلول های دیگر و نتایج بازگردانده شده توسط فرمول های دیگر اکسل. اما بیایید گاری را قبل از اسب قرار ندهیم و چندین فرمول غیرمستقیم اکسل را یکی یکی اجرا کنیم.

    ایجاد ارجاعات غیرمستقیم از مقادیر سلول

    همانطور که به یاد دارید، تابع Excel INDIRECT اجازه می دهد تا برای سبک های مرجع A1 و R1C1. معمولاً نمی‌توانید از هر دو سبک در یک صفحه استفاده کنید، فقط می‌توانید بین دو نوع مرجع از طریق File > گزینه ها > فرمول ها > R1C1 کادر علامت . به همین دلیل است که کاربران اکسل به ندرت به استفاده از R1C1 فکر می کنندبه عنوان یک رویکرد مرجع جایگزین.

    در فرمول INDIRECT، در صورت تمایل می توانید از هر نوع مرجع در همان برگه استفاده کنید. قبل از حرکت بیشتر، ممکن است بخواهید تفاوت بین سبک های مرجع A1 و R1C1 را بدانید.

    سبک A1 نوع مرجع معمول در اکسل است که به ستونی اشاره می کند که به دنبال آن یک ردیف قرار می گیرد. عدد. به عنوان مثال، B2 به سلولی در تقاطع ستون B و ردیف 2 اشاره دارد.

    سبک R1C1 نوع مرجع مخالف است - ردیف هایی که ستون ها را دنبال می کنند، که استفاده از آن مدتی طول می کشد. به :) برای مثال، R4C1 به سلول A4 اشاره دارد که در ردیف 4، ستون 1 در یک برگه قرار دارد. اگر هیچ عددی بعد از حرف نیامد، به همان سطر یا ستون اشاره می کنید.

    و اکنون، بیایید ببینیم که چگونه تابع INDIRECT مراجع A1 و R1C1 را مدیریت می کند:

    همانطور که در می بینید در تصویر بالا، سه فرمول غیرمستقیم مختلف نتیجه یکسانی را برمی‌گردانند. آیا قبلاً دلیل آن را فهمیده اید؟ شرط می بندم که دارید :)

    • فرمول موجود در سلول D1: =INDIRECT(C1)

    این ساده ترین فرمول است. فرمول به سلول C1 اشاره می کند، مقدار آن را واکشی می کند - رشته متن A2 ، آن را به یک مرجع سلول تبدیل می کند، به سلول A2 می رود و مقدار آن را که 222 است برمی گرداند.

    • فرمول در سلول D3: =INDIRECT(C3,FALSE)

    FALSE در آرگومان دوم نشان می دهد که مقدار ارجاع شده (C3) باید مانند یک مرجع سلول R1C1، یعنی یک شماره ردیف به دنبال یک شماره ستون در نظر گرفته شود. از این رو،فرمول INDIRECT ما مقدار سلول C3 (R2C1) را به عنوان مرجعی به سلول در پیوند ردیف 2 و ستون 1، که سلول A2 است، تفسیر می کند.

    ایجاد ارجاعات غیرمستقیم از مقادیر سلول و متن

    همانطور که ما ارجاعات را از مقادیر سلول ایجاد کردیم، می توانید یک رشته متن و یک مرجع سلول را در فرمول INDIRECT خود ترکیب کنید که با عملگر الحاق (&) به هم گره خورده است. .

    در مثال زیر، فرمول: =INDIRECT("B"&C2) مقداری را از سلول B2 بر اساس زنجیره منطقی زیر برمی گرداند:

    تابع INDIRECT عناصر را به هم متصل می کند. در آرگومان ref_text - متن B و مقدار در سلول C2 -> مقدار در سلول C2 عدد 2 است که به سلول B2 اشاره دارد -> فرمول به سلول B2 می رود و مقدار خود را که عدد 10 است برمی گرداند.

    با استفاده از تابع INDIRECT با محدوده های نامگذاری شده

    به غیر از ایجاد ارجاعات از مقادیر سلول و متن، می توانید Excel را دریافت کنید. تابع INDIRECT برای ارجاع به محدوده های نامگذاری شده .

    فرض کنید، محدوده های نامگذاری شده زیر را در برگه خود دارید:

    • Apples - B2:B6
    • موز - C2:C6
    • لیموها - D2:D6

    برای ایجاد یک مرجع پویا اکسل به هر یک از محدوده‌های نام‌گذاری شده بالا، کافی است نام آن را در یک سلول وارد کنید، مثلاً G1، و به آن سلول از فرمول غیرمستقیم =INDIRECT(G1) مراجعه کنید.

    و اکنون، می توانید یک قدم فراتر بردارید و این فرمول غیر مستقیم را جاسازی کنید.به سایر توابع اکسل برای محاسبه مجموع و میانگین مقادیر در یک محدوده نامگذاری شده معین، یا یافتن حداکثر / حداقل مقدار در محدوده خشم:

    • =SUM(INDIRECT(G1))
    • =AVERAGE(INDIRECT(G1))
    • =MAX(INDIRECT(G1))
    • =MIN(INDIRECT(G1))

    اکنون که ایده کلی نحوه استفاده از تابع INDIRECT در اکسل را به دست آورده اید، می توانیم فرمول های قدرتمندتری را آزمایش کنیم.

    فرمول INDIRECT برای ارجاع پویا به کاربرگ دیگر

    مفید بودن تابع Excel INDIRECT به ساخت مراجع سلولی "پویا" محدود نمی شود. همچنین می‌توانید از آن برای ارجاع به سلول‌ها در کاربرگ‌های دیگر «در حال پرواز» استفاده کنید، و در اینجا نحوه انجام این کار آمده است.

    فرض کنید، چند داده مهم در برگه 1 دارید و می‌خواهید آن داده‌ها را در برگه 2 بکشید. تصویر زیر نشان می‌دهد که چگونه یک فرمول غیرمستقیم اکسل می‌تواند این کار را انجام دهد:

    بیایید فرمولی را که در تصویر می‌بینید جدا کنیم و درک کنیم.

    همانطور که می‌دانید، روش معمول برای ارجاع به برگه دیگر در اکسل نوشتن نام برگه به ​​دنبال علامت تعجب و مرجع سلول / محدوده، مانند SheetName!Range است. از آنجایی که نام برگه اغلب حاوی فاصله(ها) است، بهتر است آن را (نام، نه یک فاصله :) را در یک نقل قول قرار دهید تا از بروز خطا جلوگیری شود، به عنوان مثال 'My Sheet!'$A$1 .

    و اکنون، تنها کاری که باید انجام دهید این است که نام برگه را در یک سلول، آدرس سلول را در سلول دیگر وارد کنید، آنها را در یک رشته متن به هم متصل کنید و آن رشته را بهعملکرد غیر مستقیم به یاد داشته باشید که در یک رشته متنی، شما باید هر عنصری غیر از یک آدرس یا شماره سلول را در دو گیومه قرار دهید و همه عناصر را با استفاده از عملگر الحاق (&) به یکدیگر پیوند دهید.

    با توجه به موارد فوق، ما به الگوی زیر:

    INDIRECT("'" & نام برگه & "'!" & سلول برای بیرون کشیدن داده از )

    به مثال خود بازگردیم، همانطور که در تصویر بالا نشان داده شده است، نام برگه را در سلول A1 قرار می دهید و آدرس سلول ها را در ستون B تایپ می کنید. در نتیجه، فرمول زیر را دریافت می کنید:

    INDIRECT("'" & $A$1 & "'!" & B1)

    همچنین، لطفاً توجه داشته باشید که اگر فرمول را در چندین سلول کپی می کنید، باید ارجاع به نام برگه را با استفاده از قفل کنید. ارجاعات سلول مطلق مانند $A$1.

    یادداشت ها

    • اگر یکی از سلول هایی که حاوی نام و آدرس سلول صفحه دوم هستند (A1 و B1 در فرمول بالا) خالی باشد ، فرمول غیرمستقیم شما یک خطا برمی گرداند. برای جلوگیری از این امر، می توانید تابع INDIRECT را در تابع IF قرار دهید:

      IF(OR($A$1="",B1=""), "", INDIRECT("'" & $A$1 & "'!" & B1))

    • برای اینکه فرمول INDIRECT که به برگه دیگری به درستی کار کند، برگه ارجاع شده باید باز باشد، در غیر این صورت فرمول یک خطای #REF برمی گرداند. برای جلوگیری از بروز خطا، می‌توانید از تابع IFERROR استفاده کنید، که یک رشته خالی را نمایش می‌دهد، هر خطایی رخ دهد:

      IFERROR(INDIRECT("'" & $A$1 & "'!" &B1), "")

    ایجاد یک مرجع پویا اکسل به یک کتاب کار دیگر

    فرمول غیرمستقیم که اشاره داردبه یک کتاب کار اکسل متفاوت بر اساس همان رویکردی است که مرجع به صفحه گسترده دیگری است. شما فقط باید مشخص کنید که نام کتاب کار علاوه بر نام برگه و آدرس سلول باشد.

    برای آسانتر کردن کارها، بیایید با ارجاع به کتاب دیگری به روش معمول شروع کنیم (در صورتی که کتاب شما آپستروف اضافه شود و/یا نام برگه ها حاوی فاصله هستند:

    '[Book_name.xlsx]Sheet_name'!Range

    با فرض اینکه نام کتاب در سلول A2، نام برگه در B2 باشد، و آدرس سلول در C2 است، فرمول زیر را دریافت می کنیم:

    =INDIRECT("'[" & $A$2 & "]" & $B$2 & "'!" & C2)

    از آنجایی که نمی خواهید سلول های حاوی نام کتاب و برگه هنگام کپی فرمول در سلول های دیگر تغییر کنند، شما آنها را با استفاده از مراجع سلولی مطلق، به ترتیب $A$2 و $B$2 قفل کنید.

    و اکنون، با استفاده از الگوی زیر می توانید به راحتی مرجع پویا خود را به یک کتاب کار اکسل دیگر بنویسید:

    =INDIRECT("'[" & نام کتاب & " ]" & نام برگه & "'!" & آدرس سلول )

    توجه داشته باشید. کتاب کاری که فرمول شما به آن اشاره می کند باید همیشه باز باشد، در غیر این صورت تابع INDIRECT یک خطای #REF ایجاد می کند. طبق معمول، تابع IFERROR می تواند به شما در جلوگیری از آن کمک کند:

    =IFERROR(INDIRECT("'[" & A2 & "]" & $A$1 & "'!" & B1), "")

    استفاده از تابع Excel INDIRECT برای قفل کردن یک مرجع سلول

    به طور معمول، مایکروسافت اکسل هنگام درج مراجع سلولی را تغییر می دهد. جدید یا حذف ردیف ها یا ستون های موجود در یک صفحه. برای جلوگیری از این اتفاق می توانیداز تابع INDIRECT برای کار با مراجع سلولی استفاده کنید که در هر صورت باید دست نخورده باقی بماند.

    برای نشان دادن تفاوت، لطفاً موارد زیر را انجام دهید:

    1. هر مقداری را در هر سلول وارد کنید، مثلاً ، شماره 20 در سلول A1.
    2. به روش های مختلف به A1 از دو خانه دیگر مراجعه کنید: =A1 و =INDIRECT("A1")
    3. یک ردیف جدید در بالای ردیف 1 وارد کنید.

    ببین چه اتفاقی افتاده؟ سلول با عملگر منطقی برابر همچنان عدد 20 را برمی گرداند، زیرا فرمول آن به طور خودکار به =A2 تغییر کرده است. سلول با فرمول INDIRECT اکنون 0 را برمی گرداند، زیرا فرمول با درج ردیف جدید تغییر نکرده است و همچنان به سلول A1 اشاره دارد که در حال حاضر خالی است:

    پس از این نمایش، ممکن است شما در زیر این تصور وجود دارد که عملکرد INDIRECT بیشتر آزاردهنده است تا کمک. خوب، بیایید آن را به روش دیگری امتحان کنیم.

    فرض کنید، می خواهید مقادیر موجود در سلول های A2:A5 را جمع آوری کنید، و به راحتی می توانید این کار را با استفاده از تابع SUM انجام دهید:

    =SUM(A2:A5)

    با این حال، شما می خواهید فرمول بدون تغییر باقی بماند، مهم نیست که چند ردیف حذف یا درج شده است. بدیهی ترین راه حل - استفاده از مراجع مطلق - کمکی نخواهد کرد. برای اطمینان، فرمول =SUM($A$2:$A$5) را در برخی از سلول ها وارد کنید، یک ردیف جدید وارد کنید، مثلاً در ردیف 3، و… فرمول تبدیل شده به =SUM($A$2:$A$6) را پیدا کنید.

    البته، چنین حسن نیت مایکروسافت اکسل در اکثر موارد به خوبی کار خواهد کرد. موارد با این وجود، ممکن است سناریوهایی وجود داشته باشد که نمی خواهید فرمول تغییر کند

    مایکل براون یک علاقه‌مند به فناوری است که علاقه زیادی به ساده‌سازی فرآیندهای پیچیده با استفاده از ابزارهای نرم‌افزاری دارد. او با بیش از یک دهه تجربه در صنعت فناوری، مهارت های خود را در Microsoft Excel و Outlook و همچنین Google Sheets و Docs تقویت کرده است. وبلاگ مایکل اختصاص داده شده است تا دانش و تخصص خود را با دیگران به اشتراک بگذارد و نکات و آموزش هایی را برای بهبود بهره وری و کارایی ارائه دهد. چه یک حرفه ای با تجربه باشید و چه مبتدی، وبلاگ مایکل، بینش های ارزشمند و توصیه های عملی را برای استفاده حداکثری از این ابزارهای نرم افزاری ضروری ارائه می دهد.