Skip to main content

Kutools for Office — مجموعة واحدة. خمسة أدوات. أنجز المزيد.

كيفية العثور على أول / آخر رقم موجب / سالب في Excel؟

Author Xiaoyang Last modified

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

العثور على أول رقم موجب / سالب باستخدام صيغة الصفيف

العثور على آخر رقم موجب / سالب باستخدام صيغة الصفيف

ماكرو VBA للعثور على أول / آخر رقم موجب / سالب


arrow blue right bubble العثور على أول رقم موجب / سالب باستخدام صيغة الصفيف

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

1. حدد خلية فارغة، وأدخل الصيغة التالية لصفيف للحصول على أول رقم موجب:

=INDEX(A2:A18,MATCH(TRUE,A2:A18>0,0))

هنا، A2:A18 يشير إلى قائمة البيانات التي تريد البحث فيها. تحدد هذه الصيغة أول خلية في النطاق ذات قيمة أكبر من 0، ثم ترجع محتوى تلك الخلية. انظر لقطة الشاشة التالية:

A screenshot showing a dataset to find the first positive number in Excel

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

A screenshot showing the result of the first positive number using an array formula in Excel

نصيحة: لاسترداد أول رقم سالب بدلاً من ذلك، استخدم هذه الصيغة ببساطة (تذكر الضغط على Ctrl + Shift + Enter بعد الكتابة):

=INDEX(A2:A18,MATCH(TRUE,A2:A18<0,0))

في كلتا الصيغتين، تغيير الشرط (>0 للموجب، <0 للسالب) يتيح لك استهداف نوع الرقم المطلوب. يرجى ملاحظة أن صيغ الصفائف لا تدعم الإشارات إلى الخلايا الفارغة، لذلك تأكد من أن نطاق البيانات الخاص بك لا يشمل خلايا فارغة للحصول على نتائج متسقة. إذا كانت جميع الأرقام إما موجبة أو سالبة، قد ترجع الصيغة خطأ - فكر في إضافة دالة IFERROR إذا كنت تريد كبح الأخطاء وعرض رسالة مخصصة.

ملاحظة: في الإصدارات الحديثة من Excel (Office 365 وExcel 2021 وما بعدها)، قد لا تحتاج إلى استخدام Ctrl + Shift + Enter؛ حيث قد يكون الضغط على Enter كافيًا بسبب دعم الصفائف الديناميكية.


arrow blue right bubbleالعثور على آخر رقم موجب / سالب باستخدام صيغة الصفيف

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

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 بإرجاع آخر ظهور لها. انظر هذا موضحاً أدناه:

A screenshot showing the array formula for finding the last positive number in Excel

2. أكد الصيغة بالضغط على Ctrl + Shift + Enter (ما لم يكن إصدار Excel الخاص بك يدعم الصفائف الديناميكية). ستظهر النتيجة آخر قيمة موجبة موجودة في النطاق المحدد، كما هو موضح أدناه:

A screenshot showing the result of the last positive number using an array formula in 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")

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


arrow blue right bubbleماكرو 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 button Run اتبع هذه الخطوات:

  • سيظهر مربع حوار يطلب منك تحديد نطاق الأرقام الخاص بك (على سبيل المثال، A2:A18).
  • بعد ذلك، أدخل نوع البحث الخاص بك: اكتب FirstPos لأول رقم موجب، FirstNeg لأول رقم سالب، LastPos لآخر رقم موجب، أو LastNeg لآخر رقم سالب (غير حساس لحالة الأحرف).
  • بعد إدخال اختيارك والتأكيد، سيتم عرض النتيجة في مربع رسالة.

نصائح:

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

 

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

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


مقالات ذات صلة:

كيفية العثور على أول / آخر قيمة أكبر من X في Excel؟

كيفية العثور على أعلى قيمة في صف وإرجاع رأس العمود في Excel؟

كيفية العثور على أعلى قيمة وإرجاع قيمة الخلية المجاورة في Excel؟

كيفية العثور على القيمة القصوى أو الدنيا بناءً على معايير في Excel؟

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

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

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