فصل ۲: فرمول، ارجاع و اشکال‌زدایی

Named Range و Name Manager: فرمول‌هایی که خودشان توضیح می‌دهند

نام، مستندسازی درون فرمول است

=B2*C2*(1+$F$1) برای شما امروز واضح است، برای همکارتان شش ماه بعد نه. همین فرمول با نام‌ها این شکل را دارد: =Price*Area*(1+VAT). نام (Name) یک برچسب برای یک سلول، محدوده، مقدار ثابت یا حتی یک فرمول است و در کل فایل در دسترس است.

چهار راه ساختن نام

روشمسیرمناسب برای
Name Boxانتخاب محدوده، تایپ نام در Name Box، Enterسریع‌ترین راه برای یک نام
Define NameFormulas ← Define Nameتعیین Scope و توضیح (Comment)
Create from SelectionCtrl+Shift+F3ساختن ده‌ها نام از سرستون‌ها یکجا
Name ManagerCtrl+F3دیدن، ویرایش، حذف و فیلتر نام‌های خراب

قواعد نام‌گذاری: با حرف یا زیرخط شروع شود، فاصله نداشته باشد، شبیه نشانی سلول نباشد (مثلاً VAT1 مجاز نیست چون ستون VAT و سطر 1 وجود دارد). نام فارسی مجاز است (=مبلغ*نرخ_مالیات)، اما برای فرمول‌نویسی سریع‌تر و سازگاری با VBA نام لاتین توصیه می‌شود.

نام برای مقدار ثابت و برای فرمول

نام لازم نیست به سلول اشاره کند. در Define Name، در کادر Refers to می‌توانید یک مقدار یا فرمول بنویسید:

نام: VAT              Refers to:  =0.1
نام: Today_Shamsi     Refers to:  =TEXT(TODAY(),"[$-fa-IR,16]yyyy/mm/dd")
نام: LastRow          Refers to:  =COUNTA(Data!$A:$A)
نام: SalesList        Refers to:  =Data!$A$2:INDEX(Data!$A:$A, LastRow)

استفاده:
=Price*Area*(1+VAT)
=SUM(SalesList)

نام SalesList یک محدوده‌ی پویا است: هرچه داده به ستون A اضافه شود، بزرگ‌تر می‌شود. این روش را به OFFSET ترجیح دهید چون OFFSET «فرار» (Volatile) است و با هر تغییری در فایل از نو حساب می‌شود. البته بهترین راه برای محدوده‌ی پویا، جدول Excel است که در فصل ۵ می‌بینیم.

Scope: کل فایل یا یک شیت

نامی که Scope آن Workbook است در همه‌ی شیت‌ها معتبر است. اگر Scope را یک شیت خاص بگذارید، می‌توانید در هر شیت یک نام مشابه (مثلاً Target) با مقدار متفاوت داشته باشید؛ مناسب برای قالب‌هایی که هر شیت یک شعبه است.

نکته‌هایی که کمتر کسی می‌داند

  • در حین نوشتن فرمول، F3 پنجره‌ی Paste Name را باز می‌کند؛ در یک سلول خالی Paste List را بزنید تا فهرست همه‌ی نام‌ها و آدرس‌هایشان برای مستندسازی درج شود.
  • Formulas ← Define Name ← Apply Names فرمول‌های موجود را بازنویسی می‌کند تا به‌جای $F$1 نام VAT را نشان دهند.
  • نام‌های «نسبی» هم ممکن‌اند: اگر وقتی C5 فعال است، نام Left را برابر =B5 (بدون $) تعریف کنید، Left در هر سلول یعنی «سلول سمت چپ خودم».
  • فایل‌هایی که سال‌ها کپی شده‌اند اغلب صدها نام پنهان یا خراب (#REF!) و ارجاع به فایل‌های قدیمی دارند. در Name Manager فیلتر Names with Errors را بزنید و حذفشان کنید؛ یکی از علت‌های پیام مزاحم «Update Links» همین‌هاست.
  • کپی کردن یک شیت به فایل دیگر، نام‌های مرتبط را هم می‌برد و اگر نام تکراری باشد، پیام «A formula or sheet you want to move contains the name…» را صدها بار نشان می‌دهد. قبل از کپی، نام‌های اضافه را پاک کنید.

برای ذخیره‌ی پیشرفت و شرکت در آزمون، وارد شوید — رایگان است.