إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

السؤال عن دالة تقابل الدالة Sumif في الاكسل


2 رد (ردود) على هذا الموضوع

#1 محمد عمر مكي

محمد عمر مكي

    مشترك

  • الأعضــاء
  • 52 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 25 January 2010 - 11:33 AM

يا شباب في الاكسل في دالة اسمها sumif تقوم بجمع قيمة محددة بشرط معين في عمود معين مثلاٍ نفترض أنه لدينا هذا الجدول m وبه عمود واحد واحد هو n وبه قيم موجبة وقيم سالبة كالأتي :

الجدول M والعمود N

N
5
5
5
0
-5
-5
-5
فمجموع الأرقام السالبة هو 15 ومجموع الأرقام الموجبة هو -15 أريد طريقة لحساب مجموع الأرقام السالبة والأرقام الموجبة في جملة select واحدة . أعتقد أن

#2 أحمد جادو

أحمد جادو

    عضو نشط

  • الأعضــاء
  • 244 مشاركة
  • الاسم الأول:أحمد
  • اسم العائلة:جادو
  • البـلـد: Country Flag
  • المنصب الحالي:Senior Oracle Developer @ Alhasa Municipality

تاريخ المشاركة 25 January 2010 - 04:09 PM

على حد فهمي أعتقد أنك تريد النتيجة تكون 30 وليس 0 فيمكنك استخدام الأمر
select max(abs(n)) from m; 

النتيجة 30

وإذا كنت تريد جمع كل قيم على حدة حسب شرط معين يمكنك استخدام الكود الآتي
select 'POSITIVE' state, sum(n) VALUE from m where n>= 0
union
select 'NEGATIVE', abs(sum(n)) from m where n< 0;

تكون النتيجة

POSITIVE 15
NEGATIVE 15


- أحمد جادو -
Senior Oracle Developer
Alhasa
Municipality

Alhasa - Saudi Arabia


#3 محمد عمر مكي

محمد عمر مكي

    مشترك

  • الأعضــاء
  • 52 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 25 January 2010 - 07:14 PM

شكراً للأخ أحمد جادو فقد هداني ردك على حل مناسب
إذ كنت أريد عرض البيانات على عمودين وتم لي التجربة والتأكد من النتيجة كالآتي
select  nvl(mm,0) , sum(n) from m where n>0 group by mm
union
select sum(n) , nvl(mm,0) from m where n<0 group by mm

وذلك بإضافة عمود فارغ في الجدول وفي حالتنا هذه هو mm شكراً لكل من حاول الرد على الموضوع