فهرست مطالب
این آموزش نحوه ایجاد قوانین سفارشی اعتبارسنجی داده ها در اکسل را نشان می دهد. چند نمونه از فرمولهای اعتبارسنجی دادههای E xcel را خواهید یافت که فقط اعداد یا مقادیر متن را در سلولهای خاص مجاز میکنند، یا فقط متنی که با نویسههای خاص شروع میشود، اجازه میدهد دادههای منحصربهفرد از تکراری شدن جلوگیری کند، و موارد دیگر.
در آموزش دیروز ما شروع به بررسی اعتبارسنجی داده های اکسل کردیم - هدف آن چیست، چگونه کار می کند و چگونه از قوانین داخلی برای تأیید اعتبار داده ها در کاربرگ های خود استفاده کنید. امروز، میخواهیم قدمی فراتر برداریم و در مورد جنبههای دقیق اعتبارسنجی دادههای سفارشی در اکسل صحبت کنیم و همچنین چندین فرمول اعتبارسنجی مختلف را آزمایش کنیم.
چگونه ایجاد اعتبارسنجی داده های سفارشی با فرمول
Microsoft Excel دارای چندین قانون اعتبار سنجی داده داخلی برای اعداد، تاریخ ها و متن است، اما آنها فقط ابتدایی ترین سناریوها را پوشش می دهند. اگر میخواهید سلولها را با معیارهای خود تأیید کنید، یک قانون اعتبارسنجی سفارشی بر اساس یک فرمول ایجاد کنید. به این صورت است:
- یک یا چند سلول را برای اعتبارسنجی انتخاب کنید.
- کادر محاوره ای Data Validation را باز کنید. برای این کار، روی دکمه Data Validation در برگه Data ، در گروه Data Tools کلیک کنید یا دنباله کلید Alt > D > L (هر کلید باید جداگانه فشار داده شود).
- در برگه تنظیمات پنجره گفتگوی Data Validation ، Custom را انتخاب کنید. کادر Allow و وارد کنیدموقعیت سطرها و ستون ها بنابراین، برای سلول D3 فرمول به
=A3/B3
تغییر میکند، و برای D4 به=A4/B4
تبدیل میشود، که اعتبار دادهها را اشتباه انجام میدهد!برای اصلاح فرمول، فقط "$" را قبل از ارجاعات ستون و ردیف تایپ کنید تا قفل شود. آنها:
=$A$2/$B$2
. یا، برای جابجایی بین انواع مختلف مرجع، F4 را فشار دهید.در شرایطی که میخواهید هر سلول را بر اساس معیارهای خودش اعتبارسنجی کنید، از مراجع سلولی نسبی بدون علامت $ استفاده کنید تا فرمول تنظیم را دریافت کنید. هر سطر یا/و ستون:
همانطور که می بینید، "حقیقت مطلق" وجود ندارد، همان فرمول بسته به موقعیت و وظیفه خاص شما می تواند درست یا غلط باشد.
این نحوه استفاده از اعتبارسنجی داده ها در اکسل با فرمول های خود است. برای درک بیشتر، احساس رایگان برای دانلود کتاب کار نمونه ما در زیر و بررسی تنظیمات قانون. از شما سپاسگزارم که خواندید و امیدوارم هفته آینده شما را در وبلاگ خود ببینیم!
کتاب کار را برای دانلود تمرین کنید
نمونه های اعتبارسنجی داده اکسل (فایل xlsx.)
فرمول اعتبارسنجی داده شما در کادر فرمول . - روی OK کلیک کنید.
اختیاری، میتوانید یک پیام ورودی سفارشی و هشدار خطا اضافه کنید که به ترتیب زمانی که کاربر سلول تأیید شده را انتخاب میکند یا دادههای نامعتبر را وارد میکند، نشان داده میشود.
در زیر چند نمونه از قوانین اعتبارسنجی سفارشی برای انواع دادههای مختلف را خواهید دید.
توجه داشته باشید. همه قوانین اعتبارسنجی داده اکسل، داخلی و سفارشی، فقط داده های جدیدی را تأیید می کنند که پس از ایجاد قانون در یک سلول تایپ می شوند. دادههای کپی شده اعتبارسنجی نمیشوند، همچنین دادههای ورودی قبل از ایجاد قانون در سلول تأیید نمیشوند. برای مشخص کردن ورودیهای موجود که معیارهای اعتبارسنجی دادههای شما را برآورده نمیکنند، از ویژگی Circle Invalid Data همانطور که در نحوه پیدا کردن دادههای نامعتبر در اکسل نشان داده شده است استفاده کنید.
تأیید اعتبار دادههای اکسل برای مجاز کردن فقط اعداد
در کمال تعجب، هیچ یک از قوانین اعتبارسنجی داده های اکسل داخلی برای شرایط بسیار معمولی که نیاز دارید کاربران را به وارد کردن اعداد در سلول های خاص محدود کنید، پاسخ نمی دهد. اما این را می توان به راحتی با یک فرمول اعتبارسنجی داده سفارشی بر اساس تابع ISNUMBER انجام داد، مانند این:
=ISNUMBER(C2)
که در آن C2 بالاترین سلول محدوده ای است که می خواهید اعتبار سنجی کنید.
توجه. تابع ISNUMBER به هر مقدار عددی در سلول های معتبر اجازه می دهد، از جمله اعداد صحیح، اعشاری، کسری و همچنین تاریخ ها و زمان ها، که از نظر اکسل نیز اعداد هستند.
تأیید اعتبار داده اکسل برای اجازهفقط متن
اگر به دنبال خلاف آن هستید - اجازه دهید فقط ورودی های متن در محدوده مشخص سلول ها را مجاز کنید، سپس با تابع ISTEXT یک قانون سفارشی بسازید، به عنوان مثال:
=ISTEXT(D2)
جایی که D2 بالاترین سلول محدوده انتخاب شده است.
مجاز به متنی که با نویسه(های) خاص شروع می شود
اگر همه مقادیر در یک مشخص هستند محدوده باید با یک کاراکتر یا زیر رشته خاص شروع شود، سپس اعتبار سنجی داده اکسل را بر اساس تابع COUNTIF با یک کاراکتر عام انجام دهید:
COUNTIF( cell," text*")به عنوان مثال، برای اطمینان از اینکه همه شناسه های سفارش در ستون A با پیشوند "AA-"، "aa-"، "Aa-"، یا "aA-" (بدون حساس به حروف بزرگ) شروع می شوند، یک قانون سفارشی را با این تعریف کنید. فرمول اعتبار سنجی داده ها:
=COUNTIF(A2,"aa-*")
فرمول اعتبار سنجی با منطق OR (چند معیار)
در صورت وجود 2 یا بیشتر معتبر پیشوندها، چندین تابع COUNTIF را اضافه کنید تا قانون اعتبارسنجی داده اکسل شما با منطق OR کار کند:
=COUNTIF(A2,"aa-*")+COUNTIF(A2,"bb-*")
فرمول اعتبارسنجی حساس به بزرگی و کوچکی
اگر حروف نویسه مهم است، از EXACT در ترکیب با تابع LEFT برای ایجاد یک فرمول اعتبارسنجی حساس به حروف بزرگ برای ورودی هایی که با متن خاصی شروع می شوند، استفاده کنید:
EXACT(LEFT( cell, number_of_chars)، text)به عنوان مثال، برای اینکه فقط به آن دسته از شناسه های سفارشی اجازه دهید که با "AA-" شروع می شوند (نه "aa-" و نه "Aa-" مجاز نیستند)، از این استفاده کنید. فرمول:
=EXACT(LEFT(A2,3),"AA-")
در فرمول بالا،تابع LEFT 3 کاراکتر اول را از سلول A2 استخراج می کند و EXACT یک مقایسه حساس به حروف بزرگ و کوچک با زیررشته کدگذاری شده انجام می دهد ("AA-" در این مثال). اگر دو رشته فرعی دقیقاً مطابقت داشته باشند، فرمول TRUE را برمیگرداند و اعتبارسنجی انجام میشود. در غیر این صورت FALSE برگردانده می شود و اعتبارسنجی ناموفق است.
مجوز ورودی های حاوی متن خاص
اجازه دادن به ورودی هایی که حاوی متن خاصی در هر نقطه از سلول هستند (در ابتدا) ، وسط یا پایان)، از تابع ISNUMBER در ترکیب با FIND یا SEARCH استفاده کنید، بسته به اینکه می خواهید مطابقت با حروف کوچک یا بزرگ و کوچک داشته باشید:
- تأیید سنجی غیر حساس به حروف بزرگ و کوچک: ISNUMBER(SEARCH( متن ، سلول ))
- اعتبارسنجی حساس به حروف کوچک و بزرگ: ISNUMBER(FIND( متن ، سلول ))
در مجموعه داده های نمونه ما، برای اینکه فقط ورودی های حاوی متن "AA" در سلول های A2:A6 مجاز باشد، از یکی از این فرمول ها استفاده کنید:
بدون حساس به حروف کوچک و بزرگ:
=ISNUMBER(SEARCH("AA", A2))
حساس به حروف بزرگ و کوچک:
=ISNUMBER(FIND("AA", A2))
فرمول ها با منطق زیر کار می کنند:
شما زیر رشته "AA" را در سلول A2 جستجو می کنید با استفاده از FIND یا SEARCH، و هر دو موقعیتی از اولین کاراکتر در رشته فرعی را برمیگردانند. اگر متن پیدا نشد، یک خطا برگردانده می شود. برای هر مقدار عددی که در نتیجه جستجو برگردانده می شود، تابع ISNUMBER درست است و اعتبارسنجی داده ها موفقیت آمیز است. در صورت بروز خطا، ISNUMBER FALSE را برمیگرداند و ورود در a مجاز نخواهد بودسلول.
تأیید اعتبار دادهها برای اجازه دادن فقط ورودیهای منحصربهفرد و غیرمجاز کردن موارد تکراری
در شرایطی که یک ستون خاص یا محدودهای از سلول نباید دارای موارد تکراری باشد، یک قانون اعتبارسنجی داده سفارشی را پیکربندی کنید تا فقط ورودی های منحصر به فرد مجاز باشد. برای این کار، ما از فرمول کلاسیک COUNTIF برای شناسایی موارد تکراری استفاده می کنیم:
=COUNTIF( محدوده، topmost_cell)<=1به عنوان مثال، برای ایجاد مطمئن شوید که فقط شناسههای سفارش منحصربهفرد در سلولهای A2 تا A6 وارد میشوند، یک قانون سفارشی با این فرمول اعتبارسنجی داده ایجاد کنید:
=COUNTIF($A$2:$A$6, A2)<=1
وقتی یک مقدار منحصر به فرد وارد میشود، فرمول TRUE را برمیگرداند و اعتبارسنجی موفق می شود اگر همان مقدار قبلاً در محدوده مشخص شده وجود داشته باشد (تعداد بیشتر از 1)، COUNTIF FALSE را برمی گرداند و ورودی اعتبار سنجی ناموفق می شود.
لطفاً توجه داشته باشید که ما محدوده را با ارجاعات سلول مطلق قفل می کنیم (A$2:$A $6) و از یک مرجع نسبی برای سلول بالایی (A2) استفاده کنید تا فرمول تنظیم مناسب برای هر سلول در محدوده معتبر را بدست آورید.
توجه داشته باشید. این فرمولهای اعتبارسنجی داده به حروف بزرگ و کوچک حساس نیست ، حروف بزرگ و کوچک را از هم تشخیص نمیدهد.
فرمولهای اعتبارسنجی برای تاریخها و زمانها
تأیید اعتبار تاریخ داخلی اطلاعات بسیار زیادی را فراهم میکند. معیارهای از پیش تعریف شده برای محدود کردن کاربران برای وارد کردن فقط تاریخ بین دو تاریخی که شما مشخص کردهاید، بزرگتر، کمتر یا مساوی با یک تاریخ معین.
اگر میخواهید کنترل بیشتری روی دادهها داشته باشید.اعتبارسنجی در کاربرگهای خود، میتوانید عملکرد داخلی را با یک قانون سفارشی تکرار کنید یا فرمول خود را بنویسید که فراتر از قابلیتهای داخلی اعتبارسنجی دادههای اکسل است.
تاریخ بین دو تاریخ مجاز باشد
برای محدود کردن ورودی به تاریخ در یک محدوده مشخص، می توانید از قانون تاریخ از پیش تعریف شده با معیارهای "بین" استفاده کنید یا یک قانون اعتبارسنجی سفارشی با این فرمول عمومی ایجاد کنید:
AND( cell> ;= تاریخ_شروع)، سلول<= تاریخ_پایان)کجا:
- سلول بالاترین سلول در محدوده تأیید شده است و تاریخهای
- شروع و پایان تاریخهای معتبری هستند که از طریق تابع DATE یا ارجاع به سلولهای حاوی تاریخ ارائه میشوند.
به عنوان مثال، برای مجاز کردن فقط تاریخها در ماه جولای سال 2017، از فرمول زیر استفاده کنید:
=AND(C2>=DATE(2017,7,1),C2<=DATE(2017,7,31))
یا تاریخ شروع و پایان را وارد کنید تاریخ در برخی از سلول ها (در این مثال F1 و F2)، و به آن سلول ها در فرمول خود اشاره کنید:
=AND(C2>=$F$1, C2<=$F$2)
لطفاً توجه داشته باشید که تاریخ های مرزی ar e با ارجاعات سلولی مطلق قفل شده است.
فقط روزهای هفته یا آخر هفته مجاز است
برای محدود کردن کاربر برای ورود فقط روزهای هفته یا آخر هفته، یک قانون اعتبارسنجی سفارشی بر اساس پیکربندی کنید در تابع WEEKDAY.
با آرگومان return_type که روی 2 تنظیم شده است، WEEKDAY یک عدد صحیح از 1 (دوشنبه) تا 7 (یکشنبه) را برمی گرداند. بنابراین، برای روزهای هفته (دوشنبه تا جمعه) نتیجه فرمول باید باشدکمتر از 6، و برای تعطیلات آخر هفته (شنبه و یکشنبه) بیشتر از 5.
فقط روزهای کاری مجاز :
WEEKDAY( سلول,2)<6فقط آخر هفته مجاز باشد :
WEEKDAY( سلول,2)>5به عنوان مثال، برای اجازه ورود فقط روزهای کاری در سلول های C2:C6، از این استفاده کنید فرمول:
=WEEKDAY(C2,2)<6
تأیید تاریخ ها بر اساس تاریخ امروز
در بسیاری از شرایط، ممکن است بخواهید از تاریخ امروز به عنوان شروع استفاده کنید تاریخ محدوده تاریخ مجاز برای به دست آوردن تاریخ فعلی، از تابع TODAY استفاده کنید و سپس تعداد روزهای مورد نظر را به آن اضافه کنید تا تاریخ پایان را محاسبه کنید.
به عنوان مثال، برای محدود کردن ورود داده به 6 روز از هم اکنون (از جمله 7 روز) امروز، ما قصد داریم از قانون داخلی تاریخ با معیارهای مبتنی بر فرمول استفاده کنیم:
- Date را در Allow انتخاب کنید
- بین را در داده
- در کادر تاریخ شروع انتخاب کنید،
=TODAY()
را وارد کنید - در <1 کادر>تاریخ پایان ،
=TODAY() + 6
را وارد کنید
به روشی مشابه، می توانید کاربران را به وارد کردن تاریخ های قبل یا بعد از تاریخ امروز محدود کنید. برای این کار، کمتر از یا بیشتر از را در کادر داده انتخاب کنید و سپس عدد =TODAY()
را در تاریخ پایان یا <1 وارد کنید. به ترتیب>Start .
تأیید زمان ها بر اساس زمان فعلی
برای اعتبارسنجی داده ها بر اساس زمان فعلی، از قانون زمان از پیش تعریف شده با فرمول اعتبارسنجی داده های خود استفاده کنید:
- در کادر Allow ، را انتخاب کنید زمان .
- در کادر داده ، یا کمتر از را انتخاب کنید تا فقط زمانهای قبل از زمان فعلی مجاز باشد، یا بیشتر از برای اجازه دادن زمانهای بعد از زمان فعلی.
- در کادر زمان پایان یا زمان شروع (بسته به معیارهایی که در مرحله قبل انتخاب کردهاید)، یکی از فرمول های زیر را وارد کنید:
- برای اعتبارسنجی تاریخ ها و زمان ها بر اساس تاریخ و زمان فعلی:
=NOW()
- برای اعتبارسنجی بار بر اساس زمان کنونی:
=TIME( HOUR(NOW()), MINUTE(NOW()), SECOND(NOW()))
- برای اعتبارسنجی تاریخ ها و زمان ها بر اساس تاریخ و زمان فعلی:
تصویر صفحه زیر قانونی را نشان می دهد که فقط چند برابر بیشتر از زمان فعلی اجازه می دهد:
قانون اعتبارسنجی دادههای اکسل سفارشی کار نمیکند
اگر قانون اعتبارسنجی دادههای مبتنی بر فرمول شما آنطور که انتظار میرود کار نمیکند، 3 نکته اصلی برای بررسی وجود دارد:
- فرمول اعتبار سنجی داده ها صحیح است
- فرمول اعتبار سنجی به یک سلول خالی اشاره نمی کند
- از مراجع سلولی مناسب استفاده می شود
صحت را بررسی کنید از فرمول اعتبارسنجی داده اکسل شما
برای شروع، فرمول اعتبارسنجی خود را در سلولی کپی کنید تا مطمئن شوید که خطایی مانند #N/A، #VALUE یا #DIV/0 را برنمیگرداند.
اگر در حال ایجاد یک قانون سفارشی هستید ، فرمول باید مقادیر منطقی TRUE و FALSE یا مقادیر 1 و 0 معادل آنها را به ترتیب برگرداند.
اگر از معیارهای مبتنی بر فرمول در یک قانون داخلی<استفاده میکنید. 12> (همانطور که برای اعتبارسنجی زمان ها بر اساسزمان فعلی)، همچنین میتواند مقدار عددی دیگری را برگرداند.
فرمول اعتبارسنجی دادههای اکسل نباید به یک سلول خالی اشاره کند
در بسیاری از موقعیتها، اگر جای خالی را نادیده بگیرید زمانی که قانون را تعریف می کنید (معمولاً به طور پیش فرض انتخاب می شود) و یک یا چند سلول ارجاع شده در فرمول شما خالی است، هر مقداری در سلول تأیید شده مجاز خواهد بود.
در اینجا یک مثال به ساده ترین شکل آمده است:
مرجع سلولی مطلق و نسبی در فرمول های اعتبارسنجی داده ها
هنگام تنظیم یک قانون اعتبارسنجی اکسل مبتنی بر فرمول، لطفاً به خاطر داشته باشید که همه مراجع سلولی در شما فرمول نسبت به سلول بالا سمت چپ در محدوده انتخاب شده است.
اگر در حال ایجاد یک قانون برای بیش از یک سلول هستید و معیارهای اعتبارسنجی شما به سلول های خاص وابسته است ، حتما از ارجاعات سلول مطلق (با علامت $ مانند $A$1) استفاده کنید، در غیر این صورت قانون شما فقط برای سلول اول به درستی کار می کند. برای نشان دادن بهتر موضوع، لطفاً مثال زیر را در نظر بگیرید.
فرض کنید، میخواهید ورود دادهها در سلولهای D2 تا D5 را به اعداد کامل بین 1 (حداقل مقدار) و نتیجه تقسیم A2 بر B2 محدود کنید. بنابراین، شما حداکثر مقدار را با این فرمول ساده =A2/B2
محاسبه می کنید، مانند تصویر زیر:
مشکل این است که این فرمول به ظاهر صحیح برای سلول های D3 کار نمی کند. D5 زیرا مراجع نسبی بر اساس یک نسبی تغییر می کنند