KutoolsforOffice — حل واحد، خمس أدوات قوية.تحقيق المزيد بجهد أقل.

كيف تجد أول أو آخر رقم موجب أو سالب في Excel؟

المؤلفXiaoyangتاريخ التعديل

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

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

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

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


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

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

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

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

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

لقطة شاشة تُظهر مجموعة بيانات للعثور على أول رقم موجب في Excel

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

لقطة شاشة تُظهر نتيجة أول رقم موجب باستخدام صيغة مصفوفة في 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 بفضل دعم المصفوفات الديناميكية.


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

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

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 آخر ظهور لها. انظر التوضيح أدناه:

لقطة شاشة تُظهر صيغة المصفوفة للعثور على آخر رقم موجب في Excel

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

لقطة شاشة تُظهر نتيجة آخر رقم موجب باستخدام صيغة مصفوفة في 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 لآخر رقم سالب (غير حساس لحالة الأحرف).
  • بعد إدخال اختيارك وتأكيده، ستظهر النتيجة في مربع رسالة.

نصائح:

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

 

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

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


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

كيف تجد القيمة الأولى أو الأخيرة الأكبر من X في Excel؟

كيف تجد القيمة الأعلى في صفٍ ما، ثم تُرجع عنوان العمود المقابل لها في Excel؟

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

كيف تجد القيمة العظمى أو القيمة الدنيا وفقًا لمعايير محددة في Excel؟

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

🤖KUTOOLS AI مساعد: ثوّر تحليل البيانات استنادًا إلى:التنفيذ الذكي   |  إنشاء الكود|  إنشاء الصيغ المخصصة  |  تحليل البيانات وإنشاء المخططات البيانية|  استدعاء الوظائف المحسنة
الميزات الشائعة:البحث، التمييز أو وضع علامة على المكررات   |  حذف الصفوف الفارغة   |  دمج الأعمدة أو الخلايا دون فقدان البيانات   |  التقريب بدون استخدام الصيغة...
بحث متقدم:VLookup متعدد المعايير  |  VLookup متعدد القيم  |   VLookup عبر أوراق متعددة   |   مطابقة غامضة....
قائمة منسدلة متقدمة:إنشاء قائمة منسدلة بسرعة   |  قائمة منسدلة تابعة   |  قائمة منسدلة متعددة الاختيار....
مدير الأعمدة:إضافة عدد محدد من الأعمدة|نقل الأعمدة|تبديل حالة ظهور الأعمدة المخفية|مقارنة النطاقات والأعمدة...
ميزات مميزة:التركيز على الشبكة   |  عرض التصميم   |شريط الصيغ المحسن   | مدير الدفتر والورقة   |  مكتبة الموارد(نص تلقائي)|  أداة اختيار التاريخ   |  تجميع ورقات العمل  |  تشفير/فك تشفير الخلايا   | إرسال رسائل البريد الإلكتروني حسب القائمة   |  مرشح متقدم   |   تصفية خاصة(تصفية الخلايا التي تحتوي على خط عريض/مائل/يتوسطه خط...) ...
أفضل 15 مجموعات الأدوات:12 أدواتالنصوص(إضافة نص،حذف الأحرف المحددة، ...)|   50+أنواعالمخططات البيانية(مخطط جانت، ...)|   40+ صيغعملية(حساب العمر بناءً على تاريخ الميلاد، ...)|   19 أدواتالإدراج(إدراج رمز QR،إدراج صورة من المسار، ...)|   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.

ExcelWordOutlookTabsPowerPoint
  • حزمة شاملة واحدة— إضافات Excel وWord وOutlook وPowerPoint بالإضافة إلى Office Tab Pro
  • برنامج تثبيت واحد، ترخيص واحد— الإعداد خلال دقائق (جاهز لـ MSI)
  • يعمل بشكل أفضل معًا— إنتاجية ميسَّرة عبر تطبيقات Office
  • تجربة مجانية لمدة 30 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
  • أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل