لوئیس تاریخ هایی را با فرمت "04C18" دریافت می کند که در آن دو رقم اول روز، حرف وسط ماه است (A ژانویه، B فوریه، C مارس و غیره) و دو رقم آخر عبارتند از سال او باید این تاریخ های کدگذاری شده را به مقادیر تاریخ معمولی تبدیل کند که بتواند در اکسل با آنها کار کند.
بزرگترین چیزی که این قالب تاریخ را غیر استاندارد می کند، استفاده از حروف الفبای ماه است. بنابراین، اولین کاری که باید انجام دهید این است که بفهمید چگونه آن کاراکتر را به یک ماه عددی تبدیل کنید. اینجاست که تابع CODE می تواند مفید باشد. کد اسکی را برای کاراکتر برمی گرداند. حرف A مقدار 65، B 66 و غیره را برمی گرداند. بنابراین، تنها کاری که برای تبدیل حروف به اعداد 1 تا 12 باید انجام دهید این است که از چیزی شبیه به این استفاده کنید:
=CODE(UPPER(MID(A1,3,1)))-64
تابع UPPER برای تبدیل کاراکتر ماه به حروف بزرگ استفاده می شود، فقط در صورتی که کد برای ماه ها اجازه حروف کوچک را بدهد.
روش دیگر برای تبدیل ماه ها استفاده از تابع FIND به این صورت است:
=FIND(UPPER(MID(A1,3,1)),"ABCDEFGHIJKL",1)
این تکنیک کاراکتر را در رشته الفبایی پیدا میکند و افست را در آن رشته، از 1 تا 12 برمیگرداند. اگر حروف نشاندهنده ماهها متوالی نباشند یا دنبالهای در حال کاهش باشند، بهتر است از این روش استفاده شود.
سپس میتوان از هر یک از روشهای تبدیل ماهها در تابع DATE برای برگرداندن تاریخ بر اساس سال، ماه و روز استفاده کرد. این مثال از روش CODE استفاده می کند، اما شما می توانید به همین راحتی از روش FIND استفاده کنید:
=DATE(2000+RIGHT(A1,2),CODE(UPPER(MID(A1,3,1)))-64,LEFT(A1,2))
اگر این امکان وجود داشته باشد که تاریخ های کدگذاری شده ممکن است برخی از تاریخ های قبل از سال 2000 را شامل شود، استفاده از تابع DATEVALUE برای جمع آوری تاریخ نتایج دقیق تری ایجاد می کند:
=DATEVALUE(CODE(UPPER(MID(A1,3,1)))-64&"/"&LEFT(A1,2)&"/"&RIGHT(A1,2))
اگر از رویکرد DATEVALUE استفاده میکنید، بدانید که فرمول شماره سریال تاریخ را برمیگرداند و باید سلول را قالببندی کنید تا تاریخ را همانطور که میخواهید نمایش دهد.