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

ماذ تفعل لو .... سلسلة تعليمية


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

الأخ الفاضل / طارق محمود

فكرة جميلة ورائعة

تم تنفيذها وهى فكرة ممتازة عن طريق تسمية مدى ديناميكى باستخدام دالة أوفست



=OFFSET(Sheet1!$B$2;COUNTA(Sheet1!$B$2:$B$997)-7;;7)

تسلم أفكارك

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

السلام عليكم

بس لماذ لا يظهر المدى الدناميكي في مربع الأسماء

ثم لماذا يجب كتابة اسم الملف في قيمة السلسلسة

='رسم آخر 7.xls'!Y_Rg

لماذا لا يكتفي باسم المدى

أخي العزيز / الشهابي

السؤال ماشاء الله ، ذكي ويدل علي تدقيق وتمحيص

فعلا أنا سألت نفسي هذا السؤال من قبل ولم أجد إجابة

فوضعت في ذهني إجابة افتراضية ،غير متأكد منها، وهي أنه المدي الديناميكي قد يمتد لخارج الملف

بمعني أن تسمي مجالا في ملف آخر معتمدا علي بعض بيانات الملف الحالي

والله أعلم

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

السلام عليكم
بس لماذ لا يظهر المدى الدناميكي في مربع الأسماء ثم لماذا يجب كتابة اسم الملف في قيمة السلسلسة ='رسم آخر 7.xls'!Y_Rg لماذا لا يكتفي باسم المدى
أخي العزيز / الشهابي السؤال ماشاء الله ، ذكي ويدل علي تدقيق وتمحيص فعلا أنا سألت نفسي هذا السؤال من قبل ولم أجد إجابة فوضعت في ذهني إجابة افتراضية ،غير متأكد منها، وهي أنه المدي الديناميكي قد يمتد لخارج الملف بمعني أن تسمي مجالا في ملف آخر معتمدا علي بعض بيانات الملف الحالي والله أعلم

اعتقد ان سبب عدم وجود المدى الديناميكي في مربع الأسماء Name Box نظراً لأن هذا المدى الديناميكي ناشئ نتيجة الدالة OFFSET والتي تعتبر ضمن الدوال Volatile Functions وهي الدوال التي يتم حساب نتيجتها في كل عملية جديدة تتم على الشيت / الملف وبالتالي فإن مربع الأسماء لا يسجل هذا الإسم لأنه لا يراه

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

السلام عليكم

الله ينور اخى طارق ويزيدك علما

فبة طلب ياريت يتم عمل اندكس فى الصفحة الاولى لسهولة استعراض المعلومات

الجديدة المضافة

أخي حسين: إقتراح جيد

جزاك الله خيرا

سيتم تنفيذه فورا

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

السلام عليكم

الموضوع يحتاج للتنشيط مرة أخري

اليوم سأتعرف معكم علي المسألة الثالثة

ماذ تفعل لو - المسألة الثالثة

ماذ تفعل لو أردت الحصول علي آخر (أحدث) سعر / بيان

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

عندنا مثلا مخزن لبضائع متنوعة ويتم تدوين البضائع الداخلة والخارجة بصفة يومية مع اسعارها

ومع تنوع البضائع وتغير أسعار الشراء ، قد يحدث خطأ شائع وهو بيع بضاعة بسعر قديم (أكبر أو أقل من سعرها الحالي)

ونريد الحصول علي آخر سعر تم تسجيله لصنف كذا

حتي لانقع في خطأ بيع بضاعة بسعر منخفض وهي قد غلا سعرها ، أو تبيع بسعر مرتفع بضاعة أخري قد إنخفض سعرها بالسوق

في المرفق تم حل هذه المشكلة باستخدام الدالة LOOKUP

وبالمثل باستخدام الدالة LOOKUP يمكنك الحصول علي تاريخ آخر تعامل لشخص ما

أو أحدث بيان يخص كذا ، في قاعدة بيانات كذا

أترككم للإستكشاف والمشاركة

أحدث سعر بيع.rar

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

السلام عليكم

الاستاذ الفاضل طارق محمود

هذا حل بالاكواد


Private Sub Worksheet_Change(ByVal Target As Range)

Dim cl As Range

If Not Intersect(Target, [I2]) Is Nothing Then

For Each cl In Range("B1:B" & [B10000].End(xlUp).Row)

If cl = Target Then K = cl.Offset(0, 1): L = cl.Offset(0, 5)

Next

[K2] = K: [L2] = L

End If

End Sub

أحدث سعر بيع.rar

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

استاذنا الكبير البشمهندس /طارق محمود

بارك الله فيك وجزاك الله كل خير على هذا العمل الرائع

تابعت المعادلة ولم افهم ماهو المقصود برقم 2 ولماذا بالاخص رقم 2

