it-swarm.asia

كيف يمكنني الحصول على اسم اليوم في خلية في Excel؟

عند تحديد تاريخ ، كيف يمكنني الحصول على يوم الأسبوع (مثل "الاثنين") في خلية في Excel؟

33
Don Vince

مثال بسيط:

الخلية A1: 1/8/2009
خلية B1: = النص (WEEKDAY (A1) ، "dddd")

هذا ، في الموعد المحدد ، طباعة اليوم الموافق.

هل هذا ما تمنيت؟

54
Rook

الإجابة المذكورة أعلاه تعمل فقط عن طريق fluke لأن Excel يعتقد أن 1/1/1900 كان يوم الأحد * وبشكل افتراضي يستخدم Excel الأحد كأول يوم في الأسبوع لوظيفة Weekday.

ما تقوم بحسابه فعليًا بهذه الطريقة هو يوم الأسبوع كرقم ، ثم تنسيق ذلك يومًا بناءً على ذلك الرقم الذي يتم تفسيره كتاريخ. على سبيل المثال ، إذا كان تاريخك هو 1/2/2003 وكنت تستخدم الدالة WEEKDAY ، فسيؤدي ذلك إلى 7 (= السبت). عندما تقوم بعد ذلك بتنسيق هذا كـ "dddd" فإنك تحصل فعليًا على اسم اليوم لليوم السابع في Excel منذ "Epoch" ، أي 7/1/1900 ، والذي يصادف أنه يوم سبت *. ستنقطع هذه الصيغة إذا فتحها شخص لديه الخيار المحدد لاستخدام نظام التاريخ المستند إلى عام 1904 ، لأن 1/1/1904 لم يكن يومًا أحدًا ، ولكن يوم جمعة. (نعم ، أنا بالكاد أعرف أن أي شخص يستخدم ذلك ، لكنك لا ترغب في بناء حل يعتمد على ذلك؟)

يمكنك جعل الصيغة أقصر وأسرع وأكثر قوة ببساطة عن طريق استخدام

=TEXT(A1,"dddd")

يمكنك بالطبع تنسيق خلايا التاريخ نفسها بتنسيق مخصص كما هو مقترح بالفعل ، اعتمادًا على ما إذا كنت تحتاج فعلاً إلى ذلك في عمود منفصل أم لا. أنا في كثير من الأحيان استخدام تنسيقات التاريخ مثل

ddd dd mmm yyyy

لإعطاء مثال السبت 01 فبراير 2003 بحيث يكون التاريخ صريحًا ولكنه يظهر اسم أيام الأسبوع أيضًا.

يعد استخدام عمود ثان ووظيفة TEXT أمرًا ضروريًا إذا كنت ترغب في استخدام أيام الأسبوع بشكل صريح في مكان ما في دمج المراسلات (على سبيل المثال) ، على نحو مشابه لأشياء مثل العملات وما إلى ذلك في Excel> دمج Word يمرر القيمة المخزنة الأساسية الفعلية بدلاً من تشغيل نسخة منسقة على الشاشة ، لذلك بصرف النظر عن تنسيق الخلية ، يرى Word بعض الأرقام الرهيبة. يتم تمرير حقل نص حقيقي "كما هو" ويعرض بشكل صحيح في Word.

* في الحقيقة إنه يوم الاثنين ولكن تمت كتابة Excel لمطابقة التواريخ غير الصحيحة في Lotus 1-2-3 التي عالجت عام 1900 كسنة كبيسة عندما لا تكون كذلك.

19
AdamV

الاحتمال الآخر ، اعتمادًا على ما تريد القيام به مع التاريخ بعد ذلك ، هو تعيين تنسيق الخلية إلى مخصص: dddd

7
Margaret

لقد وجدت أن تداخل IF يمكن أن يكون مرهقًا ، لكنه ينجح. ومع ذلك ، إذا كنت تريد حفظ القليل من الكتابة ، فيمكنك تجربة ذلك:

=CHOOSE(WEEKDAY(A2), "Sun","Mon","Tue","Wed","Thur","Fri","Sat")

أو ، إذا كنت بحاجة إلى أسماء كاملة:

=CHOOSE(WEEKDAY(A2), "Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")

في هذا المثال ، يمكن أن تكون "A2" أيا كانت الخلية (أو الصيغة) التي تحتوي على التاريخ المطلوب. على سبيل المثال:

=CHOOSE(WEEKDAY(TODAY()), "Sun","Mon","Tue","Wed","Thur","Fri","Sat") 

سوف طباعة ثلاثة أحرف اختصار لكل ما هو اليوم.

5
Brad

يمكنك أيضًا ترجمة الإجابة باستخدام [$ nnn] قبل التنسيق (بحيث يكون الرمز المخصص: [$ nnn] dddd؛ @). تغيير nnn مع رمز اللغة المناسب. ليس لدي القائمة ، لكن بطريقة ما ، الكود الإنكليزي هو -409 (وبلدي المحلي هو -421).

أعتقد أنه يمكنك تجربة تنسيق الأرقام ، وتغيير حقل اللغة ، ثم تغييره مرة أخرى إلى التنسيق المخصص.

1
user261479

خلية A1: 1/8/2009 خلية B1: = A1 ، ثم اضغط على ctrl + 1 (خلية التنسيق) ، اختر علامة تبويب الأرقام ، انقر فوق مخصص ، ثم اكتب "DDDD" في المربع txtbox

1
user334332

يعرض التاريخ الحالي

=TEXT(WEEKDAY(MONTH(TODAY())),"dddd")  

يعرض التاريخ الحالي مع النص المطلوب.

=CHOOSE(WEEKDAY(MONTH(TODAY())), "S-U-N-D-A-Y","M-O-N-D-A-Y","T-U-E-S-D-A-Y","W-E-D-N-E-S-D-A-Y","T-H-R-S-D-A-Y","F-R-I-D-A-Y","S-A-T-U-R-D-A-Y")
0
Glen Lloyd

تنسيق الخلايا - التاريخ - نوع التقويم (حدد اللغة الميلادية الإنجليزية) - النوع (يحتوي القسم على التنسيق المطلوب الأربعاء ، 14 مارس 2001)

0
Raj

وظيفة WEEKDAY يمكن استخدامها في رموز VBA. فمثلا :

Label1.Caption = WeekdayName(Weekday(TextBox1, 0), False, 0)

تم الحصول على اسم اليوم من TextBox1 في المثال أعلاه. النتيجة هي "الاثنين" .

لقد استخدمت هذه الوظيفة عندما أنشأت userform حول إدخال التاريخ للخلية النشطة بقائمة النقر بزر الماوس الأيمن.

يمكن مراجعة القالب هنا

0
kadrleyn