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

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

قام بنشر

السلام عليكم 

 

اريد الاستفسار عن معادلة Round up ما بين الاكسيل و الاكسيس حيث ان المعادلة تعطي نتائج مختلفة في التقريب في المثال التالى 

 

في الاكسيل رقم 999.34 يعطي ناتج تقريبي 1000 عن طريق المعادلة التالية 

=ROUNDUP(N1,0)

في الاكسيس رقم 999.34 يعطي ناتج تقريبي 999 عن طريق المعادلة التالية 

Ex: Round([Average],0)

فهل من ايضاح كيفية عمل معادلة Round up في الاكسيس لتصل لنفس نتيجة الاكسيل 

قام بنشر
10 ساعات مضت, karrar sabry said:

و عليكم السلام ... 

 

شكرا اخي الكريم على المساعدة بس هل لى من سؤال 

 

هل دالة Roundup لابد من ان تصاحبها Macro حتى تعمل الدالة لاني حاولت ان اصنع الدالة بدون Macro بس دائما تعطي خطا 

قام بنشر

و اذا كان لابد من استخدام ماكرو فهل من شرح لهذا الكود

 


Public Function RoundDown(FullNum As Variant, Plac As Integer) As Variant
If IsNull(FullNum) Or FullNum = "" Then Exit Function
Dim AfterPoint As Variant
Dim Formatation As String
AfterPoint = Mid(FullNum, InStr(FullNum, ".") + 1, Plac)

If Fix(FullNum) = FullNum Then
NewNum = FullNum
Else
If Plac = 0 Then
NewNum = Fix(FullNum) + 1
Else
NewNum = Fix(FullNum) & "." & AfterPoint
End If
End If
Dim i
For i = 1 To IIf(Plac > 0, Plac, 1)
Formatation = Formatation & 0
Next i
RoundDown = Format(Val(NewNum), "0." & Formatation)

End Function

 

قام بنشر
الان, ابوخليل said:

يوجد بديل  استخدم هذا التعبير :


EX : -Int(-[Average])

 

بعد اذن معلمى القدير واستاذى الجليل  ابوخليل :fff:
ارد على اخى الكريم Ali Tawfeek

الان, Ali Tawfeek said:

شكرا اخي ابو خليل 

هل لي من توضيح ما هي دالة int حتي تعم الاستفادة و التجربة 

 

تقريب الكسور لاقرب رقم صحيح.rar

قام بنشر
17 ساعات مضت, Ali Tawfeek said:

شكرا اخي ابو خليل 

هل لي من توضيح ما هي دالة int حتي تعم الاستفادة و التجربة 

هذا يعني انك لن تجرب حتى اشرح لك

يمكن انها لا تعمل

جرب اول .. فان عملت وقامت مقام  RoundUp   بكذا ينشط اخوك للشرح

  • Thanks 1
قام بنشر
في 3/15/2016 at 00:12, Ali Tawfeek said:

و اذا كان لابد من استخدام ماكرو فهل من شرح لهذا الكود

 



Public Function RoundDown(FullNum As Variant, Plac As Integer) As Variant
If IsNull(FullNum) Or FullNum = "" Then Exit Function
Dim AfterPoint As Variant
Dim Formatation As String
AfterPoint = Mid(FullNum, InStr(FullNum, ".") + 1, Plac)

If Fix(FullNum) = FullNum Then
NewNum = FullNum
Else
If Plac = 0 Then
NewNum = Fix(FullNum) + 1
Else
NewNum = Fix(FullNum) & "." & AfterPoint
End If
End If
Dim i
For i = 1 To IIf(Plac > 0, Plac, 1)
Formatation = Formatation & 0
Next i
RoundDown = Format(Val(NewNum), "0." & Formatation)

End Function

 

عزيزي

ضع استفسارك في موضوع مصدر الكود !

وللعلم كتبت المعادلة السابقة كبديلا لدالة الاكسل والذي تقبل التحكم في منازل التقريب ! وليس تقريب لاعلى عدد صحيح !

بالتوفيق

  • 2 years later...

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