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

جمع عدد الدقائق فى عمود يحتوى على دقائق وثوانى و محتوى نصي


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

يوجد عمود يحتوى على أرقام و نص بهذا الشكل

01:00 MIN

08:00 MIN

1 SMS

وهو يعبر عن عدد الدقائق و الرسائل و لن يكون به كسور دقائق

هذا العمود لا أستطيع جمع إجمالى خلاياه

المطلوب معادلة تجعل هذه الأرقام قابلة للجمع حتى لو حذفنا النص المجاور للرقم

فتكون ال ثلاث خلايا السابقة تصبح

1.0

8.0

1

ولا يشترط وضع الكسور ويكفى الرقم الصحيح
و الملف مرفق

فودافون أحمد الرفاعى.rar

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

أخي الكريم يوسف عطا

كيف الحال يا رجل ؟ افتقدناك الفترة الماضية

 

بالنسبة لطلبك يمكن وضع المعادلة التالية في الخلية G2 ثم سحبها إلى آخر النطاق

=LEFT(F2,FIND(" ",F2)-1)

وفي أول خلية فارغة بعد النطاق قم بوضع المعادلة التالية :

=SUM(INT(G2:G167)+MOD(G2:G167,1)*5/3)/24

وهي معادلة صفيف أي يجب الضغط على Ctrl + Shift + Enter

وإليك الملف المرفق توضيحاً لكيفية الوصول للحل

تقبل تحياتي

Vodafone.rar

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

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

بخصوص المعادلة الأولى يا أستاذنا ياسر بك
تطلعلى رسالة تقول إن يوجد خطأ فى المعادلة
علماً بأنى أعمل على أوفيس 2003

وربما تكون المعادلة صالحة للإصدارات الأعلى لكنى لا أعمل إلا على 2003
فهل يوجد حل ؟
أشكر لك إهتمامك

 

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

أخي الكريم أبو يوسف

أي المعادلات يحدث فيها الخطأ .. ؟

أعتقد أن المعادلات يجب ان تعمل على 2003 .. جرب تغير الفاصلة العادية لفاصلة منقوطة .. حيث أنني من مفضلي التعامل مع المعادلات بالفاصلة العادية وأقوم بتغيير إعدادات الويندوز لعمل ذلك ..

تقبل تحياتي

images.jpg.def50ae00701653e295c4a5c16fda

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

بالفعل بعد تغيير الفاصلة بالفاصلة المنقوطة اصبحت المعادلة تعمل جيدا

لكن ليس هذا ما اريده

حيث تظل النتيجة بهذه الصيغة

1:00

و المطلوب ان تكون النتيجة رقم صحيح بدون  ( 00:)

حيث سيتم بعد ذلك ضرب الرقم فى رقم اخر ثم سيتم الجمع بعد ذلك

ومرفق ملف اوضح

مع خالص شكرى

 

Vodafone1.rar

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

أخي الكريم يوسف عطا

جرب المعادلة بهذا الشكل علها تؤدي الغرض إن شاء الله

=VALUE(LEFT(LEFT(F2,FIND(" ",F2)-1),2))

تقبل تحياتي

index.jpg.853a680e07b4b51d4f8acd92a18fc9

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

  • 2 weeks later...

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

560 KBs

وهنا المعادلة تستخرج الرقم 56 و المفترض أنه يكون 1 لأنه أقل من 1 صحيح حيث أن القيمة هذه تعتبر حوالى نصف ميجابايت

فهل يمكن التعامل مع الخلية التى تحتوى على حروف KBs كأنها رقم 1 تحت أى ظروف ؟
أم ماذا أفعل فى هذه الحالة ؟؟
ولا ضرر أن يكون ناتج المعادلة يحتوى على كسر عشرى حيث يمكن بالتنسيق بالخلية أن يتم تجاهل العلامة العشرية و كسرها

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

أخي الكريم يوسف عطا ..

لم أفهم النقطة الأخيرة هلا أرفقت مثال بشكل النتائج المتوقعة ليسهل فهم المطلوب ..

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

  • 3 weeks later...

أخونا الغالى ياسر بك

تحية طيبة

تفضل مرفق

به الشكل المطلوب بالطريقة اليدوية فى عمود

و ناتج المعادلة فى عمود مجاور

و عمود ثالث يوضح تطابق أو إختلاف الناتجين
و الف شكر مقدماً

يوسف فبراير2016.rar

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

جرب هذا الكود

Sub extract_time()
Dim mycol As New Collection
Dim mytext


lr = Cells(Rows.Count, "F").End(3).Row
For i = 2 To lr
    x = Application.WorksheetFunction.Trim(Range("f" & i).Value)
    On Error Resume Next
     For t = 1 To Len(x)
        y = Mid(x, t, 1)
       
                If IsNumeric(y) Or Asc(y) = 46 Or Asc(y) = 58 Then
                  mycol.Add y
                  mytext = mytext & y
                End If
    
       Next
   
    Cells(i, 7) = mytext * 1
    mytext = ""

