كيفية فرز التواريخ تلقائيًا عند الإدخال أو التعديل في 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 على سبيل المثال، ثم اضغط معًا على مفاتيح Ctrl + Shift + Enter للحصول على تسلسل رقمي. بعد ذلك، اسحب مقبض التعبئة إلى الخلايا المطلوبة. انظر لقطة الشاشة:
ملاحظة: في الصيغة أعلاه: A2:A15 هو نطاق التاريخ الأصلي الذي تريد فرزه تلقائيًا.
2. ثم قم بتنسيق الأرقام كتنسيق تاريخ عن طريق النقر على "تاريخ قصير" من قائمة General المنسدلة تحت علامة التبويب Home، انظر لقطة الشاشة:
3. تم تحويل الأرقام التسلسلية الآن إلى تنسيق التاريخ، كما تم فرز التواريخ الأصلية أيضًا. انظر لقطة الشاشة:
4. من الآن فصاعدًا، عندما تقوم بإدخال أو تعديل تاريخ في العمود A، سيتم فرز التواريخ في العمود C تلقائيًا بترتيب تصاعدي. انظر لقطة الشاشة:
فرز التاريخ تلقائيًا عند إدخال أو تعديل التاريخ باستخدام كود VBA
يمكن أن يساعدك الكود التالي لـ VBA في فرز التواريخ تلقائيًا في العمود الأصلي عند إدخال أو تعديل تاريخ حسب الحاجة.
1. انتقل إلى ورقة العمل التي تريد فرز التواريخ فيها تلقائيًا عند إدخال أو تعديل تاريخ.
2. انقر بزر الماوس الأيمن على علامة ورقة العمل، وحدد View Code من قائمة السياق، في نافذة Microsoft Visual Basic for Applications المنبثقة، يرجى نسخ ولصق الكود التالي في نافذة Module الفارغة، انظر لقطة الشاشة:
كود VBA: الفرز التلقائي عند إدخال أو تعديل التاريخ:
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
ملاحظة: في الكود أعلاه، سيتم فرز التواريخ المدخلة تلقائيًا في العمود A. يمكنك تغيير A1 و A2 إلى الخلايا الخاصة بك حسب الحاجة.
3. من الآن فصاعدًا، عندما تقوم بإدخال تاريخ في العمود A، سيتم فرز التواريخ تلقائيًا بترتيب تصاعدي.
أفضل أدوات الإنتاجية لمكتب العمل
عزز مهاراتك في Excel باستخدام Kutools لـ Excel، واختبر كفاءة غير مسبوقة. Kutools لـ Excel يوفر أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة الأكثر أهمية بالنسبة لك...
Office Tab يجلب واجهة التبويب إلى Office ويجعل عملك أسهل بكثير
- تفعيل تحرير وقراءة عبر التبويبات في Word، Excel، PowerPoint، Publisher، Access، Visio وProject.
- افتح وأنشئ عدة مستندات في تبويبات جديدة في نفس النافذة، بدلاً من نوافذ مستقلة.
- يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات اليومية من الفأرة!
جميع إضافات Kutools. مثبت واحد
حزمة Kutools for Office تجمع بين إضافات Excel وWord وOutlook وPowerPoint إضافة إلى Office Tab Pro، وهي مثالية للفرق التي تعمل عبر تطبيقات Office.





- حزمة الكل في واحد — إضافات Excel وWord وOutlook وPowerPoint + Office Tab Pro
- مثبّت واحد، ترخيص واحد — إعداد في دقائق (جاهز لـ MSI)
- الأداء الأفضل معًا — إنتاجية مُبسطة عبر تطبيقات Office
- تجربة كاملة لمدة30 يومًا — بدون تسجيل، بدون بطاقة ائتمان
- قيمة رائعة — وفر مقارنة بشراء الإضافات بشكل منفرد