Skip to main content

كيفية استخراج جميع السجلات بين تاريخين في Excel؟

Author: Sun Last Modified: 2025-07-21

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

A screenshot of data range in Excel for extracting records between two dates Arrow right A screenshot showing extracted records between two dates in Excel

أدناه، ستجد عدة طرق عملية لاستخراج جميع السجلات بين تاريخين في Excel. لكل طريقة سيناريوهات تطبيقها ومزاياها الخاصة، بدءًا من الاستخراج باستخدام الصيغ (لا حاجة لإضافات)، إلى استخدام Kutools لـ Excel للراحة المتزايدة، إلى استخدام الكود البرمجي VBA وفلتر Excel المدمج - مما يوفر حلول مرنة لمختلف الاحتياجات وتفضيلات المستخدمين.

استخراج جميع السجلات بين تاريخين باستخدام الصيغ

استخراج جميع السجلات بين تاريخين باستخدام Kutools لـ Excel good idea3

استخدام VBA لاستخراج السجلات بين تاريخين

استخدام فلتر Excel لاستخراج السجلات بين تاريخين


استخراج جميع السجلات بين تاريخين باستخدام الصيغ

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

1. قم بإعداد ورقة عمل جديدة، على سبيل المثال Sheet2، حيث ستُحدد حدود التاريخ وستعرض السجلات المستخرجة. أدخل تاريخ البدء والانتهاء المطلوبين في الخلايا A2 وB2 على التوالي. لوضوح أكبر، يمكنك إضافة عناوين في A1 وB1 (مثل "تاريخ البدء" و"تاريخ الانتهاء").
A screenshot of the start and end date input cells in Excel

2. في الخلية C2 من Sheet2، أدخل الصيغة التالية لحساب عدد الصفوف في Sheet1 التي تحتوي تواريخ تقع ضمن النطاق المحدد:

=SUMPRODUCT((Sheet1!$A$2:$A$22>=A2)*(Sheet1!$A$2:$A$22<=B2))

بعد إدخال الصيغة، اضغط Enter. يساعدك هذا في فهم عدد الإدخالات التي تطابق شرط التصفية، مما يجعل من السهل معرفة عدد النتائج المتوقعة.
A screenshot of the formula used to count matching rows between two dates

ملاحظة: في هذه الصيغة، يشير Sheet1 إلى ورقة البيانات الأصلية؛ $A$2:$A$22 هو عمود التاريخ في بياناتك. قم بتعديل هذه المراجع حسب الحاجة لبياناتك. A2 وB2 هما خليتا تاريخ البدء والانتهاء.

3. لعرض السجلات المتطابقة، حدد خلية فارغة حيث تريد أن تبدأ القائمة المستخرجة (على سبيل المثال، في Sheet2، الخلية A5). أدخل الصيغة المصفوفة التالية:

=IF(ROWS(A$5:A5)>$C$2,"",INDEX(Sheet1!A$2:A$22,SMALL(IF((Sheet1!$A$2:$A$22>=$A$2)*(Sheet1!$A$2:$A$22<=$B$2),ROW(Sheet1!A$2:A$22)-ROW(Sheet1!$A$2)+1),ROWS(A$5:A5))))

بعد كتابة الصيغة، اضغط Ctrl + Shift + Enter (بدلاً من الضغط فقط على Enter) لجعلها تعمل كصيغة مصفوفة. ثم استخدم مقبض التعبئة لسحبها أفقيًا عبر العديد من الأعمدة كما لديك بيانات، وأسفل بحيث يتم عرض جميع الصفوف المتطابقة. استمر في السحب حتى ترى فراغات، مما يعني أن جميع البيانات المتطابقة تم استخراجها.
A screenshot showing the extracted data using formulas

نصائح:

  • إذا حصلت على أصفار، فهذا يعني أنه لا يوجد المزيد من السجلات المتطابقة للإرجاع. ببساطة توقف عن السحب أكثر.
  • يمكن تعديل الجزء INDEX(...) من الصيغة لاستخراج أعمدة أخرى. قم بتغيير العمود المشار إليه في الجزء Sheet1!A$2:A$22 إذا كنت ترغب في إرجاع حقول أخرى.
  • يمكن توسيع هذه الصيغة للعمل مع معايير متعددة أو لاستخراج الصفوف بأكملها (عن طريق تكرار الصيغة في كل عمود).

4. قد تظهر بعض نتائج التاريخ كأرقام ذات 5 أرقام (أرقام تسلسل Excel). لتحويلها إلى تنسيق تاريخ مقروء، حدد الخلايا المقابلة، انتقل إلى Home التبويب، افتح قائمة التنسيق المنسدلة، واختر Short Date. سيجعل هذا البيانات المستخرجة أكثر وضوحًا وسهولة في الاستخدام.
A screenshot of formatted dates

