مشاهدة النسخة كاملة : شرح مبسط لدالة datedif لحساب الفرق بين تاريخين


alfa
17-04-2010, 10:30 PM
السلام عليكم
تستخدم هذه الدالة لحساب الفارق بين تاريخين
الناتج يكون على شكل
أيام
شهور
سنين
حسبما تريد
لكى تعمل الدالة datedif
تحتاج إلى
تاريخ البداية " الأقدم "
تاريخ النهاية " الأحدث "
شكل الناتج أيام شهور - سنين
ويقصد بالأيام أى الأيام بعد طرح الشهور و ليس كل الأيام
ويقصد بالشهور أى الشهور التى بين تاريخين بعد طرح السنوات
فمثلا
فرق الأيام بين أول أكتوبر 1995 و 5 أكتوبر 2010
هو 4 أيام
بصرف النظر عن فرق السنوات و هو 15 سنة
شكل الدالة
انظر الصورة
http://posterous.com/getfile/files.posterous.com/kemas/jQusvsl33zThRa7vBiHbgi2f5xaR6Bq2spazFyA3zt23CnuLUd 4w7Xt9njLA/image001.jpg.scaled.500.jpg (http://posterous.com/getfile/files.posterous.com/kemas/qDykkGCVznebIcn9bZlXHhgupNmyNH5glgu7nX26qTiGDpaJP4 yHZGDiXrcQ/image001.jpg)
لاحظ أننا ثبتنا التاريخين حتى لا تتأثر المعادلة عند السحب لأسفل
لمعرفة فرق الأيام
"md"
و للشهور
"ym"
و للسنوات
"y"
هذا شرح مبسط
وللدالة مشاكل و طرق أخرى
كالعادة حمل المثال و اختبره بنفسك فهو أفضل طريقة للفهم


Book2.xls (http://posterous.com/getfile/files.posterous.com/kemas/JDHbzXtdvDSJwB4mjeSuzHxBMd7uhBy0a0yVKFHACEdiFMfx3Q i5RQsP8ZHc/Book2.xls)

Mr. Medhat Salah
17-04-2010, 10:59 PM
جزاك الله خيرا

ahmed12345a
18-04-2010, 06:52 AM
جزاك الله خيرا
وللدالة مشاكل و طرق أخرى
ماهي مشاكل الدالة لو سمحت

fathy22
18-04-2010, 07:06 PM
جزاك الله خير على هذا الشرح

alfa
18-04-2010, 09:57 PM
مرحبا
وشكرا لكم

الأستاذ ahmed12345a (http://www.thanwya.com/vb/member.php?u=350295)

من مشاكلها

- فى 2003 و 2007 تعطى أحيانا نتائج خطأ
خاصة مع الاختيار
"md"
يعنى الأيام

بل إنها أحيانا لا تعمل مع 2007

من مشاكلها أيضا

أنها " تستلف " الشهر ب 31 يوما و ليس 30

يعنى لما تطرح
10 سبتمبر
من 1 أكتوبر
تستلف من الشهور شهرا ب 31

فينتج
32 - 10 = 22

ولا يخفى عليك أن الصواب
21

وليس هذا خاصا بالأشهر التى هى 31 يوما
بل مع كل الشهور

ربما لم يحدث هذا مع كثيرين

لكنه يحدث مع الأوفيس2003 العربى

لذلك
نحتال فى صياغة معادلة لإخراج ناتج الطرح صحيحا
كما هو معهود يدويا

=======

أنا أحييك لأن ردك على المشاركة كان إيجابيا و لعلنا نستفيد إن شاء الله

و الله أعلم

ahmed12345a
25-04-2010, 10:14 AM
جزاك الله خيرا
لذلك
نحتال فى صياغة معادلة لإخراج ناتج الطرح صحيحا
كما هو معهود يدويا

اذكر لو تكرمت كيفية اخراج الناتج صحيحا
والف شكر

safwat73
25-04-2010, 11:44 AM
بارك اله فيكم جميعا

alfa
25-04-2010, 01:39 PM
أخى أحمد

1 - سنضع تاريخ ميلاد الطالب كاملا فى
h6
2 - s4 فيها التاريخ الأحدث المراد حساب السن إليه مثلا 01/10/2010

3 - ضع المعادلة التالية فى أى خلية تريدها

=IF(H6<>"";IF(DAY(H6)>DAY($S$4);(DAY($S$4)+30)-DAY(H6);DAY($S$4)-DAY(H6));"")

بهذا تضمن لو الأيام فى التاريخ الأقدم أكبر من الأيام فى التاريخ الأحدث
أن تستلف الدالة من الشهور شهرا ب 30 يوما و ليس 31 يوما

انظر الصورة
http://posterous.com/getfile/files.posterous.com/kemas/GC4JBW1GYpozHWhKaXstKIFje2rdsYPjxt0tPvbIs7R1FstyXq vKGibs52Cu/image001.jpg

وأما بالنسبة للشهور و السنين فلا مشكلة مع الدالة إن عملت

ملحوظة

إن لم تعمل الدالة إطلاقا مع أوفيس2007

احفظ ملف ك 2003

فستعمل إن شاء الله

islam11
25-04-2010, 09:29 PM
شكرا لك
جزاك الله خيرا

alfa
25-04-2010, 10:16 PM
مرحبا إسلام
شكرا لك

ahmed12345a
27-04-2010, 04:22 PM
جزاك الله خيرا


http://i219.photobucket.com/albums/cc156/JusticeTime/JusticeTime/--10-1.gif

alfa
27-04-2010, 07:48 PM
مرحبا أخى أحمد

وشكرا لطيب متابعتك و سؤالك