كيف تجد القيمة العظمى أو القيمة الدنيا ضمن نطاق تواريخ معيَّن (بين تاريخين) في Excel؟
في العمل اليومي مع تحليل البيانات، خاصةً عند التعامل مع سجلات المعاملات أو بيانات السلاسل الزمنية، ستجد نفسك غالبًا بحاجة إلى تحديد القيمة العظمى أو الصغرى خلال فترة زمنية محددة. على سبيل المثال، تخيل أن لديك جدولًا كما في لقطة الشاشة أدناه، وترغب في استخراج القيمة العظمى أو الصغرى بين تاريخين—مثل الفترة من 1/7/2016 إلى 1/12/2016. يُعد هذا من المتطلبات الشائعة عند إعداد تقارير لفترات زمنية معيّنة، أو مقارنة الأداء الشهري، أو تتبع القمم والانخفاضات في بياناتك. سيأخذك هذا المقال في جولة عبر عدة حلول عملية باستخدام صيغ Excel وشفرة VBA والميزات المدمجة، لتمكينك من استخراج القيمة التي تحتاجها بسرعة ودقة.

➤ ابحث عن القيمة العظمى أو القيمة الدنيا في نطاق التاريخ معيّن باستخدام صيغ المصفوفة
➤ كود VBA: ابحث تلقائيًّا عن القيمة العظمى أو القيمة الدنيا في نطاق تاريخ محدد
➤ طرق Excel المدمجة الأخرى: استخدم جدول بيانات محوري لتصفية البيانات وعرض القيم العظمى/الصغرى حسب نطاق التاريخ
العثور على القيمة العظمى أو القيمة الدنيا في نطاق التاريخ معيَّن باستخدام صيغ المصفوفة
إحدى الطرق المباشرة هي استخدام صيغ المصفوفة في Excel، التي تُمكّنك من حساب القيم وفقًا لمعايير متعددة—مثل التحقق مما إذا كانت التواريخ تقع ضمن النطاق الذي حددته. وهي طريقة مثالية للبيانات ذات الحجم المعتدل وللمستخدمين المتمرسين في إدخال الصيغ.
افترض أن تواريخ قائمة ورقة العمل موجودة في العمود A (A5:A17)، والقيم المقابلة لها في العمود B (B5:B17)، مع تحديد تاريخ البداية في الخلية B1 وتاريخ الانتهاء في الخلية D1.
1. حدد الخلية الفارغة التي ترغب في عرض النتيجة بها (مثل E2).
العثور على القيمة العليا بين 1/7/2016 و1/12/2016:
2. أدخل الصيغة التالية في الخلية المحددة. بعد التعديل، اضغطCtrl+Shift+Enter (وليس Enter فقط)، ليتعرف Excel عليها كصيغة مصفوفة:
=MAX(IF((A5:A17=$B$1),B5:B17,"")) تتحقق هذه الصيغة من التواريخ الواقعة بين تاريخ البداية وتاريخ الانتهاء، وتحسب القيمة العظمى فقط بناءً على القيم الموجودة في الصفوف المطابقة.

العثور على القيمة الدنيا بين 1/7/2016 و1/12/2016:
3. لإيجاد القيمة الصغرى ضمن نفس نطاق التاريخ، استخدم نهجًا مشابهًا. أدخل الصيغة التالية (ومجددًا، تأكّد بالضغط على)Ctrl+Shift+Enter):
=MIN(IF((A5:A17=$B$1), B5:B17, "")) تعمل هذه الصيغة بنفس الطريقة، لكنها تُرجع القيمة الدنيا التي تطابق معايير التاريخ الخاصة بك.

