اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر (معدل)

السلام عليكم ورحمة الله وبركاته

أبحث عن معادلة لعد الخلايا التى تحتوى على أى قيم

داخل نطاق جدول مع تجاهل الخلايا الفارغة عند العد

التفاصيل من داخل الملف وشاكر فضل حضراتكم

 

عدد الخلايا بشروط.xlsx

تم تعديل بواسطه ناصرالمصرى
قام بنشر

السلام عليكم زرحمة الله وبركاته

برجاء المساعدة 

حاولت إيجاد الحل بإستخدام أحد الدالتين COUNTA و SUBTOTAL

ولكن بدون أى نجاح فهل ياترى سأجد المساعدة فى موضوعى هذا

 

قام بنشر (معدل)

وعليكم السلام ورحمة الله تعالى وبركاته

لست متأكدا مما تحاول فعله لاكن جرب هدا 

=IF(OR(F23="الأول", F23="الثاني"), IF(COUNTIF($B$11:$I$15, "ق") >= 25, 25,
COUNTIF($B$11:$I$15, "ق")), COUNTIF($B$11:$I$15, "ق"))


او


=IF(OR(F23="الأول", F23="الثاني"), MIN(25, COUNTIF($B$11:$I$15, "ق")), COUNTIF($B$11:$I$15, "ق"))

 

تم تعديل بواسطه محمد هشام.
قام بنشر

شكرا لإهتمام سيادتكم

أريد عدد الخلايا الظاهرة فقط بصرف النظر عن محتواها

سواء تاريخ أو نص أو قيمة مع تجاهل الخلايا الفارغة ووفقا للشروط المبينه

علما بأن نطاق الجدول فى الملف الأصلى يحتوى على معادلات

أستخدمت الدوال sum و  COUNTA و SUBTOTAL ولكن دون جدوى

أرجو أن تساهم معى فى حل هذه المشكلة وشاكر فضل حضرتك

 

قام بنشر

السلام عليكم 

بعد اذن استاذنا الفاضل محمد هشام محاولة منى للمساهمة  فى ملف اخينا ناصر المصرى

اذا لم تحقق المطلوب ارفق الملف بالمعادلات

=IF(OR(F23="الأول"; F23="الثانى"); IF(COUNTA(B11:I15) >= 25; 25; COUNTA(B11:I15)); IF(F23="الثالث"; COUNTA(B11:I15); ""))

الملف 

عدد الخلايا بشروط.xlsx

قام بنشر (معدل)

كذاك جرب المعادلة التالية فهل تتجاهل الفراغات والخلايا الصفرية

=IF(OR(F23="الأول";F23="الثانى");IF(SUMPRODUCT(--(B11:I15<>0);--(B11:I15<>""))>=25;25;SUMPRODUCT(--(B11:I15<>0);--(B11:I15<>"")));IF(F23="الثالث";SUMPRODUCT(--(B11:I15<>0);--(B11:I15<>""));""))

 

تم تعديل بواسطه عبدالله بشير عبدالله
قام بنشر

وعليكم السلام ورحمة الله تعالى وبركاته


بعد إذن السادة الأفاضل، يسعدني أن أشارك معكم هذه التجربة في محاولة مني للمساهمة والتفاعل الإيجابي والاستفاده من حضرتكم. 

Sub CalculateH23()
    Dim ws As Worksheet
    Dim countNonEmpty As Long
    Dim result As Variant
    
    Set ws = ThisWorkbook.Sheets("Sheet1")
    
    ' احسب عدد الخلايا غير الفارغة في النطاق B11:I15
    countNonEmpty = Application.WorksheetFunction.CountA(ws.Range("B11:I15"))
    
    ' تحقق من الشرط في الخلية F23
    If ws.Range("F23").Value = "الأول" Or ws.Range("F23").Value = "الثاني" Then
        result = Application.WorksheetFunction.Min(25, countNonEmpty)
    ElseIf ws.Range("F23").Value = "الثالث" Then
        result = countNonEmpty
    Else
        result = ""
    End If
    
    ' وضع النتيجة في الخلية H23
    ws.Range("H23").Value = result
End Sub

 

  • Like 1
قام بنشر (معدل)

وعليكم السلام ورحمة الله وبركاته

ويسعدنى ويشرفنى حضورك المبارك فى هذه المشاركة الفعالة اخى الفاضل /  أبو مروان

الكود بعمل بشكل رائع ويعطى نتائج صحيحة 100% فى حالة عدم إحتواء الخلايا على معادلات

أما الملف الأصلى يحتوى على معادلات فهل من سبيل لتعديل ماتفضلت به بإستخدام الدالة 

SUMPRODUCT

من باب تنوع الحلول لمواجهة هذة المشكلة مستقبلا لدى الكثير من الزملاء هنا

برجاء الإطلاع على المرفق الذى يحتوى على معادلة الأستاذ / عبدالله بشير التى جاءت بالنتائج المرجوة بنسبة 100%

والكود الخاص بكم فى محاوله أخرى منك أخى الكريم وشاكر فضل حضراتكم وجزاكم الله خيرا

عدد الخلايا بشروط - الأستاذ عبدالله - ابو مروان.xlsm

تم تعديل بواسطه ناصرالمصرى
  • Like 1
  • أفضل إجابة
قام بنشر

جرب الكود التالى النتيجة فى G2 بمكن تعديلها فى الكود

Sub CalculateResult()
    Dim cellCount As Long
    Dim result As Variant
    Dim dataRange As Range
    Dim cell As Range
    
    Set dataRange = Sheets("طباعة").Range("B7:I11")

    cellCount = 0

    For Each cell In dataRange
        If cell.Value <> 0 And cell.Value <> "" Then
            cellCount = cellCount + 1
        End If
    Next cell
    
    Select Case Sheets("طباعة").Range("F2").Value
        Case "الأول", "الثانى"
            If cellCount >= 25 Then
                result = 25
            Else
                result = cellCount
            End If
        Case "الثالث"
            result = cellCount
        Case Else
            result = ""
    End Select
    
    Sheets("طباعة").Range("G2").Value = result
    
    MsgBox "تم حساب النتيجة: " & result

الملف

 

عدد الخلايا بشروط.xlsx

  • Like 2

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information