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

المطلوب دالة لحساب عدد الارقام بخلية واحدة


إذهب إلى أفضل إجابة Solved by عبدالله باقشير,

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

السلام عليكم

لدي خلية اكسل بها القيم التالية (  65,84,412,65,84,110)  ، و المطلوب حساب عدد الارقام و ليس مجموعها و المكرر يحسب مرة واحده فقط
يعني النتيجه =4

ملاحظة : يمكن وضع الارقام بصيغة نص
و شكراً

رابط هذا التعليق
شارك

عفوا أخى بعد رؤية مرفق أستاذى الرائع وكودة الرائع ( رجب جاويش )

إتضح لى أن المعادلة ليست دقيقة بعد تجربتها لتعطى نفس نتيجة أستاذى ( رجب جاويش )

لذلك تم تعديل المرفق والأن أصبح كل شئ تمام

تقبل تحياتى

عدد الأرقام المفردة داخل خلية.rar

تم تعديل بواسطه جمال عبد السميع
  • Like 4
رابط هذا التعليق
شارك

بالإضافة الى حل أخى الحبيب / محمود

هذا كود يقوم بعمل المطلوب

Sub ragab()
Range("B2:B1000").ClearContents
For x = 2 To [A1000].End(xlUp).Row
    For xx = 1 To UBound(Split(Cells(x, 1), ",")) + 1
        d = Split(Cells(x, 1), ",")(xx - 1)
        T = Application.WorksheetFunction.CountIf(Range(Cells(1, 30), Cells(xx, 30)), d)
        If T < 1 Then
            Cells(xx, 30) = d
            myCount = myCount + 1
        End If
    Next
    Cells(x, 2) = myCount
    Range(Cells(1, 30), Cells(xx, 30)) = ""
    myCount = 0
Next
End Sub

عدد الأرقام الفريدة.rar

رابط هذا التعليق
شارك

رائع ....

كم سعادتي بين اثنين من عمالقة المنتدى

ملك المعادلات / استاذ جمال

وصاحب الاكواد البسيطة المميزة استاذي ومعلمي /استاذ رجب جاويش

جزاكما الله خيراً :fff: :fff: :fff: :fff:

رابط هذا التعليق
شارك

السلام عليكم

 

الشكر واصل لخي الجبيب جمال واخي الحبيب رجب ..........حفظهما الله

 

لاثراء الموضوع هذه دالة بالكود


Option Explicit

Function kh_vCont(iText) As Long
Dim Obj As Object, Tx
'''''''''''''''''''''''''''''
Set Obj = CreateObject("Scripting.Dictionary")
'''''''''''''''''''''''''''''
For Each Tx In Split(iText, ",")
    If Not Obj.Exists(Trim(Tx)) Then
        Obj.Add Trim(Tx), 1
    End If
Next
kh_vCont = Obj.Count
Set Obj = Nothing
End Function

المرفق 2003

دالة عدد الأرقام الفريدة في نص.rar

  • Like 2
رابط هذا التعليق
شارك

تمت التجربة و بصراحه  شئ رائع :rol:
اذا ماكنش فيه ازعاج ممكن نوسع الموضوع شوي و بدل من عد الارقام بخلية واحده نخليه يعد الارقام بجميع الخلايا و بنفس الشرط و هو عد الرقم المكرر مرة  واحده . طبعا اذا ماكنش فيه ازعاج ليكم
و مشكورين مرة ثانيه عالمجهود

رابط هذا التعليق
شارك

  • أفضل إجابة

attachicon.gifexample.rarالمطلوب ان يتم عد الارقام في الثلاث خلايا معاً مع عد المكرر مرة واحده.

او بالأحرى عد الارقام لشيت كامل

هذه الدالة تقوم بذلك

Option Explicit


Function kh_vCont11(Rng As Range) As Long
Dim Col As New Collection
Dim Tx, iText, v
'''''''''''''''''''''''''''''
On Error Resume Next
For Each v In Rng.Cells
    For Each Tx In Split(CStr(v), ",")
        Col.Add 1, Trim(Tx)
    Next
Next
kh_vCont11 = Col.Count
Set Col = Nothing
On Error GoTo 0
End Function

شاهد المرفق 2003

example++.rar

رابط هذا التعليق
شارك

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

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

Important Information