Skip to main content

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

Author: Sun Last Modified: 2025-08-06

عند العمل مع كميات كبيرة من البيانات المُوقّتة في 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 أدوات عملية في متناول يدك! استمتع بميزات ذكاء اصطناعي مجانية بشكل دائم! قم بالتنزيل الآن!

أفضل أدوات زيادة الإنتاجية لمجموعة Office

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

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


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

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