Next
End Sub

 

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

الأخ المحترم سليم بك

تحية من القلب

أما بعد

الكود الذى تفضلت به سيادتكم أدى جزء من المطلوب تمام التمام اللى هو ما يحتوى على أرقام بالميجابايت حيث أصبحت نتيجة الكود مضبوطة تماماً بعكس نتيجة المعادلة

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

كما أن الكود لم يعط أى نتيجة فى حالة وجود أعداد الدقائق فترك الخلايا فارغة 

ومرفق جزء من النتائج و العمود الأخير يوضح التطابق أو الإختلاف بين ناتج الكود و الناتج اليدوى

المقدار المفترض يدوياً ناتج المعادلة الإختلاف ناتج الكود الإختلاف
2.01 MBs 2.01 2 مختلف 2.01 مطابق
2.74 MBs 2.74 2 مختلف 2.74 مطابق
2.24 MBs 2.24 2 مختلف 2.24 مطابق
123.83 MBs 123.83 12 مختلف 123.83 مطابق
02:00 MIN 2 2 مطابق   مختلف
10.38 MBs 10.38 10 مختلف 10.38 مطابق
10 KBs 0.01 10 مختلف 10 مختلف
60 KBs 0.06 60 مختلف 60 مختلف
10.2 MBs 10.2 10 مختلف 10.2 مطابق
120 KBs 0.12 12 مختلف 120 مختلف
05:00 MIN 5 5 مطابق   مختلف
02:00 MIN 2 2 مطابق   مختلف
02:00 MIN 2 2 مطابق   مختلف
01:00 MIN 1 1 مطابق   مختلف
1.97 MBs 1.97 1 مختلف 1.97 مطابق
2.19 MBs 2.19 2 مختلف 2.19 مطابق
3.23 MBs 3.23 3 مختلف 3.23 مطابق
02:00 MIN 2 2 مطابق   مختلف
2.9 MBs 2.9 2 مختلف 2.9 مطابق
2.76 MBs 2.76 2 مختلف 2.76 مطابق
1.4 MBs 1.4 1 مختلف 1.4 مطابق
02:00 MIN 2 2 مطابق   مختلف
01:00 MIN 1 1 مطابق   مختلف
2.79 MBs 2.79 2 مختلف 2.79 مطابق
13.43 MBs 13.43 13 مختلف 13.43 مطابق
10 KBs 0.01 10 مختلف 10 مختلف
30 KBs 0.03 30 مختلف 30 مختلف
رابط هذا التعليق
شارك

أخي الكريم يوسف عطا

جرب الكود التالي ..ستظهر النتائج في العمود O ..يمكنك التعديل في الكود لتضع النتائج في العمود المناسب لك

Sub Split()
    Dim Arr, I As Long, StrA As String, StrB As String
    
    Arr = Range("F2", Cells(Rows.Count, "F").End(xlUp)).Value
    
    For I = LBound(Arr) To UBound(Arr)
        StrA = VBA.Split(Arr(I, 1), " ")(0)
        StrB = VBA.Split(Arr(I, 1), " ")(1)
        
        If StrB = "MIN" And Val(StrA) = "0" Then
            Cells(I + 1, "O") = 0.01
        ElseIf StrB = "MIN" Then
            Cells(I + 1, "O") = Val(StrA)
        ElseIf StrB = "KBs" Then
            Cells(I + 1, "O") = Val(StrA) / 1000
        Else
            Cells(I + 1, "O") = StrA
        End If
    Next I
End Sub

أرجو أن يفي بالغرض ..

ملحوظة : تم التعامل مع الأصفار 00:00 بجانب كلمة MIN على أنها 0.01 كما أدرجت في النتائج المرفقة رغم أنه غير منطقي ..

تقبل تحياتي

 

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

الف شكر ياسر بك

جارى التجربة

شاكر إهتمامك

الله ينور عليك ياسر بك
الكود إستخرج النتائج بدقة 99.9%

الإختلاف فقط جاء فى رقم 23.7 ولكن الكود إستخرجه 23.07

و الإختلاف لا يسبب مشكلة كبيرة الحمدلله
الف الف شكر للأخوة المحترمين
جزاكم الله خير وجعل أعمالكم فى موازين حسناتكم

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

أخي الكريم يوسف عطا

لاحظت فعلاً أن النتائج مختلفة في 23.7 ... والكود استخرج الرقم 23.07 كما هو موجود في المدة بالضبط ...

ولو كانت القيمة 23.7 هي الصحيحة فعلى أي أساس يتم احتسابها بهذا الشكل وهو موجودة في المدة 23.07 ....

كما أشرت إلى نقطة أخرى في مشاركتي السابقة وهي غير منطقية بالنسبة لي ولكن قمت بها ليتناسب مع ملفك .. وهو المدة 00:00 .. في حسابك اليدوي جعلتها 0.01

 

الحمد لله أن تم المطلوب على خير ..وجزيت خيراً بمثل ما دعوت لي

تقبل تحياتي

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

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