ارجو الاجابة والتوضيح من سيادتكم

حبيبى قلبى المايسترو

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

دائما تمتعنا وتتحفنا باعمالك الجميلة .ربنا يباركلك ويخليك لنا ياماياسترو.

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

السلام عليكم

الموضوع يحتاج للتنشيط مرة أخري

اليوم سأتعرف معكم علي المسألة الثالثة

ماذ تفعل لو - المسألة الثالثة

ماذ تفعل لو أردت الحصول علي آخر (أحدث) سعر / بيان

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

عندنا مثلا مخزن لبضائع متنوعة ويتم تدوين البضائع الداخلة والخارجة بصفة يومية مع اسعارها

ومع تنوع البضائع وتغير أسعار الشراء ، قد يحدث خطأ شائع وهو بيع بضاعة بسعر قديم (أكبر أو أقل من سعرها الحالي)

ونريد الحصول علي آخر سعر تم تسجيله لصنف كذا

حتي لانقع في خطأ بيع بضاعة بسعر منخفض وهي قد غلا سعرها ، أو تبيع بسعر مرتفع بضاعة أخري قد إنخفض سعرها بالسوق

في المرفق تم حل هذه المشكلة باستخدام الدالة LOOKUP

وبالمثل باستخدام الدالة LOOKUP يمكنك الحصول علي تاريخ آخر تعامل لشخص ما

أو أحدث بيان يخص كذا ، في قاعدة بيانات كذا

أترككم للإستكشاف والمشاركة

مجهود ممتاذ ..

ولكن لي تعقيب .. وهو اذا عملنا فلترة القيم من الاصغر الى الاكبر او تم تغير فلترة التاريخ من الاصفر الى الاكبر سوف تتغير قيم آخر سعر .. !؟ وللاسف سوف تفشل مصداقية آخر سعر لصنف معين .. !

ولكن وجدت الحل وهو استخدام دالة DMAX مع SUMIFS في المعادلة لمعرفة آخر سعر لآخر تاريخ .. اليكم المثال .. وأأمل ان اكون قد وفقت .. !

أحدث سعر بيع 2.rar

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

السلام عليكم

أخي العزيز / عمر عابدين

ماشاء الله ، ملاحظة ممتازة

فعلا ، لو لم تكن البايانات مرتبة تاريخيا (كما هو معتاد) لأعطت نتائج خاطئة

أشكرك كثيرا علي التفاعل والمشاركة الجيدة

وحيث أننا تفرعنا ، فمازال أمامنا عقبتان

الأولي : أن من ليس لديه أوفيس 2007/ 2010 ، لن يستطيع استخدام SUMIFS

_______________ وهذه ممكن التغلب عليها بـ SUMPRODUCT

الثانية : لو استخدمنا معادلة SUMIFS / DMAX في حالة أن آخر يوم تم الشراء بفاتورتين حتي لو بنفس السعر سيتضاعف السعر الناتج من المعادلة

​_______________ وهذه أعتقد أنه بتعديل طفيف علي كود أخونا عبدالله يمكن ضبطها

أو ننتظر المزيد من المشاركات

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

اولا جزاك الله خيرا على الملاحظة ..

ولكنني ظننت انه سوف لا تتكرر الفواتير بنفس اليوم ولكن الافضل فعلا ما نوههت علية "اخي العزيز طارق" ..

فالحمد لله تم حل مشكلة

"ان لو تم الشراء بفاتورتين حتي لو بنفس السعر سيتضاعف السعر الناتج من المعادلة" .. باستخدام دالة COUNTIFS لاستخراج المتوسط الحسابي في حالة تكرار الفواتير بنفس التاريخ لاكثر من سعر بيع وان لم يتغير سعر البيع فلا ضير سيكون السعر كما هو .. !

أحدث سعر بيع 3.rar

تم تعديل بواسطه 3mr 3bdeen
رابط هذا التعليق
شارك

  • 4 weeks later...
تابعت المعادلة ولم افهم ماهو المقصود برقم 2 ولماذا بالاخص رقم 2 ، ارجو الاجابة والتوضيح

السلام عليكم

أخي العزيز / فضل

عفوا لم أر سؤالك من قبل

الرقم 2 هنا مقصود به أن الناتج لن يصل إليه أبدا وبالتالي من خصائص الدالة

LOOKUP

أن ترجع آخر قيمة (ليست خطأ) في حالة لم تجد ماتبحث عنه

فناتج قسمة 1÷ أي رقم صحيح سيكون = أو اقل من 1 ولن يصل ابدا للـ 2

المعادلة

=LOOKUP(2,1/($B$1:$B$10000=I2),$G$1:$G$55011)
مقسومة 3 أقسام بينها فاصلة القسم الأول الرقم 2 (المفروض أن تبحث عنه الدالة) القسم الثاني (وهو المهم) ناتج قسمة 1÷ تساؤل (إن جاز التعبير) ، يعني أولا سيسأل الإكسل هل خلايا المجال $B$1:$B$10000 = الخلية I2 فسوف يحل علي 1000 نتيجة كلها إما 1 (= I2) او 0 (<> I2) ويكون الناتج من القسمة إما 1÷1 (صحيح ويساوي 1، لكنه لن يساوي 2 الذي تبحث عنه الدالة) او 1÷0 (خطا ولن تعتد به الدالة) وللتوضيح أكثر في الحالة كما بالمثال أن تكون الخلية I2 بها كود 111111 الذي لونت صفوفه بالأصفر فيكون ناتج هذا القسم الثاني من المعادلة كالتالي

 1/($B$1:$B$10000=I2)

أي

1/($B$1:$B$10000=I2)


أي

1/({$B$1:$B$10000}=I2)

أي

1/({ كود الصنف , 111111 , 333333 , 222222 , 333333 , 222222 , 333333 , 111111 , 222222 , 222222 , 444444 , 444444 , 555555 , 444444 , 222222 , 111111 , 444444 , 111111 , 444444 , 555555 , 222222 , 555555 , 222222 , 333333 , 222222 , 444444 , 444444 , 444444 , 444444 , 111111 , 555555 , 222222 , 222222 , 444444 , 111111 , 555555 , 333333 , 333333 , 333333 , 111111 , 555555 , 222222 , 111111 , 222222 , 333333 , 444444 , 222222 , 333333 , 333333 , 222222 , 444444 , 111111 , 555555 , 555555 , 111111 , 555555 , 222222 , 222222 , 222222 , 444444 , 555555 , 222222 , 222222 , 333333 , 444444 , 111111 , 444444 , .....}=I2)

أي

1/({  كود الصنف =111111 , 111111 =111111 , 333333 =111111 , 222222 =111111 , 333333 =111111 , 222222 =111111 , 333333 =111111 , 111111 =111111 , 222222 =111111 , 222222 =111111 , 444444 =111111 , 444444 =111111 , 555555 =111111 , 444444 =111111 , 222222 =111111 , 111111 =111111 , 444444 =111111 , 111111 =111111 , 444444 =111111 , 555555 =111111 , 222222 =111111 , 555555 =111111 , 222222 =111111 , 333333 =111111 , 222222 =111111 , 444444 =111111 , 444444 =111111 , 444444 =111111 , 444444 =111111 , 111111 =111111 , 555555 =111111 , 222222 =111111 , 222222 =111111 , 444444 =111111 , 111111 =111111 , 555555 =111111 , 333333 =111111 , 333333 =111111 , 333333 =111111 , 111111 =111111 , 555555 =111111 , 222222 =111111 , 111111 =111111 , 222222 =111111 , 333333 =111111 , 444444 =111111 , 222222 =111111 , 333333 =111111 , 333333 =111111 , 222222 =111111 , 444444 =111111 , 111111 =111111 , 555555 =111111 , 555555 =111111 , 111111 =111111 , 555555 =111111 , 222222 =111111 , 222222 =111111 , 222222 =111111 , 444444 =111111 , 555555 =111111 , 222222 =111111 , 222222 =111111 , 333333 =111111 , 444444 =111111 , 111111 =111111 , 444444 =111111 ,, .....})

أي

1/({ False , True , False , False , False , False , False , True , False , False , False , False , False , False , False , True , False , True , False , False , False , False , False , False , False , False , False , False , False , True , False , False , False , False , True , False , False , False , False , True , False , False , True , False , False , False , False , False , False , False , False , True , False , False , True , False , False , False , False , False , False , False , False , False , False , True , False ,,, .....})



وحيث أن True=1 ، False=0 إذن فهذا سيعطي

1/({ 0 , 1 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 ,,, .....})

وناتج قسمة الـ 1 عليها سيعطي (÷0 خطأ)

{ Error , 1 , Error , Error , Error , Error , Error , 1 , Error , Error , Error , Error , Error , Error , Error , 1 , Error , 1 , Error , Error , Error , Error , Error , Error , Error , Error , Error , Error , Error , 1 , Error , Error , Error , Error , 1 , Error , Error , Error , Error , 1 , Error , Error , 1 , Error , Error , Error , Error , Error , Error , Error , Error , 1 , Error , Error , 1 , Error , Error , Error , Error , Error , Error , Error , Error , Error , Error , 1 , Error ,,, .....})

فسيحفظ مكان آخر قيمة أعطت رقم غير خطأ

القسم الثالث يأتي بالقيمة المقابلة لهذه القيمة التي احتفظ بها ولكن من المجال $G$1:$G$55011)

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

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