اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

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

السلام عليكم : حياكم الله

ممكن اعزكم الله وسلمكم

السلام عليكم : ممكن جلب تاريخ اخر تسديد للعميل من شيت البيانات

لمعرفة المتأخر عن التسديد ، ونرفق بعض النتائج المتوقعة في شيت الخلاصة

 

جلب اخر تاريخ تسديد للعميل.rar

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

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

بالنسبة للاسم "أبو الحارث - أقساط" آخر تاريخ هو في الدفعة السادسة بتاريخ 08/10/2017 لكن في النتائج المتوقعة التاريخ المسجل هو "11/05/2017" ... !!

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

السلام عليكم - حياك الله استاذ ياسر

بالنسبة الى ابو الحارث - قد سدد ماعليه في تاريخ 11/5/2017 - اذا اخر تسديد له هو الدفعة الاولى بتاريخ 11/5/2017

اما بالنسبة الى العميل (ابو عوف) اخر تسديد دفعة (مبلغ) له هو في تاريخ 3/6/2017

أما بالنسبة الى العميل (اسامة ابو زيد)  اخر تسديد دفعة كان في تاريخ 14/7/2017

المطلوب اريد تاريخ اخر دفعة مسددة من قبل العميل 

 

 

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

جرب هذه المعادلة في الخلية E2 واسحب نزولاً

(يحب استعمال Ctrl+Shift+Enter و ليس Enter وحدها لانها معادلة صفيف) Array_Fromula)

كما يجب نتسيق الخلايا في العامود E  كتاريخ

=INDEX(البيانات!$R$2:$AD$1000,MATCH(الخلاصة!A2,البيانات!$H$2:$H$1000,0),(MATCH("Ok",IF(NOT(INDEX(البيانات!$R$2:$AA$1000,MATCH(الخلاصة!$A2,البيانات!$H$2:$H$1000,0),)),"Ok"),0))-1)

اذا لم تعمل معك المعادلة استبدل الفاصلة "," بفاصلة منقوطة ";" (حسب اعدادات الجهاز عندك ) لتصبح هكذا

=INDEX(البيانات!$R$2:$AD$1000;MATCH(الخلاصة!A2;البيانات!$H$2:$H$1000;0);(MATCH("Ok";IF(NOT(INDEX(البيانات!$R$2:$AA$1000;MATCH(الخلاصة!$A2;البيانات!$H$2:$H$1000;0);));"Ok");0))-1)

 

  • Like 2
قام بنشر

وعليكم السلام

جرب الكود التالي عله يفي بالغرض

Sub Test()
    Dim ws          As Worksheet
    Dim sh          As Worksheet
    Dim arr         As Variant
    Dim temp        As Variant
    Dim x           As Variant
    Dim i           As Long
    Dim j           As Long
    Dim k           As Long
    
    Set ws = Sheets("البيانات")
    Set sh = Sheets("الخلاصة")
    arr = sh.Range("A2:A" & sh.Cells(Rows.Count, 1).End(xlUp).Row).Value
    ReDim temp(1 To UBound(arr, 1), 1 To 1)
    k = -1
    
    Application.ScreenUpdating = False
        For i = LBound(arr, 1) To UBound(arr, 1)
            k = k + 1
            x = Application.Match(CStr(arr(i, 1)), ws.Columns(8), 0)
            If IsNumeric(x) Then
                For j = 18 To 29
                    If ws.Cells(i, 18) = "" Then GoTo Skipper
                    If ws.Cells(i, j) = "" Then temp(k, 1) = ws.Cells(i, j - 1): GoTo Skipper
                Next j
            Else
                temp(k, 1) = ""
            End If
Skipper:
        Next i
    
        sh.Range("E2").Resize(k, UBound(temp, 2)).Value = temp
    Application.ScreenUpdating = True
End Sub

 

  • Like 1
  • 3 weeks later...
قام بنشر

السلام عليكم : حياكم الله - حيا الله أستاذ ياسر

يوجد خلل في استدعاء  اخر تاريخ  تسديد للعميل

فمثلا : العميل ابو ثائر حصيبه    تاريخ اخر تسديد هو    5 / 9 /2017

ولكن ظهر معكوس     9 / 5 /2017

وكذلك الى العميل استاذ ياسين الدبي الصحيح هو  2/ 8 /2017  وليس   8 / 2 / 2017

ممكن معالجة الأمر

 

واذا توفر وقت شاكرا

اذا لم يوجد تاريخ اخر تسديد يكون مكانه تاريخ الشراء الموجود في شيت الاقساط

 

 

 

 

برنامج الاقساط - جلب اخر تسديد.rar

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