ملاحظات:
- في الأمثلة أعلاه، يُعدّA5:A17 النطاق الذي يحتوي على تواريخك، و$B$1 هو تاريخ البدء، و$D$1 هو تاريخ الانتهاء، بينما يمثلB5:B17 نطاق القيم التي ترغب في تقييمها. لا تنسَ تعديل هذه المراجع لتناسب بياناتك الفعلية!
- تأكد من أن النطاقين اللذين تشير إليهما متساويان في الطول؛ وإلا فقد تُنتج الصيغة أخطاءً.
- تأكد مرتين من أن إدخالات التواريخ لديك منسَّقة كتواريخ وليس كنص، وإلا فقد لا تعمل الصيغة بالشكل المتوقع.
نصائح:
- إذا كنت تعمل مع Office 365 أو Excel 2021 أو الإصدارات الأحدث، فيمكنك استخدام دالتيMAXIFS وMINIFS لإجراء عمليات حسابية تعتمد على معايير بسهولة أكبر.
- إذا أعادت الصيغة قيمة 0 أو خلية فارغة بشكل غير متوقع، فتأكد من أن نطاق التاريخ الذي حددته يتداخل مع تواريخ البيانات المتاحة، وافحص بدقة عن أي خلايا فارغة قد تكون غابت عن عينك.
شفرة VBA: العثور تلقائيًّا على القيمة العظمى أو القيمة الدنيا في نطاق تاريخ محدد
للمستخدمين الذين يتعاملون مع مجموعات بيانات كبيرة، أو يحتاجون إلى تكرار هذه المهمة بشكل متكرر، أو يسعون لأتمتة إعداد التقارير، يُعدّ حل ماكرو VBA وسيلة فعّالة للعثور على القيمة العظمى أو القيمة الدنيا ضمن نطاق تواريخ محدد. وباستخدام VBA، يمكنك مطالبة المستخدم باختيار النطاقات ذات الصلة وتحديد التواريخ في كل مرة، مما يجعله الخيار الأمثل للتطبيقات الديناميكية أو دمج سير العمل المتقدم.
1. انتقل إلىالمطور > Visual Basic. في نافذة محرر VBA التي تظهر، انقرإدراج > وحدة نمطية (Module)، ثم انسخ والصق الشفرة التالية في الوحدة النمطية الجديدة:
Sub FindMaxMinInDateRange_Robust()
Dim ws As Worksheet
Dim dateRange As Range, valueRange As Range
Dim startCell As Range, endCell As Range
Dim startDate As Date, endDate As Date
Dim i As Long
Dim d As Date, v As Variant
Dim hasHit As Boolean
Dim maxV As Double, minV As Double
Const TITLE As String = "KutoolsforExcel"
On Error GoTo FailFast
Set ws = ActiveSheet
Set dateRange = Application.InputBox("Select the DATE range:", TITLE, Type:=8)
If dateRange Is Nothing Then Exit Sub
Set valueRange = Application.InputBox("Select the VALUE range (same rows as date range):", TITLE, Type:=8)
If valueRange Is Nothing Then Exit Sub
If dateRange.Rows.Count <> valueRange.Rows.Count Then
MsgBox "Date range and value range must have the SAME number of rows.", vbExclamation, TITLE
Exit Sub
End If
Set startCell = Application.InputBox("Select START date cell:", TITLE, Type:=8)
If startCell Is Nothing Then Exit Sub
Set endCell = Application.InputBox("Select END date cell:", TITLE, Type:=8)
If endCell Is Nothing Then Exit Sub
If Not IsDate(startCell.Value) Or Not IsDate(endCell.Value) Then
MsgBox "Start/End cell must contain valid dates.", vbExclamation, TITLE
Exit Sub
End If
startDate = CDate(startCell.Value)
endDate = CDate(endCell.Value)
If startDate > endDate Then
Dim tmp As Date
tmp = startDate: startDate = endDate: endDate = tmp
End If
For i = 1 To dateRange.Rows.Count
If IsDate(dateRange.Cells(i, 1).Value) Then
d = CDate(dateRange.Cells(i, 1).Value)
If d >= startDate And d <= endDate Then
v = valueRange.Cells(i, 1).Value
If IsNumeric(v) And Not IsEmpty(v) Then
If Not hasHit Then
maxV = CDbl(v): minV = CDbl(v)
hasHit = True
Else
If CDbl(v) > maxV Then maxV = CDbl(v)
If CDbl(v) < minV Then minV = CDbl(v)
End If
End If
End If
End If
Next i
If hasHit Then
MsgBox "Max value in range: " & maxV & vbCrLf & _
"Min value in range: " & minV, vbInformation, TITLE
Else
MsgBox "No rows matched the date range (or values were non-numeric).", vbExclamation, TITLE
End If
Exit Sub
FailFast:
MsgBox "Something went wrong: " & Err.Description, vbExclamation, TITLE
End Sub
2. لتشغيل الماكرو، انقر على زر
التشغيل في محرر VBA (أو اضغط)F5). بعد ذلك، اتبع التعليمات لتحديد نطاقات التواريخ والقيم، وإدخال تاريخ البداية وتاريخ الانتهاء. سيتم عرض القيمة العظمى والقيمة الدنيا الناتجتين عن الفترة الزمنية التي حددتها في مربع حوار.
نصائح:
- تأكد من أن نطاقات التواريخ والقيم المحددة تحتوي على العدد نفسه من الصفوف وتتوافق مع بعضها البعض مباشرةً.
- يُعد هذا النهج مفيدًا بشكل خاص عند التعامل مع قوائم كبيرة أو أتمتة عمليات حساب القيم العظمى أو الصغرى المتكررة بناءً على معايير متغيرة.
- إذا حددت نطاقًا فارغًا أو غير صالح، أو إذا لم يكن إدخال التاريخ منسَّقًا بشكل صحيح، فقد لا تُنتج الشفرة نتيجة صالحة—لذا تأكد من مراجعة اختياراتك قبل التشغيل.
طرق Excel المدمجة الأخرى: استخدام جدول PivotTable لتصفية البيانات وعرض القيمة العظمى/الصغرى حسب نطاق التاريخ
إذا كنت تفضل عدم استخدام الصيغ أو الشفرات، فإن ميزةجدول PivotTableفي Excel توفر لك طريقة تفاعلية وخالية من الصيغ لتصفية البيانات حسب التاريخ وعرض قيم ملخّصة مثل القيمة العظمى أو الصغرى. ويُعد هذا الحل مثاليًا للمستخدمين الذين يرغبون في استكشاف بياناتهم، أو إنشاء تقارير سريعة، أو تعديل المعايير بسهولة عبر واجهة رسومية بديهية.
1. حدد جدولك (بما في ذلك التواريخ والقيم)، ثم انتقل إلى تبويبإدراجوانقر علىجدول PivotTable.
2. في مربع حوارإنشاء جدول PivotTable، اختر مكان وضع جدول PivotTable، ثم انقر علىموافق.
3. في جزءحقول جدول PivotTable، اسحب حقلالتاريخإلى منطقةالصفوف، واسحب حقلالقيم (الذي تريد إيجاد القيمة العظمى أو الصغرى له) إلى منطقةالقيم. بشكل افتراضي، سيعرضالمجموع؛ انقر على الحقل في منطقةالقيم، واخترإعدادات الحقل، ثم غيّره إلىالقيمة العظمىأوالقيمة الصغرىحسب الحاجة.
4.لتصفية البيانات حسب نطاق تاريخ معيّن، انقر على القائمة المنسدلة في تسميات الصفوف الخاصة بحقلالتاريخ، ثم اخترمرشحات التاريخ > بين...، وحدّد تاريخ البداية وتاريخ الانتهاء (مثلاً، من)2016/7/1 إلى2016/12/1)، ثم انقر علىموافق.
سيعرض جدول PivotTable الآن القيمة العظمى أو القيمة الدنيا لكل تاريخ ضمن النطاق المحدد. وإذا كنت بحاجة إلى أعلى قيمة أو أدنى قيمة واحدة فقط خلال تلك الفترة، فيمكنك تطبيق تصفية إضافية أو فحص النتيجة المُلخَّصة بصريًّا.
ملاحظات:
- تأكد من أن جميع الخلايا في عمودالتاريختحتوي على تواريخ فعلية (وليست نصوصًا)، إذ قد تؤدي التنسيقات المختلطة إلى تخطي عوامل التصفية لبعض الصفوف.
- إذا تغيَّرت البيانات الأصلية، فانقر بزر الماوس الأيمن على جدول PivotTable واخترتحديثل تحديث النتائج.
- استنادًا إلى تنسيقك، قد يقوم Excel بتجميع التواريخ تلقائيًا حسب الشهر أو الربع أو السنة. إذا لزم الأمر، انقر بزر الماوس الأيمن على أي تاريخ في جدول PivotTable، ثم اخترفك التجميع(أو)تجميع…لتعيين المستوى الذي تريده).
- لمجموعات البيانات الكبيرة جدًّا، يُوصى بوضع جدول PivotTable في ورقة عمل جديدة لتحسين وضوح العرض والأداء.
نصائح:
- أضفشريحة تصفية (Slicer)إلى حقل التاريخ ()تحليل جدول PivotTable > إدراج شريحة تصفية) لتغيير النطاقات بشكل تفاعلي.
- هل تبحث عن قيمة عظمى أو صغرى واحدة تمثّل كامل نطاق البيانات بعد التصفية؟ بعد إتمام التصفية، قم بفرز عمود القيم أو أضف حقل قيم ثانٍ وغيّره إلىالقيمة العظمى/القيمة الصغرى.
- اجمع بينه وبينمخطط PivotChartللحصول على ملخص بصري يتجدد تلقائيًا مع كل تغيير في عوامل التصفية الخاصة بك.
يتفادى هذا الأسلوب إدخال الصيغ يدويًّا ويتيح تفاعلًا ديناميكيًّا — وهو مثالي للعروض التقديمية أو السيناريوهات التي يستخدمها عدة أشخاص. أما إذا كنت بحاجة إلى مخرجات شديدة التخصيص أو أتمتة دُفعات عبر العديد من الأوراق، ففكّر في استخدام الصيغ أو طرق VBA.
مقالات ذات صلة:
- كيف تجد موقع أول رقم أو آخر رقم في سلسلة نصية في Excel؟
- كيف يمكنك العثور على أول جمعة أو آخر جمعة من كل شهر في Excel؟
- كيف تستخدم دالة VLOOKUP للعثور على أول قيمة مطابقة، أو الثانية، أو القيمة المطابقة رقم n في Excel؟
- كيف يمكنك العثور على القيمة الأكثر تكرارًا في نطاق معين في Excel؟
أفضل أدوات الإنتاجية لمكتبتك
عزِّز مهاراتك في 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 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
- أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل