ایجاد سوال
dark_mode
0 دوستدار 0 امتیاز منفی
11 visibility
موضوع: آفیس توسط:

مایکل یک کاربرگ دارد که نام ماه ها (ژانویه، فوریه و غیره) در ستون A دارد. در ستون B، او می خواهد مقداری را از سلول B11 از هر کاربرگ مشخص شده در ستون A خارج کند. بنابراین، اگر ستون A حاوی ماه باشد. March" در سلول سمت راست مارس (در ستون B) او می خواهد مقدار را در March!B11 بکشد. مایکل معتقد است که تابع INDIRECT باید در این مورد کمک کند، اما او نمی تواند آن را عملی کند.

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

=INDIRECT(A1&"!B11")

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

=IFERROR(INDIRECT(A1&"!B11"),"No Data")

این رویکردها مستقیماً از هر چیزی که در سلول A1 است استفاده می کنند، به شرطی که مقدار در A1 متن و یک کلمه باشد. اگر ممکن است کلمه دومی در A1 وجود داشته باشد (مانند "تولید ژوئیه")، پس باید فرمول را کمی تغییر دهید تا شامل آپاستروف ها در اطراف هر آنچه در سلول A11 است باشد:

=IFERROR(INDIRECT(""&A1&"!B11"),"No Data")

از آنجایی که از آپستروف ها برای قرار دادن نام کاربرگ استفاده می شود، نمی توانید متنی در سلول A1 داشته باشید که شامل آپوستروف باشد. بنابراین، "July Production" در سلول A1 به خوبی کار می کند (البته به شرط داشتن برگه ای به نام "July Production")، اما "Julys Production" به دلیل آپستروف کار نخواهد کرد.

علاوه بر این، اگر هر چیزی که در سلول A1 وجود دارد ممکن است دارای فضاهای پیشرو یا انتهایی باشد، باید از شر آن فضاها خلاص شوید. ساده ترین راه برای جبران استفاده از تابع TRIM است:

=IFERROR(INDIRECT(""&TRIM(A1)&"!B11"),"No Data")

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

=IFERROR(INDIRECT(TEXT(A1,"mmmm")&"!B11"),"No Data")

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

اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

looks_5نام شما برای نمایش - اختیاری
حریم شخصی : آدرس ایمیل شما محفوظ میماند و برای استفاده های تجاری و تبلیغاتی به کار نمی رود
عدد چهار رقمی در تصویر را وارد کنید

برای جلوگیری از این تایید در آینده, لطفا وارد شده یا ثبت نام کنید.
اگر حساب گوگل دارید به راحتی وارید شوید

0 پاسخ وجود دارد

سوال مشابهی یافت نشد

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

23.2k سوال

8.5k پاسخ

608 دیدگاه

9.7k کاربر

77 نفر آنلاین
0 عضو و 77 مهمان در سایت حاضرند
بازدید امروز: 10677
بازدید دیروز: 8462
بازدید کل: 15421367
...