Trev جدولی از پیش بینی های فروش بر اساس محصول دارد که چندین کاربر آن را بررسی و به روز می کنند. پیشبینیها در ابتدا با فرمولهای مختلفی تنظیم میشوند، اما کاربران مجازند با وارد کردن مقداری در هر سلولی که حاوی یکی از فرمولها باشد، فرمولها را لغو کنند. اگر کاربر این کار را انجام دهد، برای Trev مفید است که اکسل به نوعی آن سلول را برجسته کند.
چند رویکرد وجود دارد که می توانید در پیش بگیرید. ابتدا می توانید از قالب بندی شرطی برای برجسته سازی استفاده کنید. نوع قانون قالب بندی شرطی را روی Format Only Cells that Contain، "Cell Value" "Not Equal to" تنظیم کنید و سپس فرمول را به عنوان مقایسه وارد کنید. این به شما میگوید که چه زمانی مقدار موجود در سلول با فرمول برابر نیست، اما یک "gottcha" بالقوه در صورتی است که فرد فرمول را با نتیجه آن فرمول لغو کند. به عنوان مثال، اگر فرمول نتیجه "27" را ایجاد می کرد و کاربر "27" را در سلول تایپ می کرد.
امکان دیگر این است که یک فرمول را در یک ثابت نامگذاری شده تعریف کنید و سپس از آن ثابت نامگذاری شده در قالب شرطی استفاده کنید. این مراحل را دنبال کنید:

شکل 1. کادر محاوره ای New Name.
=NOT(ISFORMULA(INDIRECT("rc",FALSE)))
- تب Formulas روبان را نمایش دهید.
- در گروه نامهای تعریف شده روی تعریف نام کلیک کنید. اکسل کادر محاوره ای New Name را نمایش می دهد. (شکل 1 را ببینید.)
- در کادر Name نامی را که می خواهید به این فرمول اختصاص دهید وارد کنید. برای این مثال، از CellHasNoFormula استفاده کنید .
- هر چیزی را که در کادر Refers To است، در پایین کادر محاوره ای انتخاب کنید و Del را فشار دهید . با این کار هر آنچه اکسل قبلاً در آنجا داشت خلاص می شود.
- فرمول زیر را در کادر Refers To وارد کنید:
- روی OK کلیک کنید.
توجه داشته باشید که تابع ISFORMULA (مرحله 5) در اکسل 2013 معرفی شده است. اگر از اکسل 2007 یا اکسل 2010 استفاده می کنید، به جای آن باید از فرمول زیر در مرحله 5 استفاده کنید:
=NOT(GET.CELL(48,INDIRECT("rc",FALSE)))
با تنظیم فرمول، می توانید چند فرمت شرطی را تعریف کنید و از این فرمول نامگذاری شده در قالب استفاده کنید. به سادگی نوع قانون قالب بندی شرطی را روی استفاده از فرمول برای تعیین اینکه کدام سلول باید فرمت شود را تنظیم کنید و فرمول زیر را در شرایط وارد کنید:
=CellHasNoFormula
بسته به اینکه آیا فرمولی در سلول وجود دارد یا خیر، فرمول True یا False را برمی گرداند. اگر هیچ فرمولی وجود نداشته باشد، True برگردانده می شود و هر فرمتی که مشخص می کنید به سلول اعمال می شود.
روش دیگر این است که از رویکرد ثابت نام برده صرف نظر کنید و در عوض از یک فرمول به طور مستقیم در قانون قالب بندی شرطی خود استفاده کنید. اطمینان حاصل کنید که قانون را به صورت استفاده از فرمول برای تعیین اینکه کدام سلول باید فرمت شود را تعریف کرده اید و در شرایطی که برای مثال، سلول C1 را به صورت مشروط قالب بندی می کنید، فرمول زیر را وارد کنید:
=NOT(ISFORMULA(C1))
اگر فرمولی در سلول وجود نداشته باشد، فرمول True را برمی گرداند، بنابراین فرمت شرطی اعمال می شود.
اگر از اکسل 2007 یا اکسل 2010 استفاده می کنید، می توانید تابع ISFORMULA خود را با استفاده از یک ماکرو، مانند زیر، کنار هم قرار دهید:
Function IsFormula(Check_Cell As Range) As Boolean
Application.Volatile
IsFormula = Check_Cell.HasFormula
End Function
سپس میتوانید از IsFormula خود در قانون قالببندی شرطی، همانطور که قبلاً بحث شد، استفاده کنید.
تنها نقطه ضعف استفاده از هر یک از این فرمول ها برای تعیین اینکه آیا یک فرمول در سلول وجود دارد این است که نمی توان تعیین کرد که آیا فرمول موجود در سلول با فرمول دیگری جایگزین شده است یا خیر. این هم برای رویکرد کلان و هم برای رویکرد فرمول تعریف شده صدق می کند.
یک رویکرد کاملاً متفاوت این است که کمی در برگه خود تجدید نظر کنید. شما می توانید سلول هایی را برای ورودی کاربر از سلول هایی که از فرمول ها استفاده می کنند جدا کنید. این فرمول می تواند از یک تابع IF استفاده کند تا ببیند آیا کاربر چیزی را در سلول ورودی کاربر وارد کرده است یا خیر. اگر نه، از فرمول شما برای تعیین مقدار استفاده می شود. اگر چنین است، پس از ورودی کاربران در اولویت فرمول شما استفاده می شود. این رویکرد به شما اجازه می دهد تا فرمول های مورد نیاز خود را بدون اینکه توسط کاربر بازنویسی شود، حفظ کنید. این منجر به یکپارچگی بیشتر فرمول ها و نتایج کاربرگ می شود.
def