كيفية العثور على أول / آخر رقم موجب / سالب في Excel؟
عند العمل مع عمود من الأرقام الذي يحتوي على قيم موجبة وسالبة، قد تحتاج غالبًا إلى تحديد موقع الرقم الموجب أو السالب الأول أو الأخير بسرعة ضمن النطاق. يمكن أن يكون هذا مفيدًا بشكل خاص لتحليل البيانات، اكتشاف الاتجاهات، أو تحديد نقاط إدخال محددة في مجموعات البيانات الكبيرة. الاعتماد على الفحص اليدوي لمجموعات البيانات الكبيرة غير فعال ومعرض للأخطاء. لحسن الحظ، توفر Excel عدة طرق عملية لتبسيط هذه المهمة، مما يسمح لك باستخراج القيم الدقيقة التي تحتاجها باستخدام الصيغ أو الأتمتة. أدناه، ستجد حلولًا متعددة تناسب سيناريوهات مختلفة، بما في ذلك الأساليب المتقدمة المثالية للعمليات المتكررة أو على نطاق واسع.
العثور على أول رقم موجب / سالب باستخدام صيغة الصفيف
العثور على آخر رقم موجب / سالب باستخدام صيغة الصفيف
ماكرو VBA للعثور على أول / آخر رقم موجب / سالب
العثور على أول رقم موجب / سالب باستخدام صيغة الصفيف
للاستخراج أول رقم موجب أو سالب من مجموعة من القيم، يمكنك استخدام صيغ الصفائف في Excel. هذه الطريقة مناسبة للمستخدمين الذين يحتاجون إلى حل سريع لنطاقات بيانات متوسطة ويشعرون بالراحة مع الصيغ، خاصة في البيئات التي تكون فيها الإضافات أو الماكروهات الإضافية مقيدة. تُحدث نهج الصفائف تلقائيًا إذا تغيرت بيانات المصدر، مما يجعلها مناسبة تمامًا للقوائم الديناميكية. إليك كيف يمكنك تنفيذها:
1. حدد خلية فارغة، وأدخل الصيغة التالية لصفيف للحصول على أول رقم موجب:
=INDEX(A2:A18,MATCH(TRUE,A2:A18>0,0))
هنا، A2:A18 يشير إلى قائمة البيانات التي تريد البحث فيها. تحدد هذه الصيغة أول خلية في النطاق ذات قيمة أكبر من 0، ثم ترجع محتوى تلك الخلية. انظر لقطة الشاشة التالية:
2. بعد كتابة الصيغة، اضغط Ctrl + Shift + Enter في وقت واحد، بدلاً من الضغط فقط على Enter. سيؤدي هذا إلى تنفيذ صيغة الصفيف بشكل صحيح وإرجاع أول رقم موجب من قائمتك، كما هو موضح في المثال أدناه:
نصيحة: لاسترداد أول رقم سالب بدلاً من ذلك، استخدم هذه الصيغة ببساطة (تذكر الضغط على Ctrl + Shift + Enter بعد الكتابة):
=INDEX(A2:A18,MATCH(TRUE,A2:A18<0,0))
في كلتا الصيغتين، تغيير الشرط (>0
للموجب، <0
للسالب) يتيح لك استهداف نوع الرقم المطلوب. يرجى ملاحظة أن صيغ الصفائف لا تدعم الإشارات إلى الخلايا الفارغة، لذلك تأكد من أن نطاق البيانات الخاص بك لا يشمل خلايا فارغة للحصول على نتائج متسقة. إذا كانت جميع الأرقام إما موجبة أو سالبة، قد ترجع الصيغة خطأ - فكر في إضافة دالة IFERROR
إذا كنت تريد كبح الأخطاء وعرض رسالة مخصصة.
ملاحظة: في الإصدارات الحديثة من Excel (Office 365 وExcel 2021 وما بعدها)، قد لا تحتاج إلى استخدام Ctrl + Shift + Enter؛ حيث قد يكون الضغط على Enter كافيًا بسبب دعم الصفائف الديناميكية.
العثور على آخر رقم موجب / سالب باستخدام صيغة الصفيف
إذا كان هدفك هو تحديد آخر قيمة موجبة أو سالبة في عمود، يمكنك استخدام صيغة صفيف مختلفة. هذا النهج مناسب لتحليل الاتجاهات النهائية بسرعة أو تحديد أحدث نقطة بيانات من نوع معين. لاحظ أن هذه الطريقة تعكس تحديثات البيانات ديناميكيًا، وهو أمر ذو قيمة خاصة عندما تقوم بإلحاق أرقام جديدة بانتظام إلى القائمة.
1. حدد خلية فارغة بجانب عمود البيانات الخاص بك وأدخل هذه الصيغة الصفيف لإيجاد آخر رقم موجب:
=LOOKUP(9.99999999999999E+307, IF($A$2:$A$18 >0, $A$2:$A$18))
تعمل هذه الصيغة عن طريق الاستفادة من سلوك LOOKUP
في إعادة آخر تطابق عددي تم العثور عليه لرقم كبير جدًا. هنا، IF($A$2:$A$18 >0, $A$2:$A$18)
يقوم بتصفية الأرقام الموجبة فقط، ثم يقوم LOOKUP
بإرجاع آخر ظهور لها. انظر هذا موضحاً أدناه:
2. أكد الصيغة بالضغط على Ctrl + Shift + Enter (ما لم يكن إصدار Excel الخاص بك يدعم الصفائف الديناميكية). ستظهر النتيجة آخر قيمة موجبة موجودة في النطاق المحدد، كما هو موضح أدناه:
لإرجاع آخر رقم سالب، استخدم صيغة الصفيف التالية بدلاً من ذلك، أيضًا باستخدام Ctrl + Shift + Enter:
=LOOKUP(9.99999999999999E+307, IF($A$2:$A$18 <0, $A$2:$A$18))
إذا لم يتم العثور على أي قيمة موجبة أو سالبة، سترجع الصيغة خطأ (#N/A
). للتعامل مع هذه الحالات بسلاسة، غلف الصيغة في IFERROR
. على سبيل المثال:
=IFERROR(LOOKUP(9.99999999999999E+307, IF($A$2:$A$18 >0, $A$2:$A$18)), "No match found")
من المهم تجنب الخلايا المدمجة أو التنسيقات المختلطة بين النصوص والأرقام في نطاقك، لأنها قد تعطل نتائج حساب الصيغة. تحقق دائمًا من سلامة بياناتك قبل استخدام هذه الطرق للحصول على أفضل دقة.
ماكرو VBA للعثور على أول / آخر رقم موجب / سالب
إذا كنت بحاجة بشكل متكرر للعثور على أول أو آخر رقم موجب أو سالب في نطاقات متعددة أو مجموعات بيانات كبيرة جدًا، فإن أتمتة هذه المهمة باستخدام ماكرو VBA يمكن أن توفر الكثير من الوقت وتقلل من الأخطاء اليدوية. توفر هذه الحلول إمكانية البحث في نطاق محدد واسترجاع القيمة المطلوبة على الفور، مما يجعلها مثالية لمعالجة الدفعات أو المهام التحليلية المتكررة. يعد نهج VBA مفيدًا بشكل خاص في السيناريوهات التي تتطلب معايير معقدة أو سير عمل مخصص، على الرغم من أنه يتطلب معرفة أساسية بأدوات المطور في Excel.
1. انقر فوق Developer > Visual Basic لفتح نافذة Microsoft Visual Basic for Applications. ثم، في محرر VBA، انقر فوق Insert > Module، وانسخ الكود التالي إلى الوحدة الجديدة:
Sub FindFirstOrLastPosNegNumber()
Dim rng As Range
Dim cell As Range
Dim result As Variant
Dim firstPos As Variant, firstNeg As Variant
Dim lastPos As Variant, lastNeg As Variant
Dim selType As String
On Error Resume Next
Set rng = Application.InputBox("Select the data range", "KutoolsforExcel", Selection.Address, Type:=8)
If rng Is Nothing Then Exit Sub
selType = Application.InputBox("Type 'FirstPos' for first positive, 'FirstNeg' for first negative, 'LastPos' for last positive, or 'LastNeg' for last negative:", "KutoolsforExcel", "FirstPos", Type:=2)
If selType = "" Then Exit Sub
firstPos = Empty
firstNeg = Empty
lastPos = Empty
lastNeg = Empty
' Find first positive and first negative
For Each cell In rng
If IsNumeric(cell.Value) Then
If firstPos = Empty And cell.Value > 0 Then
firstPos = cell.Value
End If
If firstNeg = Empty And cell.Value < 0 Then
firstNeg = cell.Value
End If
If cell.Value > 0 Then
lastPos = cell.Value
End If
If cell.Value < 0 Then
lastNeg = cell.Value
End If
End If
Next cell
Select Case UCase(selType)
Case "FIRSTPOS"
result = firstPos
Case "FIRSTNEG"
result = firstNeg
Case "LASTPOS"
result = lastPos
Case "LASTNEG"
result = lastNeg
Case Else
result = "Invalid input"
End Select
If IsEmpty(result) Then
MsgBox "No matching value found in the selected range.", vbInformation, "KutoolsforExcel"
Else
MsgBox "Result: " & result, vbInformation, "KutoolsforExcel"
End If
End Sub
2. لتنفيذ الماكرو، اضغط F5 (أو انقر على الزر Run اتبع هذه الخطوات:
- سيظهر مربع حوار يطلب منك تحديد نطاق الأرقام الخاص بك (على سبيل المثال، A2:A18).
- بعد ذلك، أدخل نوع البحث الخاص بك: اكتب FirstPos لأول رقم موجب، FirstNeg لأول رقم سالب، LastPos لآخر رقم موجب، أو LastNeg لآخر رقم سالب (غير حساس لحالة الأحرف).
- بعد إدخال اختيارك والتأكيد، سيتم عرض النتيجة في مربع رسالة.
نصائح:
- يمكن لهذا الماكرو التعامل مع أي نطاق رقمي مستمر يحدده المستخدم، مما يوفر مرونة في تخطيط البيانات.
- إذا لم يتطابق النوع المحدد مع أي رقم في النطاق، ستحصل على إشعار بدلاً من خطأ.
- تأكد من تمكين الماكروهات في Excel الخاصة بك حتى يعمل كود VBA.
- إذا كانت بياناتك تتضمن قيمًا غير رقمية، سيتجاهل الماكروها أثناء المعالجة.
استكشاف الأخطاء وإصلاحها والاقتراحات: لكل الحلول، تأكد دائمًا من أن تحديدك يحتوي على النطاق المقصود ولا يشمل الرؤوس. إذا كنت تستخدم نطاقات كبيرة، ففكر في تقليل الحجم لتجنب التأخير في الحساب أو الأداء، خاصة عند استخدام صيغ الصفائف أو الماكروهات.
إذا وجدت نفسك تقوم بهذه المهمة بشكل متكرر أو ترغب في المزيد من التخصيص، فكر في الجمع بين معايير متعددة في الماكرو الخاص بك أو إنشاء زر مخصص لسهولة الوصول. احفظ دائمًا عملك قبل تجربة نصوص VBA جديدة واختبر على نسخ احتياطية إذا كنت جديدًا على البرمجة.
مقالات ذات صلة:
كيفية العثور على أول / آخر قيمة أكبر من X في Excel؟
كيفية العثور على أعلى قيمة في صف وإرجاع رأس العمود في Excel؟
كيفية العثور على أعلى قيمة وإرجاع قيمة الخلية المجاورة في 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 يومًا — بدون تسجيل، بدون بطاقة ائتمان
- قيمة رائعة — وفر مقارنة بشراء الإضافات بشكل منفرد