احتياطات:

  • تأكد من أن جميع إدخالات التاريخ في بياناتك الأصلية هي بالفعل بصيغة تاريخ، وليس مخزنة كنص. وإلا فإن الصيغة قد لا تعمل كما هو متوقع.
  • قم بتعديل نطاقات المصفوفة إذا تغير حجم بياناتك.
  • إذا رأيت أخطاء #NUM! أو #N/A، تحقق من تواريخ الإدخال الفارغة أو عدم الاتساق في بياناتك المصدر.

استخراج جميع السجلات بين تاريخين باستخدام Kutools لـ Excel

إذا كنت تفضل حلاً أكثر انسيابية وتفاعلية، يمكن لميزة تحديد الخلايا المحددة في Kutools لـ Excel مساعدتك في استخراج الصفوف الكاملة المطابقة لنطاق تاريخك بنقرات قليلة، مما يقلل من الحاجة إلى الصيغ أو الإعدادات اليدوية. هذا مناسب بشكل خاص للمستخدمين الذين يتعاملون غالبًا مع مهام تصفية معقدة أو يقومون بعمليات دفعية على مجموعات بيانات كبيرة، حيث يقلل من فرص أخطاء الصيغ ويُسرع سير العمل.

Kutools لـ Excel،المزود بذكاء اصطناعي 🤖، يقدم أكثر من 300 ميزة عملية لتبسيط مهامك.

بعد تثبيت Kutools لـ Excel، يرجى اتباع الخطوات أدناه: (تنزيل مجاني الآن لـ Kutools لـ Excel!)

1. أولاً، حدد نطاق مجموعة البيانات التي ترغب في تحليلها واستخراجها منها. بعد ذلك، انقر Kutools > تحديد > تحديد الخلايا المحددة من شريط Excel. يفتح هذا نافذة حوار لاختيار متقدم.
A screenshot showing Kutools Select Specific Cells feature

2. في نافذة حوار تحديد الخلايا المحددة:

  • حدد خيار "الصف بأكمله" لتحديد الصفوف الكاملة المتطابقة.
  • قم بتعيين شرط التصفية: اختر أكبر من وأقل من في قوائم التصفية المنسدلة لعمود التاريخ الخاص بك.
  • أدخل يدويًا تاريخ البدء والانتهاء في مربعات النص (تأكد من أن التنسيق يطابق بياناتك).
  • تأكد من اختيار المنطق "و" بحيث يتم تطبيق الشرطين معًا في نفس الوقت.
انظر إلى لقطة الشاشة:
A screenshot of the Select Specific Cells dialog with greater than and less than options

3. انقر موافق. سيقوم Kutools على الفور بتحديد جميع الصفوف التي يتواجد فيها عمود التاريخ ضمن النطاق المحدد. بعد ذلك، اضغط Ctrl + C لنسخ الصفوف المحددة، اذهب إلى ورقة فارغة أو موقع جديد، واضغط Ctrl + V لصق النتائج المستخرجة.
A screenshot showing extracted rows after using Kutools to select and copy records between two dates

نصائح واحتياطات:

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

تحليل السيناريو: هذه الطريقة مثالية للمستخدمين الذين يديرون قوائم تحتوي على العديد من الأعمدة أو لأولئك الذين يحتاجون إلى استخراج السجلات الكاملة بشكل متكرر بناءً على حدود تاريخ متغيرة.


كود VBA - استخدام ماكرو لتصفية جميع الصفوف بين تاريخين محددين تلقائيًا

إذا كان سير عملك غالباً يشمل استخراج البيانات بين تاريخين وتريد أتمتة العملية بالكامل، يمكن أن يكون استخدام ماكرو VBA خيارًا ذكيًا. باستخدام VBA، يمكنك مطالبة المستخدمين بتحديد عمود التاريخ، وإدخال تواريخ البدء والانتهاء، وتصفية الصفوف المتطابقة ونسخها تلقائيًا إلى ورقة جديدة. هذا النهج يوفر الجهد اليدوي ويقلل من الأخطاء، ولكنه يتطلب تمكين الماكرو وبعض المعرفة بمحرر Visual Basic.

إليك كيفية إعداد مثل هذا الماكرو:

1. انقر فوق Developer > Visual Basic لفتح محرر VBA. في نافذة Microsoft Visual Basic for Applications الجديدة، انقر فوق Insert > Module، ثم قم بنسخ ولصق الكود التالي في الوحدة:

Sub ExtractRowsBetweenDates_Final()
'Updated by Extendoffice
    Dim wsSrc As Worksheet
    Dim wsDest As Worksheet
    Dim rngTable As Range
    Dim colDate As Range
    Dim StartDate As Date
    Dim EndDate As Date
    Dim i As Long
    Dim destRow As Long
    Dim dateColIndex As Long
    Dim cellDate As Variant

    Set wsSrc = ActiveSheet
    Set rngTable = Application.InputBox("Select the data table (including headers):", "KutoolsforExcel", Type:=8)
    If rngTable Is Nothing Then Exit Sub

    Set colDate = Application.InputBox("Select the date column (including header):", "KutoolsforExcel", Type:=8)
    If colDate Is Nothing Then Exit Sub

    On Error GoTo DateError
    StartDate = CDate(Application.InputBox("Enter the start date (yyyy-mm-dd):", "KutoolsforExcel", "", Type:=2))
    EndDate = CDate(Application.InputBox("Enter the end date (yyyy-mm-dd):", "KutoolsforExcel", "", Type:=2))
    On Error GoTo 0

    On Error Resume Next
    Set wsDest = Worksheets("FilteredRecords")
    On Error GoTo 0
    If wsDest Is Nothing Then
        Set wsDest = Worksheets.Add
        wsDest.Name = "FilteredRecords"
        
        rngTable.Rows(1).Copy
        wsDest.Cells(1, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
        wsDest.Cells(1, 1).PasteSpecial Paste:=xlPasteFormats
    End If

    destRow = wsDest.Cells(wsDest.Rows.Count, 1).End(xlUp).Row + 1
    dateColIndex = colDate.Column - rngTable.Columns(1).Column + 1

    For i = 2 To rngTable.Rows.Count
        cellDate = rngTable.Cells(i, dateColIndex).Value
        If IsDate(cellDate) Then
            If cellDate >= StartDate And cellDate <= EndDate Then
                rngTable.Rows(i).Copy
                wsDest.Cells(destRow, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
                wsDest.Cells(destRow, 1).PasteSpecial Paste:=xlPasteFormats
                destRow = destRow + 1
            End If
        End If
    Next i

    Application.CutCopyMode = False
    wsDest.Columns.AutoFit
    MsgBox "Filtered results have been added to '" & wsDest.Name & "'.", vbInformation
    Exit Sub

DateError:
    MsgBox "Invalid date format. Please enter dates as yyyy-mm-dd.", vbExclamation
End Sub

2. لتشغيل الماكرو، انقر فوق الزر Run button (Run) أو اضغط F5.

ثم اتبع التعليمات لإنجاز الخطوات:

  1. حدد جدول البيانات (بما في ذلك العناوين)
    عند ظهور مربع الإدخال الأول، حدد الجدول بالكامل بما في ذلك صف العنوان. انقر موافق.
  2. حدد عمود التاريخ (بما في ذلك العنوان)
    عند ظهور مربع الإدخال الثاني، حدد فقط عمود التاريخ بما في ذلك العنوان. انقر موافق.
  3. أدخل تواريخ البدء والانتهاء
    سيُطلب منك إدخال تاريخ البدء (التنسيق: yyyy-mm-dd، على سبيل المثال، 2025-06-01)
    ثم أدخل تاريخ الانتهاء (على سبيل المثال، 2025-06-30)
    انقر موافق بعد كل واحد.

سيتم إنشاء ورقة عمل باسم FilteredRecords تلقائيًا (إذا لم تكن موجودة بالفعل). سيتم نسخ الصفوف المتطابقة (حيث يتواجد التاريخ بين تواريخ البدء والانتهاء) إلى تلك الورقة. وسيتم إلحاق أي صفوف متطابقة جديدة أسفل النتائج الموجودة في كل مرة تقوم فيها بتشغيل الماكرو.

استكشاف الأخطاء وإصلاحها:

  • إذا لم يحدث شيء بعد التشغيل، تحقق من النطاقات المحددة – النطاقات غير الصالحة أو الحوار الملغاة سيؤدي إلى إنهاء الماكرو.
  • تأكد من أن إدخالات عمود التاريخ هي تواريخ Excel حقيقية؛ إذا تم تخزينها كنص، قم بتحويلها أولاً لتصفية دقيقة.

تحليل السيناريو: هذا الحل VBA ذو قيمة خاصة للمهام المتكررة، أو سير العمل المتقدم، أو عند مشاركة حل شبه تلقائي مع مستخدمين غير تقنيين - فقط قم بتعيين زر لسهولة تشغيل أكبر.


طرق Excel المدمجة الأخرى - استخدم ميزة الفلتر المدمجة في Excel

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

إليك كيفية استخدامها:

  • حدد نطاق بياناتك، مع التأكد من تضمين عناوين الأعمدة.
  • انتقل إلى تبويب Data في الشريط، ثم انقر فوق Filter. ستظهر سهام منسدلة صغيرة بجانب كل عنوان.
  • انقر فوق السهم لعمود التاريخ واختر Date Filters > Between....
  • في مربع الحوار، أدخل تواريخ البدء والانتهاء المطلوبة. تأكد من أن التنسيق يطابق تنسيق تاريخ بياناتك.
  • انقر موافق. ستبقى الصفوف ذات التواريخ في النطاق المحدد مرئية فقط.
  • حدد جميع الصفوف المرئية، اضغط Ctrl + C للنسخ، اذهب إلى منطقة فارغة أو ورقة أخرى، واضغط Ctrl + V للصق النتائج المصفاة.

نصائح واحتياطات:

  • هذه الطريقة هي الأفضل لفحص سريع وبصري أو استخراج عشوائي.
  • إذا كان عمود التاريخ يستخدم تنسيقات غير متسقة، قم بتصحيحها مسبقًا لضمان عمل الفلتر بدقة.
  • تذكر مسح الفلتر عند الانتهاء لعرض مجموعة البيانات الكاملة مرة أخرى.
  • الصفوف المصفاة تكون مخفية، ولم يتم حذفها – تبقى بياناتك الأصلية سليمة.

تحليل السيناريو: فلتر Excel المدمج هو الأنسب للجداول ذات الحجم المعتدل وعندما تحتاج إلى معاينة أو نسخ مجموعات فرعية بسرعة دون حفظ الصيغ أو الماكرو.


استكشاف الأخطاء وإصلاحها وملاحظات الخلاصة:

  • تأكد دائمًا من أن خلايا التاريخ لديك مُنسَّقة بشكل متسق عبر ورقة العمل لجميع الحلول للعمل بشكل صحيح.
  • عند استخدام الصيغ أو VBA، قم بضبط إشارات الأعمدة والنطاقات لتتناسب مع هيكل ورقة العمل الفعلي لتجنب أخطاء الفهرسة أو الإشارات.
  • لتحسين الأداء على مجموعات البيانات الكبيرة جدًا، عادةً ما تقدم Kutools أو التصفية المدمجة نتائج أسرع وهي أقل عرضة لتجاوز حدود الذاكرة/الحساب المفرطة مقارنة بالصيغ المصفوفة الموسعة.
  • إذا واجهت فراغات غير متوقعة أو سجلات مفقودة في النتائج، قم بمراجعة شروط التاريخ، نطاقات الإدخال، وتنسيقات البيانات للتأكد من أنها مضبوطة كما هو مطلوب.

عرض توضيحي: استخراج جميع السجلات بين تاريخين باستخدام Kutools لـ Excel

 
Kutools لـ Excel: أكثر من 300 أدوات عملية في متناول يدك! استمتع بميزات ذكاء اصطناعي مجانية بشكل دائم! قم بالتنزيل الآن!

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

🤖 Kutools AI Aide: أحدث ثورة في تحليل البيانات من خلال: التنفيذ الذكي |توليد الشيفرة |إنشاء الصيغ المخصصة |تحليل البيانات وتوليد الرسوم البيانية |استدعاء الوظائف المحسنة
الميزات الشائعة: البحث، تمييز أو وضع علامة على المكررات | حذف الصفوف الفارغة | دمج الأعمدة أو العنوان دون فقدان البيانات | تقريب ...
بحث متقدم: بحث V متعدد المعايير | بحث V متعدد القيم | بحث في عدة ورقات | مطابقة غامضة ....
قائمة منسدلة متقدمة: إنشاء قائمة منسدلة بسرعة | قائمة منسدلة تابعة | قائمة منسدلة متعددة الاختيار ....
إدارة الأعمدة: إضافة عدد محدد من الأعمدة | نقل الأعمدة | تبديل حالة إظهار الأعمدة المخفية | مقارنة النطاق والأعمدة ...
ميزات مميزة: التركيز على الشبكة | عرض التصميم | شريط الصيغ المحسن | أدوات المصنف & أدوات الورقة العمل | مكتبة النص التلقائي (Auto Text) | منتقي التاريخ | دمج البيانات | تشفير/فك تشفير الخلايا | إرسال البريد الإلكتروني حسب القائمة | مرشح متقدم | تصفية خاصة (تصفية الخلايا التي تحتوي على خط عريض/مائل/يتوسطه خط...) ...
أفضل15 مجموعة أدوات:12 أداة نصية (إضافة نص، حذف الأحرف المحددة، ...) | أكثر من50 نوع من الرسوم البيانية (مخطط جانت، ...) | أكثر من40 صيغة عملية (حساب العمر بناءً على تاريخ الميلاد، ...) |19 أداة إدراج (إدراج رمز الاستجابة السريعة، إدراج صورة من المسار، ...) |12 أداة تحويل (تحويل إلى كلمات، تحويل العملة، ...) |7 أدوات دمج وتقسيم (دمج متقدم للصفوف، تقسيم الخلايا، ...) | ... والمزيد

عزز مهاراتك في Excel مع Kutools لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...


Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير

  • تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
  • افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
  • يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!