جدول المحتويات
تدور مشاركة مدونة اليوم حول معرفة الفرق بين تاريخين في جداول بيانات Google. سترى الكثير من معادلات DATEDIF لحساب الأيام والأشهر والسنوات ، وتعرف على كيفية استخدام NETWORKDAYS لحساب أيام العمل فقط حتى إذا كانت عطلتك تستند إلى جدول مخصص.
يجد الكثير من جداول البيانات التي يجدها المستخدمون التواريخ محيرة ، إن لم تكن صعبة للغاية ، للتعامل معها. لكن صدق أو لا تصدق ، هناك بعض الوظائف المفيدة والمباشرة لهذا الغرض. DATEDIF و NETWORKDAYS هما اثنان منهم.
DATEDIF وظيفة في Google Sheets
كما يحدث مع الوظائف ، تشير أسماؤهم إلى الإجراء. الشيء نفسه ينطبق على DATEDIF. يجب قراءته على أنه تاريخ dif وليس مؤرخًا إذا كان ، وهو يرمز إلى اختلاف التاريخ . وبالتالي ، DATEDIF في Google Sheets يحسب فرق التاريخ بين تاريخين.
دعونا نقسمها إلى أجزاء. تتطلب الوظيفة ثلاث وسيطات:
= DATEDIF (start_date، end_date، unit)- start_date - تاريخ يُستخدم كنقطة بداية. يجب أن يكون أحد الخيارات التالية:
- تاريخ بحد ذاته بين علامتي اقتباس: "8/13/2020"
- مرجع إلى خلية لها تاريخ: A2
- صيغة ترجع تاريخًا: DATE (2020، 8، 13)
- رقم يشير إلى تاريخ معين وذلك يمكن تفسيره على أنه تاريخ بواسطة "جداول بيانات Google" ، على سبيل المثال 44056 يمثل 13 أغسطس 2020 .
- end_date - تاريخ مستخدمكنقطة نهاية. يجب أن يكون من نفس تنسيق start_date .
- unit - تُستخدم لإخبار الوظيفة بالفرق الذي يجب إرجاعه. فيما يلي قائمة كاملة بالوحدات التي يمكنك استخدامها:
- "D" - (اختصار يوم ) إرجاع عدد الأيام بين تاريخين.
- "M" - (بالأشهر) عدد الأشهر الكاملة بين تاريخين.
- "Y" - (بالسنوات) عدد السنوات الكاملة.
- "MD" - (أيام تتجاهل الشهور) عدد الأيام بعد طرح الأشهر الكاملة.
- "YD" - (أيام تتجاهل السنوات) عدد الأيام بعد طرح السنوات الكاملة.
- "YM" - (أشهر تجاهل السنوات) عدد الأشهر الكاملة بعد طرح السنوات الكاملة.
ملاحظة. يجب وضع جميع الوحدات في الصيغ بنفس الطريقة التي تظهر بها أعلاه - بعلامات اقتباس مزدوجة.
الآن دعنا نجمع كل هذه الأجزاء معًا ونرى كيف تعمل صيغ DATEDIF في جداول بيانات Google.
احسب الأيام بين تاريخين في جداول بيانات Google
مثال 1. عد كل الأيام
لدي طاولة صغيرة لتتبع بعض الطلبات. تم شحن كل منهم في النصف الأول من أغسطس - تاريخ الشحن - والذي سيكون تاريخ البدء الخاص بي. هناك أيضًا تاريخ تسليم تقريبي - تاريخ الاستحقاق .
سأقوم بحساب الأيام - "D" - بين الشحن وتواريخ الاستحقاق لمعرفة المدة التي يستغرقها وصول العناصر. هذه هي الصيغة التي يجب أن أستخدمها:
=DATEDIF(B2, C2, "D")
أدخلصيغة DATEDIF إلى D2 ثم انسخها أسفل العمود لتطبيقها على صفوف أخرى.
نصيحة. يمكنك دائمًا حساب العمود بالكامل مرة واحدة باستخدام صيغة واحدة باستخدام ARRAYFORMULA:
=ArrayFormula(DATEDIF(B2:B13, C2:C13, "D"))
مثال 2. عد الأيام التي تتجاهل الشهور
تخيل هناك هي بضعة أشهر بين تاريخين:
كيف تحسب الأيام فقط كما لو كانت تنتمي إلى نفس الشهر؟ هذا صحيح: بتجاهل الشهور الكاملة التي مرت. يحسب DATEDIF هذا تلقائيًا عند استخدام وحدة "MD" :
=DATEDIF(A2, B2, "MD")
تطرح الدالة الأشهر المنقضية وتحسب الأيام المتبقية .
مثال 3. عد الأيام التي تتجاهل السنوات
وحدة أخرى - "YD" - ستساعد عندما يكون للتواريخ أكثر من سنة بينهما:
=DATEDIF(A2, B2, "YD")
ستطرح الصيغة السنوات أولاً ، ثم تحسب الأيام المتبقية كما لو كانت تنتمي لنفس العام.
عد أيام العمل في جداول بيانات Google
هناك حالة خاصة عندما تحتاج إلى حساب أيام العمل فقط في جداول بيانات Google. لن تكون صيغ DATEDIF مفيدة كثيرًا هنا. وأعتقد أنك ستوافق على أن طرح عطلات نهاية الأسبوع يدويًا ليس هو الخيار الأكثر أناقة.
لحسن الحظ ، تحتوي جداول بيانات Google على بعض التعويذات غير السحرية لذلك :)
مثال 1. NETWORKDAYS function
أول واحد يسمى NETWORKDAYS. تحسب هذه الوظيفة عدد أيام العمل بين تاريخين باستثناء عطلات نهاية الأسبوع (السبت والأحد) وحتى أيام العطل إذا لزم الأمر:
= NETWORKDAYS (تاريخ_البدء ، تاريخ_الانتهاء ، [العطل])- تاريخ_البدء - تاريخ يُستخدم كنقطة بداية. مطلوب.
ملاحظة. إذا لم يكن هذا التاريخ يوم عطلة ، فيحسب على أنه يوم عمل.
- end_date - تاريخ يستخدم كنقطة نهاية. مطلوب.
ملاحظة. إذا لم يكن هذا التاريخ يوم عطلة ، فيحسب على أنه يوم عمل.
- عطلات - هذا اختياري عندما تحتاج إلى الإشارة إلى عطلات معينة. يجب أن يكون نطاقًا من التواريخ أو الأرقام التي تمثل التواريخ.
لتوضيح كيفية عملها ، سأضيف قائمة بالعطلات التي تحدث بين تواريخ الشحن والاستحقاق:
إذن ، العمود B هو تاريخ البدء ، الأعمدة C - تاريخ الانتهاء. التواريخ الواردة في العمود E هي أيام العطل التي يجب مراعاتها. إليك كيف يجب أن تبدو الصيغة:
=NETWORKDAYS(B2, C2, $E$2:$E$4)
نصيحة. إذا كنت تريد نسخ الصيغة إلى خلايا أخرى ، فاستخدم مراجع الخلايا المطلقة للعطلات لتجنب الأخطاء أو النتائج غير الصحيحة. أو ضع في اعتبارك إنشاء صيغة صفيف بدلاً من ذلك.
هل لاحظت كيف انخفض عدد الأيام مقارنة بصيغ DATEDIF؟ لأن الدالة الآن تطرح تلقائيًا كل أيام السبت والأحد وعطلتين تقعان يومي الجمعة والاثنين.
ملاحظة. بخلاف DATEDIF في جداول بيانات Google ، تحسب NETWORKDAYS start_day و end_day كأيام عمل ما لم تكن أيام عطلات. ومن ثم ، تُرجع D7 1 .
مثال 2.NETWORKDAYS.INTL لجداول بيانات Google
إذا كان لديك جدول عطلة نهاية أسبوع مخصص ، فستستفيد من وظيفة أخرى: NETWORKDAYS.INTL. يتيح لك حساب أيام العمل في جداول بيانات Google بناءً على عطلات نهاية الأسبوع المحددة شخصيًا:
= NETWORKDAYS.INTL (تاريخ_البدء ، تاريخ_الانتهاء ، [عطلة نهاية الأسبوع] ، [العطل])- تاريخ البدء - أ التاريخ المستخدم كنقطة انطلاق. مطلوب.
- end_date - تاريخ يُستخدم كنقطة نهاية. مطلوب.
ملاحظة. تحسب NETWORKDAYS.INTL في جداول بيانات Google أيضًا start_day و end_day كأيام عمل ما لم تكن أيام عطلات.
- عطلة نهاية الأسبوع - هذا اليوم هو اختياري. إذا تم حذفها ، فسيتم اعتبار يومي السبت والأحد بمثابة عطلات نهاية الأسبوع. ولكن يمكنك تغيير ذلك بطريقتين:
- الأقنعة .
نصيحة. هذه الطريقة مثالية عندما تكون أيام إجازتك متناثرة على مدار الأسبوع.
القناع عبارة عن نمط مكون من سبعة أرقام من 1 و 0. 1 تعني عطلة نهاية الأسبوع ، 0 ليوم عمل. الرقم الأول في النمط هو دائمًا يوم الإثنين ، وآخر رقم - الأحد.
على سبيل المثال ، "1100110" يعني أنك تعمل أيام الأربعاء والخميس والجمعة والسبت.
ملاحظة. يجب وضع القناع بين علامتي اقتباس.
- أرقام .
استخدم أرقامًا مكونة من رقم واحد (1-7) تدل على زوج من عطلات نهاية الأسبوع المحددة:
الرقم عطلة نهاية الأسبوع 1 السبت ، الأحد 2 الأحد ، الاثنين 3 الاثنين ، الثلاثاء 4 الثلاثاء ،الأربعاء 5 الأربعاء ، الخميس 6 الخميس ، الجمعة 7 الجمعة والسبت أو اعمل بأرقام مكونة من رقمين (11-17) تدل على يوم واحد للراحة في غضون أسبوع:
الرقم يوم عطلة نهاية الأسبوع 11 الأحد 12 الاثنين 13 الثلاثاء 14 الأربعاء 15 الخميس 16 الجمعة 17 السبت
- الأقنعة .
- عطلات - إنه اختياري أيضًا ويستخدم لتحديد أيام العطل.
قد تبدو هذه الوظيفة معقدة بسبب كل هذه الأرقام ، لكنني أشجعك على تجربتها.
أولاً ، فقط احصل على فهم واضح لأيام إجازتك. دعونا نجعلها الأحد و الاثنين . بعد ذلك ، حدد الطريقة للإشارة إلى عطلات نهاية الأسبوع.
إذا ذهبت مع قناع ، فسيكون مثل هذا - 1000001 :
=NETWORKDAYS.INTL(B2, C2, "1000001")
ولكن نظرًا لأن لدي يومان من أيام عطلة نهاية الأسبوع على التوالي ، يمكنني استخدام رقم من الجداول أعلاه ، 2 في حالتي:
=NETWORKDAYS.INTL(B2, C2, 2)
ثم قم ببساطة بإضافة الوسيطة الأخيرة - أشر إلى الإجازات في العمود E ، والصيغة جاهزة:
=NETWORKDAYS.INTL(B2, C2, 2, $E$2:$E$4)
جداول بيانات Google وفرق التاريخ بالأشهر
أحيانًا تكون الأشهر أكثر من الأيام. إذا كان هذا صحيحًا بالنسبة لك وتفضل الحصول على فرق التاريخ بالأشهر بدلاً من الأيام ، فاسمح لجداول بيانات GoogleDATEDIF قم بالمهمة.
مثال 1. عدد الأشهر الكاملة بين تاريخين
المثقاب هو نفسه: تاريخ البدء يبدأ أولاً ، متبوعًا بـ end_date و "M" - هذا يمثل شهور - كوسيطة أخيرة:
=DATEDIF(A2, B2, "M")
نصيحة. لا تنسَ وظيفة ARRAUFORMULA التي يمكن أن تساعدك في حساب الأشهر في جميع الصفوف مرة واحدة:
=ARRAYFORMULA(DATEDIF(A2:A13, B2:B13, "M"))
مثال 2. عدد الأشهر التي تتجاهل السنوات
قد لا تحتاج إلى عد الأشهر على مدار جميع السنوات بين تاريخي البدء والانتهاء. ويتيح لك DATEDIF القيام بذلك.
ما عليك سوى استخدام وحدة "YM" وستقوم الصيغة بطرح السنوات الكاملة أولاً ، ثم حساب عدد الأشهر بين التواريخ:
=DATEDIF(A2, B2, "YM")
احسب السنوات بين تاريخين في جداول بيانات Google
الشيء الأخير (وليس الأخير) الذي يظهر لك هو كيفية حساب Google Sheets DATEDIF للتاريخ الفرق بالسنوات.
سأحسب عدد السنوات التي تزوج فيها الأزواج بناءً على تواريخ زفافهم وتاريخ اليوم:
كما أنت ربما خمنت بالفعل ، سأستخدم وحدة "Y" لذلك:
=DATEDIF(A2, B2, "Y")
كل صيغ DATEDIF هذه هي أولًا يجرب عندما يتعلق الأمر بحساب الأيام والشهور والسنوات بين تاريخين في جداول بيانات Google.
إذا كان لا يمكن حل حالتك بهذه الطريقة أو إذا كان لديك أي أسئلة ، فأنا أشجعك على مشاركتها معنا في قسم التعليقاتأدناه