اخواني الكرام
السلام عليكم ورحمة الله وبركاتة
ارجو مساعدتي في دالة الوسط الهندسي (Geometric Mean) فكيف تتم صياغتها واذا توفر الكود على VBA فانة سيكون افضل
علما ان صيغة الدالة في الاكسل هي:
=GEOMEAN(A2:A10)
ولكم جزيل الشكر سواء تمت الاجابة ام لا
اخواني الكرام
السلام عليكم ورحمة الله وبركاتة
ارجو مساعدتي في دالة الوسط الهندسي (Geometric Mean) فكيف تتم صياغتها واذا توفر الكود على VBA فانة سيكون افضل
علما ان صيغة الدالة في الاكسل هي:
=GEOMEAN(A2:A10)
ولكم جزيل الشكر سواء تمت الاجابة ام لا
وعليكم السلام أخي ولد الأكسيس
إن كنت تقصد دالة الوسط الحسابي فصيغتها في الأكسيس هكذا
X = DAvg ( " [Ord] ","tblOrders ","[bnk_Name]='Arabi '")
هذا المتغير يعطينا المتوسط الحسابي في الحقل Ord من الجدول tblOrders بشرط أن يكون اسم البنك Arabi
أما إن كان مقصدك غير ذلك فأرجو التوضيح .. موفق دوما أخي
بارك الله بك أخي اكسير على المشاركه
اعتقد ان السائل يريد الوسط الهندسي Geometric Mean
وهذه الدالة موجوده في برنامج الأكسيل GEOMEAN(A1;A10)
وتعني ارجاع الوسط الهندسي لصفيف او لنطاق من بيانات رقميه موجبه .
ويمكن تمثيلها بالدالة التالية في الأكسيس - مع ملاحظة عدم وجود بيانات رقميه حقولها لها القيمه ( صفر ) او Null
Public Function GMean(ParamArray intArgs() As Variant) As Double Dim dblReturn As Double Dim intN As Integer Dim i As Integer dblReturn = 0 intN = 0 ' ضرب القيم في بعضها البعض For i = LBound(intArgs) To UBound(intArgs) If IsNumeric(intArgs(i)) Then intN = intN + 1 If i = LBound(intArgs) Then dblReturn = CDbl(intArgs(i)) Else dblReturn = dblReturn * CDbl(intArgs(i)) End If End If Next i 'الحصول على الجدر النوني للأعداد If intN > 0 Then dblReturn = dblReturn ^ (1 / intN) Else dblReturn = 0 End If GMean = dblReturn End Function
اساتذتي الكرام
اكسير
زهرة
السلام عليكم ورحمة الله وبركاتة
اولا اشكركم من اعماقي وانه لشرف عظيم لي ان تقومو بالرد على سؤالي
بالنسبة لسؤالي فهو كما تفضلت استاذتنا زهرة ، حول الوسط الهندسي والذي يختلف تماما عن الوسط الحسابي حيث انه ياخذ القيم الشاذة بعين الاعتبار
استاذتي زهرة اشكرك من صميم اعماقي على الرد الشافي....شكرا والف شكرا
ساجرب استخدام الكود ولو انني ضننت انه كود صغير ... ولكن كان الله في عوني على فهم هذا الكود
اشكركم جميعا واشكر هذا الصرح
اساتذتي الكرام
اشكركم مرة اخرى ولكن للاسف لم استطع ان انفذ هذا الكود
وهذا المثال قمت بوضع الكود فية ارجو ان تقومو باجراء اللازم مع الشكر المسبق
ارجو ان يتسع صدركم لاستفساراتي
وجزاكم الله كل خير
اخي الفاضل
لا اعلم هل فهمت من الشرح السابق معنى الوسط الهندسي ؟
دعني اقرب لك الموضوع بشكل بسيط
في برنامج الأكسيل نقوم بأخذ الخلايا A1 و A2 و A3 و A4 .... الخ
بمعنى انها تمثل حقول مختلفه في برنامج الأكسيس
فمن الخطأ أن نقوم بأخذ حقل واحد بشكل عامودي كما فعلت انت وتريد ان تخرج الوسط الهندسي فلن يعطيك سوى اول قيمه فقط
ولكن عندما نأخذ صف كامل للحقول NUM و NUM2 و NUM3 و NUM4 فإن الداله تقوم بضرب قيم الحقول الأربعة ثم توجد الجذر النوني وهو هنا ( 4 ) لأنها اربعة حقول مختلفه ثم تظهر النتيجه بهذا الشكل
لاحظت انك استخدمت استعلام ليكون مصدر للنموذج المستمر فبهذه الطريقة لن تستطيع اي ادخال او تعديل على الأرقام
لذا يفضل استخدام الجدول ووضع الدالة في الحقل الأصفر .
عموما لو رغبت في استخدام الإستعلام فقد وضعت ايضا لك الداله به
ولا تحتاج الى زر الأمر في النموذج إلا لعمل تحديث فقط .
اقتباسبارك الله بك أخي اكسير على المشاركهاعتقد ان السائل يريد الوسط الهندسي Geometric Mean
وهذه الدالة موجوده في برنامج الأكسيل GEOMEAN(A1;A10)
وتعني ارجاع الوسط الهندسي لصفيف او لنطاق من بيانات رقميه موجبه
الأخت أم عهود .. حاولت أتذكر هذه الدالة Geometric Mean فلم تسعفني كل الرامات فعرفت أنها زحلطن :D
ekseer كتب:الأخت أم عهود .. حاولت أتذكر هذه الدالة Geometric Mean فلم تسعفني كل الرامات فعرفت أنها زحلطن :D
بارك الله بك اخي ابو عبدالله
متاكده ان موضوع الوسط الهندسي اختلط عليك او تشابه مع المتوسط الحسابي
رمضان كريم .
استاذتي الافاضل
اشكركم من اعماق قلبي على هذه البادرة والسرعة في تقديم يد العون
استاذتي الفاضلة زهرة كلمات الشكر لا تعطيك شيئا على ما فعلتي ولكن اقول فقط " جزاكي الله خير جزاء "
بسم الله الرحمن الرحيم
تمت الإجابة على الموضوع
إدارة الفريق العربي للبرمجة