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

يحيى حسين

المشرفين السابقين
  • Posts

    2,148
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    3

كل منشورات العضو يحيى حسين

  1. أخي ايسم موضح في الصورة طريقة ادارج المعادلات او الاكواد
  2. أخي محب الاوفس في طلبك هذا انت تحتاج لتصميم فورم يقوم بإضافة الاسماء و حذفها بدون الدخول الى صفحة البيانات
  3. أخي خانات التواريخ في ملفك بعضها فارغ و الأصل في اي حركة أن يقابلها تاريخ و أيضاً أخي هل طلبك هو فقط جمع الحركات التي تخص العميل علي شريف من الصنف 560 إذا كان هذا طلبك فحل أخي أيسم يفي بالغرض أما اذا كان طلبك يتحقق بالشروط التالية : المبيعات لشهر 1 و للعميل علي شريف هنا معيارين نستخدم الدالة Sumproduct =SUMPRODUCT(--('حركه يوميه للمخزن'!C7:C47=A6),--(MONTH('حركه يوميه للمخزن'!$A$7:$A$47)=1),'حركه يوميه للمخزن'!$D$7:$D$47) أتمنى ان يكون هذا هو طلبك
  4. تفضل اخي هذا هو طلبك و صفحة البيانات مخفية بناء على طلبك محب الاوفيس.rar
  5. اخي انت لم تذكر شيء عن القائمة المنسدلة من اين ستقرأ البيانات ارجو ان توضيحها و توضيح المصدر الذي ستقرأ منه اما بخصوص التاريخ فاليوم متغير بناء على الخلية E4 جرب غير التاريخ في الخلية E4 و سيتغير اليوم في الخلية G4
  6. عذرا حدث خطأ في التحميل هذا هو الملف محب الاوفيس.rar
  7. تفضل اخي اتمنى ان يكون هذا هو طلبك
  8. جزاك الله كل خير اخي ايسم كلنا نتعلم من بعضنا البعض لكن بخصوص الاخ المعادلة في الخلية C16 هي ليست بحاجة لوضعها في معادلة If =IF(,SUMIF(B7:B15,"وارد",C7:C15),SUMIF(B7:B15,"وارد",C7:C15)-SUMIF(B7:B15,"<>وارد",C7:C15)) لان المعادلة ستعيد False و ستطبق تلقائياً الشرط الثاني =SUMIF(B7:B15,"وارد",C7:C15)-SUMIF(B7:B15,"<>وارد",C7:C15) فاستخدم الشرط الثاني بدون معادلة IF
  9. أخي المعادلة التي اشرت اليها =ROWS(A$6:A6) تقوم ايضاً بعمل تسلسل رقمي و الهدف من حتى تعيد الدالة Small موضع اصغر رقم موجود في التسلسل قم بكتابة هذه المعالة و من ثم اسحبها للأسفل فستجدها تعطيك النتيجة 1 2 3 4 5 ======== لو افترضنا ان لديك مجموعة ارقام في المدى $E$1:$E$9 قم بكتابة هذه المعادة و اسحبها للاسفل =SMALL($E$1:$E$9,ROWS(A$6:A6)) و سترى النتيجة أتمنى أن تكون قد اتضحت لك الصورة ======= بخصوص طلب الاخ safwatscc اذا كنت تستخدم الاكسيل 2003 من القائمة Tools ثم Formula Auditing ثم Evaluate Formula و اختصار المفاتيح لها هو Alt+T+U+F و اذا كنت تستخدم الاكسيل 2007 من التاب Formula ثم Formula Auditing ثم Evaluate Formula
  10. أخي افضل طريقة لمعرفة آلية عمل اي معادلة هو استخدام Evaluate Formula و سيقوم الاكسيل تلقائياً بعملية تفسير المعادلة خطوة خطوة و من خلال تتبعك لهذه العملية ستصح لديك القدرة على فهم آلية عمل الاكسيل في التعامل مع المعادلات و امور اخرى يجب معرفتها لكل معادلة من حيث المتغيرات و طبيعة المتغيرات و عددها و اما بخصوص طلبك شرح طريقة استخراج كشف حساب بالمعادلات =IF(ROWS(A$6:A6)<=SUMPRODUCT((Sheet1!$B$5:$B$100=$B$1)*(Sheet1!$A$5:$A$100>=$B$2)*(Sheet1!$A$5:$A$100<=$B$3)),INDEX(Sheet1!$A$5:$A$100,SMALL(IF((Sheet1!$B$5:$B$100=$B$1)*(Sheet1!$A$5:$A$100>=$B$2)*(Sheet1!$A$5:$A$100<=$B$3),ROW(Sheet1!$A$5:$A$100)-ROW(Sheet1!$A$5)+1),ROWS(A$6:A6))),"") هذه المعادلة الموجودة في الخلية A6 اولاً المعادلة إبتدئت بمعادلة If و كان الشرط المنطقي لعملية الفحص للمعادلة If هو الجزء الاول من المعادلة ROWS(A$6:A6)<=SUMPRODUCT((Sheet1!$B$5:$B$100=$B$1)*(Sheet1!$A$5:$A$100>=$B$2)*(Sheet1!$A$5:$A$100<=$B$3)) و هذا الجزء يقوم بإحتساب عدد مرات تكرار اسم الحساب و بداية التاريخ و نهاية و الهدف من هذا الفحص هو ظهور عدد الاسطر في كشف الحساب فاذا كان عدد الاسطر و الذي يحتسب بالمعادة ROWS(A$6:A6) اقل من او يساوي عدد مرات تكرار ظهور الاسم و بداية و نهاية كشف الحساب ستكون النتيجة true و سيطبق الشرط التالي INDEX(Sheet1!$A$5:$A$100,SMALL(IF((Sheet1!$B$5:$B$100=$B$1)*(Sheet1!$A$5:$A$100>=$B$2)*(Sheet1!$A$5:$A$100<=$B$3),ROW(Sheet1!$A$5:$A$100)-ROW(Sheet1!$A$5)+1),ROWS(A$6:A6))) و هذا هو الجزء المهم في المعادلة استخدمنا الدالة INdex مع المدى الاصلي و الذي يحتوي التاريخ في صفحة الحركات و هو المدى Sheet1!$A$5:$A$100 و لتحديد السطر رقم السطر الذي سنستخرج منه التاريخ استخدمنا SMALL(IF((Sheet1!$B$5:$B$100=$B$1)*(Sheet1!$A$5:$A$100>=$B$2)*(Sheet1!$A$5:$A$100<=$B$3),ROW(Sheet1!$A$5:$A$100)-ROW(Sheet1!$A$5)+1),ROWS(A$6:A6)) و هنا استخدمنا الدالة small لمعرفة موقع الحركة المقابلة في الدالة index و التي سنصل اليها عن طريق دالة الشرط If من خلال فحص مرات تطابق اسم الحساب و بداية و نهاية التاريخ و التي وضعناها في الشرط (Sheet1!$B$5:$B$100=$B$1)*(Sheet1!$A$5:$A$100>=$B$2)*(Sheet1!$A$5:$A$100<=$B$3) فعند تطابق الشروط الثلاثة بحيث يتطابق التاريخ و اسم الحساب تقوم الدالة بتطبيق الجزء المرتبط بال true في معادلة if و هو ROW(Sheet1!$A$5:$A$100)-ROW(Sheet1!$A$5)+1 و هذه المعادلة لبناء تسلسل رقم من 1 الى نهاية عدد الاسطر المستخدمة و من ثم سيتم ربط نتيجة شرط الفحص مع نتيجة الفحص و ستكون النتيجة متسلسلة رقمية كبيرة و هنا يأتي دور الدالة SMALL في تحديد اصغر قيمة و التي ربطناها بالمعادلة الصغيرة ROWS(A$6:A6) و التي ستعيد لنا رقم السطر الذي ستستخدمه الدالة INDEX في اعطاء النتيجة ============= هذا شرح وافي للمعادلة ============= اقرئه و طبقه مع استخدام الخاصية Evaluate Formula و ستتضح لك الصورة اكثر و اكثر ============= و لا تنسى ان تستخدم Ctrl+Shift+Enter لادخال المعادلة
  11. أخي هذا ملف مطبق به طريقة استخدام الدالة في المدى A =COUNTIF($A$2:$A$20,A2)=1 فلو حاولت ادخال رقم مكرر في المدى $A$2:$A$20 فلن يقبل ذلك عدم تكرار الرقم.rar
  12. تفضل اخي هذا ملف مرفق Color sum.rar
  13. أخي احمد حافظ لو قمت باضافة فراغ بسيط قبل الدالة سيحولها الى تكست في عمود جديد =" "&C2 رغم اني ارى ان طريقة الاخ خبور رائعة جدا في معالجة موضوعك
  14. اخي احمد هذا كود من احد المواقع الأجنبية [b]Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean)[/b] Dim rCell As Range Dim lCol As Long Dim vResult '''''''''''''''''''''''''''''''''''''' 'Written by Ozgrid Business Applications 'www.ozgrid.com 'Sums or counts cells based on a specified fill color. ''''''''''''''''''''''''''''''''''''''' lCol = rColor.Interior.ColorIndex If SUM = True Then For Each rCell In rRange If rCell.Interior.ColorIndex = lCol Then vResult = WorksheetFunction.SUM(rCell,vResult) End If Next rCell Else For Each rCell In rRange If rCell.Interior.ColorIndex = lCol Then vResult = 1 + vResult End If Next rCell End If ColorFunction = vResult [b]End Function[/b] و هذا هو رابط الموضوع الأصلي http://www.ozgrid.com/VBA/sum-count-cells-by-color.htm
  15. أخي جرب هذا الرابط فيه موضوع شبيه لموضوعك http://www.officena.net/ib/index.php?showtopic=29255
  16. هذا حل اخر بعد اذن اخي سالم بحيث يتجاهل الاسطر التي لا تحتوي قيم للمقارنه data-Jsutice.rar
  17. أخي ابو مشاري لقد ارسلت لك على الايميل ملف يحتوي طلبك حسب ما فهمت من ايميلك و لكني هنا من مشاركتك فهمت شيء أخر و عدلت الملف حسب طلبك بحيث انه اذا تم التعديل على التاريخ في المدى الرئيسي و كان تاريخ التعديل ضمن 14 يوم يقوم الاكسيل بحذف اللون الاحمر و العبارة المرفقة معه Justice_1.rar
  18. أخي أبو مشاري الملف يحتوي على الكود التالي Private Sub Workbook_Open() Dim MyCell As Range For Each MyCell In Sheets("&aelig;&Ntilde;&THORN;&Eacute;1").Range("A2:A1000") If IsEmpty(MyCell) Then Exit Sub If MyCell.Value < Date - 14 Then MyCell.Offset(0, 1).Font.Bold = True MyCell.Offset(0, 1).Interior.ColorIndex = 3 MyCell.Offset(0, 1).Value = "&Uacute;&Iuml;&Iuml; &Ccedil;&aacute;&Ccedil;&iacute;&Ccedil;&atilde; &aacute;&aacute;&atilde;&Uacute;&Ccedil;&atilde;&aacute;&Eacute; &aring;&aelig; " & Date - MyCell End If Next MyCell End Sub و فكرة الكود انه عند فتح الملف يتفعل هذا الكود حيث يقوم بالبحث عن جميع الخلايا في المدى الذي عرفناه من Range("A2:A1000") فاذا كان التاريخ في المدى اقل من 14 يوم حسب طلبك طبعاً يقوم بتلوين الخلية المجاورة و وضع العبارة " عدد أيام المعاملة هو " و يقوم بعملية ربط بينها و بين الفرق بالايام
  19. اخي ابو مشاري جرب المرفق و هو عبارة عن كود يتفعل عند فتح الملف Justice_.rar
  20. أخي سالم شكرا لك على موضوعك و هذا رابط كنت قد شرحت فيه الدالة sum
  21. لا اعتقد انه يمكنك تغيير تنسيق هذه الاحرف و الارقام و لا يمكنك كتابة اسماء مكان هذه الاحرف و لكن يوجد ميزة في الاكسيل 2007 و هي عند استخدام الخاصية جداول Ctl+T و اذا كان حجم الجدول كبير فعند النزول الى اسف يقوم الاكسيل بتحويل رؤوس الاعمدة الى عناوين الجدول الرئيسية
  22. أتمنى ان تاخذي مداخلة الاخ محمد طاهر في عين الاعتبار اما بخصوص طلبك و حسب فهمي لمى تريدين لو افترضنا ان الخلية A3 ستشير الى B6 و انت تريدين في الخلية A4 ان يشير الى محتوى الخلية B10 و الخلية A5 تشير الى الخلية B14 إستخدمي هذه المعادلة في الخلية A3 و من ثم اسحبيها للأسفل =INDIRECT("B"&ROWS(A$3:A3)*4+2)
  23. أخي يمكنك عمل ذلك عن طريق التحقق من صحة validation باستخدام هذه المعادلة : =COUNTIF($A$1:$A$19,A2)=1
  24. هل الزيادة ستكون بمعدل ثابت ما بين 6 و 10 ثم 14 و هكذا
  25. اللهم رب الناس أذهب البأس و اشف أنت الشافي شفاءاً لا يغادر سقماً
×
×
  • اضف...

Important Information