Note: The other languages of the website are Google-translated. Back to English

كيفية الفرز التلقائي للتاريخ عند إدخال التاريخ أو تغييره في Excel؟ 

في Excel ، فإن ملف تصنيف حسب: يمكن أن تساعدك الوظيفة على فرز التاريخ بترتيب تصاعدي أو تنازلي حسب حاجتك. لكنها ليست ديناميكية ، إذا قمت بفرز التاريخ ثم أضفت تاريخًا جديدًا إليه ، فستحتاج إلى فرزه مرة أخرى. هل هناك أي طرق جيدة وسريعة لفرز التاريخ تلقائيًا عند إدخال تاريخ جديد في كل مرة في ورقة العمل؟

تاريخ الفرز التلقائي عندما يتم إدخال التاريخ أو تغييره باستخدام الصيغة

تاريخ الفرز التلقائي عندما يتم إدخال التاريخ أو تغييره باستخدام رمز VBA


السهم الأزرق الحق فقاعة تاريخ الفرز التلقائي عندما يتم إدخال التاريخ أو تغييره باستخدام الصيغة

على سبيل المثال ، التاريخ الأصلي في العمود A ، يمكن أن تساعدك الصيغة التالية على فرز التاريخ تلقائيًا أو أي سلاسل نصية أخرى في عمود مساعد جديد استنادًا إلى العمود الذي تريد فرزه ، يرجى القيام بما يلي:

1. أدخل هذه الصيغة:

=INDEX($A$2:$A$15,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$15,"<="&$A$2:$A$15),0)) في خلية فارغة بجانب عمود التاريخ ، C2، على سبيل المثال ، ثم اضغط على كترل + شيفت + إنتر معًا ، وستحصل على تسلسل رقمي ، ثم اسحب مقبض التعبئة لأسفل إلى الخلايا التي تريد استخدامها ، انظر لقطة الشاشة:

ملاحظة: في الصيغة أعلاه: A2: A15 هو النطاق الزمني الأصلي الذي تريد ترتيبه تلقائيًا.

فرز تلقائي للمستندات حسب التاريخ 1

2. ثم قم بتنسيق الأرقام بتنسيق التاريخ من خلال النقر التاريخ القصير من فكرة عامة القائمة المنسدلة تحت الرئيسية علامة التبويب ، انظر لقطة الشاشة:

فرز تلقائي للمستندات حسب التاريخ 2

3. ثم تم تحويل أرقام التسلسل إلى تنسيق التاريخ ، وتم فرز التاريخ الأصلي أيضًا ، انظر الصورة:

فرز تلقائي للمستندات حسب التاريخ 3

4. من الآن فصاعدًا ، عند إدخال تاريخ جديد أو تغيير التاريخ في العمود A ، سيتم فرز التاريخ الموجود في العمود C بترتيب تصاعدي تلقائيًا ، انظر الصورة:

فرز تلقائي للمستندات حسب التاريخ 4


السهم الأزرق الحق فقاعة تاريخ الفرز التلقائي عندما يتم إدخال التاريخ أو تغييره باستخدام رمز VBA

يمكن أن تساعدك التعليمات البرمجية لـ VBA التالية على فرز التاريخ تلقائيًا في العمود الأصلي عند إدخال تاريخ جديد أو تغيير التاريخ كما تريد.

1. انتقل إلى ورقة العمل التي تريد فرز التاريخ تلقائيًا عند إدخال تاريخ أو تغييره.

2. انقر بزر الماوس الأيمن فوق علامة تبويب الورقة ، وحدد عرض الرمز من قائمة السياق ، في النافذة المنبثقة ميكروسوفت فيسوال باسيك للتطبيقات نافذة ، يرجى نسخ ولصق الكود التالي في الفراغ وحدة نافذة ، انظر لقطة الشاشة:

كود فبا: الفرز التلقائي عند إدخال التاريخ أو تغييره:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    On Error Resume Next
    If Application.Intersect(Target, Application.Columns(1)) Is Nothing Then Exit Sub
    If Target.Count > 1 Then Exit Sub
    Range("A1").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
                                        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub

فرز تلقائي للمستندات حسب التاريخ 6

ملاحظة: في الكود أعلاه ، سيتم فرز التاريخ الذي تم إدخاله تلقائيًا في العمود A ، يمكنك تغييره A1 و A2 إلى الخلايا الخاصة بك كما تحتاج.

3. من الآن فصاعدًا ، عند إدخال التاريخ في العمود "أ" ، سيتم فرز التاريخ تصاعديًا تلقائيًا.


أفضل أدوات إنتاجية المكتب

Kutools for Excel يحل معظم مشاكلك ويزيد إنتاجيتك بنسبة 80٪

  • إعادة استخدام: أدخل بسرعة الصيغ المعقدة والرسوم البيانية وأي شيء استخدمته من قبل ؛ تشفير الخلايا مع كلمة السر إنشاء قائمة بريدية وإرسال رسائل البريد الإلكتروني ...
  • سوبر فورميولا بار (بسهولة تحرير أسطر متعددة من النص والصيغة) ؛ تخطيط القراءة (قراءة وتحرير أعداد كبيرة من الخلايا بسهولة) ؛ لصق في النطاق المصفى
  • دمج الخلايا / الصفوف / الأعمدة دون فقدان البيانات ؛ تقسيم محتوى الخلايا ؛ ادمج الصفوف / الأعمدة المكررة... منع تكرار الخلايا؛ قارن النطاقات
  • حدد مكرر أو فريد صفوف حدد صفوف فارغة (جميع الخلايا فارغة) ؛ البحث الفائق والبحث الغامض في العديد من المصنفات. تحديد عشوائي ...
  • نسخة طبق الأصل خلايا متعددة بدون تغيير مرجع الصيغة ؛ إنشاء المراجع تلقائيًا إلى أوراق متعددة أدخل الرموز النقطية، مربعات الاختيار والمزيد ...
  • استخراج النص، إضافة نص ، إزالة حسب الموضع ، إزالة الفضاء؛ إنشاء وطباعة المجاميع الفرعية لترحيل الصفحات ؛ التحويل بين محتوى الخلايا والتعليقات
  • سوبر تصفية (حفظ وتطبيق مخططات التصفية على أوراق أخرى) ؛ فرز متقدم حسب الشهر / الأسبوع / اليوم ، التكرار والمزيد ؛ مرشح خاص بواسطة bold، italic ...
  • اجمع بين المصنفات وأوراق العمل؛ دمج الجداول على أساس الأعمدة الرئيسية ؛ تقسيم البيانات إلى أوراق متعددة; تحويل دفعة xls و xlsx و PDF
  • أكثر من 300 ميزة قوية. يدعم Office / Excel 2007-2021 و 365. يدعم جميع اللغات. سهولة النشر في مؤسستك أو مؤسستك. الميزات الكاملة نسخة تجريبية مجانية لمدة 30 يومًا. ضمان استرداد الأموال لمدة 60 يومًا.
علامة تبويب kte 201905

يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
أوفيسيتاب القاع
فرز التعليقات حسب
التعليقات (15)
لا يوجد تقييم. كن أول من يقيم!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
نسيت أن تذكر أن الصيغة عبارة عن صفيف وتحتاج إلى ctrl + Shift + enter. لحسن الحظ ، كان لديك لقطة شاشة أو ستكون صفحتك مضيعة للفضاء الإلكتروني
تم تصغير هذا التعليق بواسطة المشرف على الموقع
ماذا لو كان هناك تاريخ مكرر في القائمة؟ وأريد أن يظهر كلا الرقمين.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا ريان،

لفرز التاريخ بأخرى مكررة ، يجب عليك تطبيق الصيغة التالية:

=IFERROR(INDEX($A$2:$A$11,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$11,"<="&$A$2:$A$11),0)),IF(ROWS($A$2:A2)<ROWS($A$2:$A$11),B3,""))

يرجى تذكر الضغط على Shift + Ctrl + Enter معًا.

أتمنى أن يساعدك ، شكرا لك!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
رائع :) يعمل بشكل جيد
تم تصغير هذا التعليق بواسطة المشرف على الموقع
كيف يمكنني عمل نفس الفرز ولكن من الأحدث إلى الأقدم؟ حاليا من الأقدم إلى الأحدث. إن قلب علامة <لا يكفي ، وبعد ذلك لا أمتلك فهمًا قويًا بما يكفي لما تفعله. أعتقد أيضًا أن ما قد يحدث هو أن برنامج Excel يعمل تلقائيًا من أعلى إلى أسفل مما يسبب صعوبات.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا بو ،

