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

|و| دالة المتوسط كالمستخدمة في الأكسل


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

السلام عليكم

هذه الدالة تُرجعُ المتوسط لمجموعة من الأعداد .

والمتوسط هو الحصول على العدد الذي يقع في منتصف المجموعة بحيث يتساوى مجموع الأعداد التي تقل عن المتوسط مع مجموع الأعداد التي تزيد عن المتوسط . وإذا تصادف ان يكون في المنصف عددان يؤخذ معدلهما وذلك بقسمة مجموعهما على 2 .

Function DMedian(Expr As String, Domain As String, _
                 Optional Criteria As String = "") As Double
  Dim dbs As Database
  Dim rst As Recordset
  Dim Count As Long
  Dim MidRec As Double
  Dim Total As Double
   
  Set dbs = CurrentDb
  Set rst = dbs.OpenRecordset(Domain, dbOpenDynaset)
  If Trim(Criteria) <> "" Then rst.Filter = Criteria
  rst.Sort = Expr
  Set rst = rst.OpenRecordset
   
  If rst.RecordCount = 0 Then GoTo ExitFunction
  
  rst.MoveLast
  Count = rst.RecordCount
  MidRec = Count / 2
   
  With rst
    .MoveFirst
    If Count > 2 Then .Move Round(MidRec + 0.01, 0) - 1
    Total = rst(Expr)
    If Fix(MidRec) = MidRec Then
      .MoveNext
      Total = (Total + rst(Expr)) / 2
    End If
  End With

  DMedian = Total

ExitFunction:
  rst.Close
  Set dbs = Nothing
End Function

آمل أن ينتفع بها

تحياتي .

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

وعليكم السلام أستاذي أبو هادي

جزاك الله خير على كل ما تقوم به من جهود في هذا المنتدى المبارك

دالة المتوسط الحسابي في الإكسل أستاذي هي AVERAGE بينما في مثالك هذ قد

استخدمت الدالة If هل هذا صحيح ؟؟؟

ولو سمحت لي سؤال وهو كيف أستخدم هذه الدالة أو بمعنى اخر أين يتم وضع هذا الكود ؟؟؟

وشكراً سلفاً

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

السلام عليكم

Median تعني المتوسط

Average تعني المعدل

فلو عندنا مجموعة أرقام كالتالي :

4

6

7

8

9

12

15

فالمتوسط هنا هو الرقم الذي يقع في منتصف المجموعة بعد ترتيبها وهو 8 .

والمعدل هنا هو مجموع قيم عناصر المجموعة / عدد العناصر وهو 8.7143

وهذه مصممة لاستخدامها مع الجداول والإستعلامات مثلها مثل سلسلة دوال المجاميع مثل:

DCount

DSum

DAvg

وبنفس الطريقة وبنفس الوسائط .

ملاحظة :

تم التعديل على الدالة وتم تبديل إسمها لتناسب سلسلة الدوال الأصلية .

تحياتي .

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

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