بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
مهندس الاكسل
-
Posts
146 -
تاريخ الانضمام
-
تاريخ اخر زياره
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
مشاركات المكتوبه بواسطه مهندس الاكسل
-
-
برغم أن الأمور فيما يبدو واضحة لديك، وحتى مع توضيحك الآخير
إلا أنني فشلت بفهمها
آمل توضيح الفكرة على ملف الاكسل، ما هو المطلوب برمجته لتوافق الفكرة التي لديك
ضع النتيجة النهائية المطلوب الوصول لها على ملف الاكسل وبإذن الله ستتضح
-
شكرا لكريم تعليقك أستاذنا المبدع سليم
لكن بالتجربة تأكدت أنها تعمل كأرقام وليس نصوص
-
مرفق حل بواسطة معادلة
ربما لم يكن المطلوب، لكن ربما يفيدك أو شخص آخر
تحياتي وبالتوفيق
- 1
-
- 1
-
المطلوب ليس له حل مثالي، لأن التوزيع مبنى على قيم غير متوافقة (اللغات/ المبالغ)
لكن من حسن الحظ أن عدد العملاء كبير في مقابل عدد الموظفين قليل، والتفاوت في المبالغ محدود وليس كبير
وهذا جعل عملية التوزيع العشوائي تعمل بشكل جيد
ولتأكيد ذلك: قمنا بتوزيع العملاء بالترتيب على الموظفين بالتناوب
فظهرت المبالغ التالية:
وهذه نسب متقاربة جدا جدا
فأول نقطة تجاوزناها: الموظفين يوزعون بالتسلسل وهذا سيحقق الغرض
بقي نقطة توزيع العملاء على شيتات الموظفين،
تم عمل شيت لكل موظف، ويمكن التحديث بزر التحديث في أعلى يمين الصفحة
وبالتوفيق
- 2
-
لا أعلم لماذا الحاجة للكود
الملف بالمعادلة يعمل وبدون الحاجة لتغيير الأعمدة!!vlookUP.xlsx
- 1
-
مرفق ، وبالتوفيق
لاحظ أن المعادلة هي:
=INDIRECT(ADDRESS(3;COLUMN()-2;;;$D3))
والرقم -2
جاء من فرق مكان الخلايا في الشيتات عن مكانها في الشيت الرئيسي
- 3
-
من باب الاستنارة برأيك أستاذنا الكبير ابراهيم الحداد
هل ممكن استخدام هذا الكود؟ وم المحاذير من استخدامه؟ مع الشكر لتوضيحك، لأني مبتدأ في برمجة VBA للاكسلSheets("ورقة1").Range("B2:G1414").AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Range("E1:E2"), CopyToRange:=Range("B4:G4"), Unique:=False
طبعا الكود عبارة عن تسجيل ماكرو لعملية AdvancedFilter
والملف مرفق،وأكرر شكري أستاذي الكريم- 1
-
طبعا هناك معادلات يمكن دمجها، ولكن أحببت أن تكون الأمور لك أكثر وضوح لتسهيل تكرار العملية في ملفك
ولاتنس أن بعض المعادلات تحتاج الضغط على ctrl+shift+enterأتمنى أن الصورة وضحت
- 2
-
مرفق المطلوب ،
وعليك نقل المعادلة للمكان المطلوب لأنه غير واضح في الملف (بيانات كثيرة ولم يظهر لي مكان الصافي ومكان المعادلة 😆)
المعادلة المطلوبة لحالتك هي:=IF(E12-2000<=0;0;IF(E12-2000<=250;(E12-2000)*0.125;(E12-2250)*0.1+31.25))
مع ملاحظة أن E12 هي الخلية التي تحتوي (الصافي)
لاحظ أنه لاداعي للضرب بـ 12 ثم القسمة بعد ذلك على 12
فبدلا من الضرب بـ 12 وخصم 24000
أصبحنا نطرح 2000 مباشرة ونحسب القسط الشهري مباشرة
وللتأكيد قمت على اليسار باستخدام التفصيل الذي ذكرته أنت للحساب (الضرب بـ 12 ثم خصم 24000 ثم ... ثم... ثم...)
وقارنتها بالمعادلة المختصرة التي اختصرتها أنا
والنتائج نفسها
لنجعل الحياة أسهل 😄
على العموم إذا كنت مصر على الطريق الطويل فقد عملت لك معادلة مخصوص لاقناعك فقط
تجدها أسفل المعادلة المختصرة ولا تقلق فيها الضرب بـ 12 ثم القسمة على 12=(IF((E23*12)-24000<=0;0;IF((E23*12)-24000<=3000;((E23*12)-24000)*0.125;((E23*12)-27000)*0.1+375)))/12
ملاحظة أخرى: افترضنا أنه إذا كان الصافي أقل من 2000 فلا يوجد عليه ضريبة، أليس كذلك؟
تحياتي وبالتوفيق
- 1
-
الحل رقم 1 يحدد لك ما مجموعه صفر لدى العميل لكامل الفواتير وليس لبعض الفواتير
بمعنى لو العميل لديه 3 فواتير، اثنان منهما مجموعهم صفر، فهذا لا يحدد الحل رقم 1 ، ويبقى هذا العميل بدون تحديد
ممكن أن نخرج بالحل رقم 3
وهو أن يتم تحديد الفاتورتين لدى نفس العميل التي مجموعها صفر
طبعا الموضوع أكثر تعقيدا، والسبب أنه في حال تكررت فاتورتين بنفس المبلغ مثلا
2500
2500
ثم وردت فاتورة ثالثة
-2500
فهنا يجب التأكد من أنه لن يتم تحديد إلا فاتورتين فقط: 2500 / -2500
وتبقى الثالثة غير محددة
هل ترغب بهذا الحل؟؟
-
عفوا أخي
أخي الكريم: هذا الحل مبني على التأكد من أن جميع المبالغ المطلوبة من العميل تم تسديدها
المثال الذي ذكرت لا يتحقق فيه هذا الكلام، لاحظ معي وجود فواتير غير مسددة لهذا العميل
الحل الثاني ربما يفيد..
ولكن في حال كان قصدك التشييك على كل فاتورة على حدة وهل تم سدادها أم لا فهذا موضوع آخر
وهنا ستظهر مشكلة لو تكررت فاتورة لنفس العميل بنفس المبلغ
ممكن حلها، ولكن ستحتاج معادلات مختلفة
-
تم كتابة المعادلات للبحث، وتم انشاء أعمدة مساعدة
ويمكنك البحث بالرقم
أو اسم
أو اسم واسم آخر
وتم تجاهل نقاط الياء، وكذلك التاء المربوطة ة
أما الهمزة فالاكسل يتجاهلها
بالتوفيق
- 4
-
-
-
-
-
تم عمل المطلوب
وذلك باضافة عمود للتأكد من تحقق الشروط أولا (اسم الشركة/ الدفع)
وبعد ذلك يتم استدعاء الفواتير للصفحة 1
بالتوفيق
-
تم عمل المطلوب لشهر يناير
ويمكنك تكرار ذلك لبقية الشهور، مع مراعاة ترحيل مجموع كل صنف من الشهر السابق إن كان ذلك هو المطلوب
وأقترح عليك وضع صفحة اجمالية لأرصدة الأصناف
بالتوفيقمحمد123.xlsm
-
حسب فهمي لطلبك أنك تريد معرفة الرصيد كالتالي:
عمليات السحب تحسب بنفس اليوم (بدون تعديل)
أما عمليات الإيداع لا تحسب بالرصيد إلا بعد 3 أيام
تم عمل ذلك بحيث بداية نعدل تاريخ الايداع ليكون بعد 3 أيام
ثم نحسب الرصيد
بالتوفيقكشف حساب.xlsm
-
عفوا
هناك احتمالين لما ذكرت:
الأول: أن المطلوب هو وضع 1 في حال كان العميل سدد جميع الفواتير التي عليه (نحسب مجموع مبالغ الفواتير عليه في كامل الملف)
والملف المرفق يحل هذه الحالةNew Microsoft Excel Worksheet-Solved.xlsx
وقد استخدمنا بداية الدالة
=SUMIF(A:A;A3;B:B)
لجمع جميع مبالغ الفواتير لكل عميل
ثم استخدمنا الدالة
if
بحيث في حال كان المجموع 0 فإننا نحصل على الرقم 1
وفي حال لم يكن 0 فيبقى فراغ
=IF(SUMIF(A:A;A3;B:B)=0;1;"")
الاحتمال الثاني:
أن المطلوب هو وضع 1 في حال كان العميل سدد الفواتير السابقة التي عليه (نحسب فقط مبالغ الفواتير السابقة أما الجديدة في الصفوف اللاحقة فلا تدخل بالحساب)
والملف في الرابط يحل هذه الحالة (للأسف لم استطع ادراج الملف في المنتدى)
https://drive.google.com/file/d/1MiFxmpmHp5nOmeKWo19FDH4k7fQpcIiE/view?usp=sharing
وقد استخدمنا بداية الدالة
SUMIF($A$2:A3;A3;$B$2:B3)
لجمع مبالغ الفواتير السابقة لكل عميل
ثم استخدمنا الدالة
if
بحيث في حال كان المجموع 0 فإننا نحصل على الرقم 1
وفي حال لم يكن 0 فيبقى فراغ
=IF(SUMIF($A$2:A3;A3;$B$2:B3)=0;1;"")
وبالتوفيق
- 1
-
كان من المفترض أن تضع ملف الاكسل كمرفق كي يتم الحل عليه
ننتظر الملف
-
جميل أن الصورة بدأت تتضح لك
حقيقة يصعب علي بناء ملف متكامل، ولكن ربما يخدمك بهذا بعض الأعضاء
وهناك مواقع تقدم خدمات برمجة ملفات بمقابل
بالتوفيق وأكرر اعتذاري
- 1
-
تم عمل المطلوب، وذلك بتغيير لون الخط إلى أبيض في حال كان مجموع الخلايا في الصف يساوي صفر
هذا حسب فهمي لكلامك، وبالتوفيقتنسيق شرطى لاخفاء الصف اذا كانت الخلاياxlsm.xlsm
- 1
ازاله الفرغات من المعادلة
في منتدى الاكسيل Excel
قام بنشر
تم عمل المطلوب
بالتوفيقضبط معادلة الاسماء - مع المعادلات.xlsx