لفرز التاريخ تلقائيًا من الأحدث إلى الأقدم ، تحتاج فقط إلى تغيير <= إلى> = في الصيغة أعلاه على النحو التالي:
=INDEX($A$2:$A$15,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$15,">="&$A$2:$A$15),0))
بعد إدخال هذه الصيغة ، يرجى تذكر الضغط على Ctrl + Shift + Enter معًا للحصول على النتيجة الصحيحة.
رجاءا حاول فعلها.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
بالإضافة إلى التواريخ المكررة ، هل هناك أيضًا طريقة لتضمين عدة أعمدة من البيانات عند الفرز؟ أحتاج إلى تضمين عدة أعمدة وفرزها جميعًا مع تواريخ انتهاء الصلاحية.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
لقد قمت بإصدار سجل دفتر شيكات وهو يعمل ولكني أريد معرفة كيفية جعل إدخالي يدخل في ترتيب التاريخ. سيكون موضع تقدير أي مساعدة. ما زلت أتعلم التفوق.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هل هناك صيغة معينة للاحتفاظ بالخلايا بعد التاريخ الذي تم فرزه؟ سيكون من الجيد التنظيم حسب التاريخ ولكن احتفظ بصف كامل من المعلومات. أي مساعدة سيكون محل تقدير كبير.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
باستخدام رمز VBA ، قمت بنسخ ولصق ما ورد أعلاه ولكني أرغب في أن تكون التواريخ في العمود F هي القيم التي يتم فرز البيانات وفقًا لها. لقد قمت بتغيير قيم النطاق إلى F2 و F3500 (حجم جدول البيانات حيث يكون الصف 1 هو العناوين) ، لكنه لا يزال يفرز حسب التواريخ الموجودة في العمود A. هل يمكن لأي شخص مساعدتي من فضلك؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا روس ،
عند تطبيق الكود على العمود F ، يجب عليك تغيير بعض الإشارات حسب حاجتك على النحو التالي:
ورقة عمل فرعية خاصة تغيير (هدف ByVal كنطاق)
'تحديث بواسطة Extendoffice 20160606
على خطأ استئناف التالي
إذا كان Application.Intersect (الهدف ، Application.Columns (6)) لا شيء ، فاخرج من Sub
إذا كان Target.Count> 1 ، فاخرج من Sub
النطاق ("F1"). مفتاح الفرز 1: = النطاق ("F2") ، الترتيب 1: = xlAscending ، الرأس: = xlYes ، _
OrderCustom: = 1، MatchCase: = False، Orientation: = xlTopToBottom
نهاية الفرعية

من فضلك حاول ، آمل أن يساعدك!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
رمز VBA هو ذهب خالص! شكرًا لك! :-)
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، ماذا لو كنت أرغب في القيام بذلك لعدة أعمدة أو حتى لدي نقطة بداية جديدة في نفس العمود؟ هل أقوم فقط بفاصل وأعيد نسخ رمز VBA في نفس النافذة؟
شكرا.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، هذه أداة رائعة. شكرا. كيف يمكنني تطبيق هذا على أعمدة متعددة في نفس علامة التبويب؟ هل يمكنني تطبيقه لإعادة الفرز حسب التاريخ في خلية جديدة من نفس العمود؟ هل سأعيد لصق كود فبا في نفس النافذة؟
شكرا.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا Noname9 كيف حالك؟ لتحقيق هدفك باستخدام رمز VBA هو بعيد المنال. لكنني أعرف كيفية استخدام الصيغ لتنفيذ الحيلة ، افترض أن لدينا عمودين من التواريخ ، على سبيل المثال A2: B7. كيف تفرز هذه التواريخ في عمود جديد؟ الرجاء القيام بما يلي.
أولاً ، نحتاج إلى دمج عمودي التواريخ في عمود واحد. انسخ والصق الصيغة = INDEX ($ A $ 2: $ B $ 7، INT ((ROWS (D $ 2: D2) -1) / 2) + 1، MOD (ROWS (D $ 2: D2) -1,2،1) + 2) في الخلية D1. واسحب مقبض التعبئة لأسفل لدمج جميع التواريخ. يرجى الاطلاع على لقطة الشاشة XNUMX.
بعد ذلك ، سنقوم بفرز التواريخ المجمعة. انسخ والصق الصيغة = INDEX ($ D $ 2: $ D $ 13، MATCH (ROWS ($ D $ 2: D2)، COUNTIF ($ D $ 2: $ D $ 13، "<=" & $ D $ 2: $ D $ 13) ، 0)) إلى F2. واسحب مقبض التعبئة لأسفل لفرز جميع التواريخ. يرجى الاطلاع على لقطة الشاشة 2.
آمل أن يساعد. أتمنى لك نهارا سعيدا مع خالص التقدير ماندي
لا توجد تعليقات منشورة هنا حتى الآن
اترك تعليقاتك
النشر كضيف
×
قيم المنشور:
0   الشخصيات
المواقع المقترحة

تواصل معنا

حقوق التأليف والنشر © 2009 - شبكة الاتصالات العالمية.extendoffice.com. | كل الحقوق محفوظة. مشغل بواسطة ExtendOffice. | | خريطة الموقع
Microsoft وشعار Office هما علامتان تجاريتان أو علامتان تجاريتان مسجلتان لشركة Microsoft Corporation في الولايات المتحدة و / أو دول أخرى.
محمي بواسطة Sectigo SSL