كيف تتم معالجة الوقت والتاريخ فى الإكسل?
بسم الله الرحمن الرحيم
يعتبر الوقت والتاريخ أحد البيانات كثيرة الإستخدام فى الإكسل وذلك للأغراض المختلفة مثل :
- حساب عدد ساعات العمل الإضافية للموظفين
- حساب عدد الأيام بين تاريخين
- تحديد عدد أيام الأجازة المسموحة لأحد الموظفين
- ….
يعتمد الإكسل فى معالجة الوقت و التاريخ على نظام يسمى بـ Serial Value أو Serial Date-Time هذا النظام يقوم على تخزين التاريخ والوقت على هيئة قيمة رقمية مسلسلة؛ تبدأ هذه القيم المسلسلة بـ 1 والذى يمثل التاريخ 1 – يناير – 1900 والرقم 2 يمثل 2 – يناير – 1900 وهكذا…

هذا بالنسبة للتواريخ بينما يتم معالجة الوقت كرقم عشرى وذلك إعتماداً على أن اليوم يتكون من 24 ساعة فإذا كانت الوقت هو 6:00 AM فإن ذلك يمثل 25% من 24 ساعة وعليه يكون الرقم العشرى الذى يمثل الساعة 6:00 صباحاً هو 0.25

مما سبق يمكن أن نقول أن الإكسل يقوم بمعالجة الوقت والتاريخ من خلال إيجاد مجموع الرقم الصحيح والذى يمثل التاريخ و الرقم العشرى والذى يمثل الوقت؛ وعليه يمكن إستنتاج أن الإكسل سيخزن التاريخ 1/8/2009 فى الساعة 6:00 PM بالرقم 39821.75 حيث 39821 هو التاريخ 1/8/2009 والقيمة 0.75 تمثل الوقت 6:00 PM

ملاحظات :
- الرقم 0 لايمثل اليوم 31/12/1899 وعند إستخدام الدالة YEAR فإنها ستظهر القيمة 1900؛ وعند إستخدام الدالة MONTH فإنها ستظهر القيمة 1
- يقوم الإكسل بمعالجة العام 1900 على أنه أحد السنوات الكبيسة على الرغم من عدم صحة ذلك؛ ويرجع ذلك إلى أن برنامج LOUTS 123 كان يقوم بمعالجة العام 1900 على أنه أحد السنوات الكبيسة -خطأ برمجي فى برنامج LOUTS 123- ورغبة من مايكروسوفت فى الحفاظ على ثبات المعلومات حين يقوم المستخدم بالإنتقال من برنامج إلى آخر فلم يتم تعديل هذا الخطأ، على آلا يتم الوقوع فيه مرة أخرى فى العام 2100
- السنة الكبيسة هى التى يكون خارج قسمتها على 4 رقم صحيح، ويستثنى من ذلك تلك التى تقبل القسمة على 100 ولا تقبل القسمة على 400
- هناك نظام آخر لمعالجة الوقت والتاريخ فى الإكسل يطلق عليه 1904 Mode أو 1904 System وهذا النظام خاص بنظام ماكينتوش Macintosh، يقوم هذا النظام على البدء من الأول من يناير لعام 1904 ويستمر التسلسل كما فى التسلسل السابق، ولا يمكن الدمج بين النظامين فى نفس ملف العمل WorkBook
المصادر :
- Dates And Times In Excel
- Excel 2000 incorrectly assumes that the year 1900 is a leap year
- السنة الكبيسة
فى رعاية الله





الأخ الكريم المعتصم بالله
جزاك الله كل خير على هذه المدونة الجميلة الشاملة.
أرجو مساعدتي ، حيث أني أعمل على تصمصم ملف للحضور والانصراف واحتساب الساعات الاضافي للموظفين ، وتقابلني مشكلة أن ساعات الاضافي اذا زادت عن 24 ساعة يبدأ إكسيل العد من أول وجديد ، بمعني ان ساعات الاضافي للموظف اذا كانت 25:30 ساعة ظهرت على أنها 01:30 ساعة ، مع العلم أي معرف جميع الخانات المنية بأنها ساعة HH:MM .
أرجو مراسلتي بالحل على بريدي .
وجزالك الله كل خير .
لا يجب أن تجعل الخانة التى تشتمل على بيانات العمل الإضافى بتنسيق الوقت
الأصح أن تجعل التنسيق رقمى Number فقط وتضرب القيمة فى 24
ثم تقوم بحياب الإجمال على هذا الأساس
قم بعمل نسخة من الملف وقم بالتجربة عليها ولاحظ هل النتيجة ستكون صحيحة أم لا أو قم برفع الملف على موقع mihd.net
تحديث فى 16/12 : يمكنك إستخدام التنسيق
[h]:mm
فى سبيل الحصول على النتيجة المطلوبة
قم بنسخ التنسيق حتى يظهر بشكل صحيح
بالتوفيق بإذن الله.
جزاكم الله على هذه الجهود النافعة
لقد قمت بوضع دالة احتساب العمر للموظفين لكني وجدت ان الدالة احيانا تعطي النتيجة الصحيحة وأحيانا يظهر لي(#VALUE!) ولعل هذه المشكلة تكمن في طريقة إدخال تاريخ الميلاد،وعندما أذهب الى خلية تاريخ الميلاد واعيد كتابة تاريخ الميلاد في نفس الخلية تعمل الدالة وتعطي النتيجة المطلوبة ولكن السؤال أن لدي بيانات كثيرةواحتاج الى طريقة تغير لي تنسيق تاريخ الميلاد تلقائيا.
مثال:
employee no# date of birth age
2732 12/07/1978 31
2732 13/12/1988 21
2732 19/05/2009 0
3061 17/04/1965 #VALUE!
3061 01/01/1972 #VALUE!
1)أقوم بنسخ اسطوانات درجات فيها كسور اعتيادية وأرغب فى تحويلهــــا الى كســـــور عشرية كيف ذلك ؟
2) كيف أعرف أن العلامة العشرية الموجودة فى صفحة منسوخة من اسطوانة أو صمن صفحة أخرى ليست هى العلامة الموجودة على اللوحة الحسابية بجوار الانتر الأيمن ؟ حيث أنها لا تتفاعل مع المعادلات فى الأكسل اذا كانت من مكان آخر من اللوحة ؟ وكيف يمكننى تغييرها لتتفاعل مع معادلات الأكسل ؟ ولكم كل شكرى وتقديرى