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

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

قام بنشر

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

معى ملف اكسيل استخدمه فى حسابات العملاء ويتكون من عمودين اساسين العمود الاول به الرصيد والاخر به التاريخ واستخدم معادله vlookup لمعرفه تاريخ اخر معامله من خلال الرصيد فإذا كان الرصيد1000فى تاريخ1/1/2013 يظهر لى التاريخ فى شيت اخر لان الملف به اكثر من عميل حوالى 200عميل (200شيت) ولكن المشكله تظهر عندما يتكرر الرصيد فلو افترضنا أن الرصيد فى 15/1/2013 1000 تظهر المعادلة بتاريخ 1/1/2013 ذلك لان ال 1000 موجوده اعلى العمود بتاريخ1/1/2013

المطلوب: اظهر تاريخ اخر معامله حتى لو تكرر الرصيد ؟

ولكم منى كل احترام وتقدير وجزاكم الله خيرا.

قام بنشر

جزاكم الله خيرا على اهتمامك اخى محمود

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

وإن شاء الله سأرسل لك الملف مساء اليوم.

بارك الله فيك علة التنبيه

قام بنشر

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

هذا ملف مضغوط للعملاء واريد حل لمعادله Vlookup حيث انها لاتعطى الناتج المطلوب فى حالة تكرر الرصيد كما هو واضح فى الملف الاتى

ملف عملاء تجربة1.rar

  • أفضل إجابة
قام بنشر

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

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

وأجدد اعتذاري من الجميع...

أخوكم بن علية

عملاء.rar

قام بنشر

وعليكم السلام اخى واستاذى الكريم بن علية والله ماظننت بك إلا الخير مثلما ذكرت انك كنت مسرعا فى الصبح

لقد حملت الملف وهو الان يعمل بكفاءة تسلم يداك وبارك الله فيك ونفعنا بعلمك

قام بنشر

للرفع شرح معادلة large if من خلال المثال السابق

خاصة لماذا تم اضافه -6 فى المعادله ثم 1 وما معنى (" ")و ما معنى (<>)

بارك الله فيكم

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

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

أخي الكريم، معذرة للتأخر في الشرح والرد (شرح معادلة ليس بالأمر الهين) ولكن سأحاول تبسيط الشرح قدر المستطاع

المعادلة في الخلية C4 في ورقة كل عميل هي:


=INDEX($C$7:$C$1000;LARGE(IF(($C$7:$C1000<>"")*($A$7:$A$1000=$A$4);ROW($7:$1000)-6);1))

التي ترجع مضمون خلية من النطاق C7:C1000 (عمود التاريخ) حسب أكبر رقم (أكبر ترتيب) السطر الذي يرجعه الجزء من المعادلة :

(LARGE(SI(($C$7:$C1000<>"")*($A$7:$A$1000=$A$4);ROW($7:$1000)-6);1 بتوفر شرطين : الشرط الأول ("" <> C7:C1000) وهذا يعني خلايا النطاق C7:C1000 (عمود التاريخ) غير فارغة والشرط الثاني (A7:A1000=A4) والذي يعني أن تكون قيمة الرصيد من النطاق A7:A1000 (عمود الأرصدة) مساوية لقيمة الرصيد (آخر رصيد) في الخلية A4....

العدد (6 -) المضاف في المعادلة بعد (ROW($7:$1000 لجعل الترتيب (ترتيب الأسطر) يبدأ من 1 لأن النطاق 7:1000 بدأ من 7

العدد 1 في آخر المعادلة لترجع دالة LARGE أكبر القيم...

والجزء (LARGE(SI(($C$7:$C1000<>"")*($A$7:$A$1000=$A$4);ROW($7:$1000)-6);1 يمكن استبداله بالجزء

((MAX(SI(($C$7:$C1000<>"")*($A$7:$A$1000=$A$4);ROW($7:$1000)-6

أرجو أني وفقت في الشرح

أخوك بن علية

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

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

لقد اوفيت شرحا ولاتحرمنا من واسع علمك

اخوك فى الله اسلام الشيمي

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

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

Important Information