اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

كتابة دوال بالأكسس


كريمو2

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

السلام عليكم إخواني لديا مجموعة من الدوال مكتوبة بالإكسل إريد كتابتها بالأكسس

فكيف يتم تعديلها

=IIF(OR(D1="INGENIEUR/ETAT";D1="ADMINISTRATEUR";D1="CONSEILLER/TECH");ROUND((BU1+BV1)*0,3;2);0)
=VALUE(RIGHT(TEXT(AH1;"0,00");4))
=IIf([CF1]>=5;[AH1]-[CF1]+10;[AH1]-[CF1])

=IIf([CH1]<30010;(1,4*([CH1]-16660)/10)+932,4;[CN1])
=[AH1]-[AL1]-[AI1]-Value(Right(Text([AH1]-[AL1]-[AI1];"0,00");4))
=IIf([CH1]<16670;(2*([CH1]-15010)/10)+602;[CM1])
=((30-[BG1])/30)*(IIF([AX1]>120000;29500+([AX1]-120000)*0,35;IIF([AX1]>30000;2500+([AX1]-30000)*0,3;IIF([AX1]>28750;2250+([AX1]-28750)*0,2;IIF([AX1]>22500;1500+([AX1]-22500)*0,12;IIF([AX1]>15000;([AX1]-15000)*0,2;0))))))
=(Int((([AH1]-[AL1]-[AE1]-[AD1])-(([AH1]-[AL1]-[AE1]-[AD1])-Int([AH1]-[AL1]-[AE1]-[AD1])))/10))*10
رابط هذا التعليق
شارك

استخدم بدل من اسم الخلية باسم العنصر ( مربع نص مثلا ً )

وهذا مثال بالنسبة لقاعدة  iif

 

  في اكسيل

=IIf([CH1]<16670;(2*([CH1]-15010)/10)+602;[CM1])

في اكسيس

=IIf([Text1]<16670;(2*([Text1]-15010)/10)+602;[text12])

و الدلة  int

 في اكسيس ( مثال )

=(Int(([text1]-[text12])-Int([text14]-[text15]))/10)*10

مرفق المثال

Database6.rar

رابط هذا التعليق
شارك

بالنسبة للدلة في اكسيل كما كتبتها حضرتك في المشاركة

=VALUE(RIGHT(TEXT(AH1;"0,00");4))

فعلى حد علمي البسيط ان لا توجد دالة اسمها  value في اكسيس

والدالة  TEXT  على حد علمي انها تقابل دلة  اسمها  format  في اكسيس

وعلى ذلك تكون المعادلة السابقة في اكسيس كما يلي

=Right(Format([text1];"0,000");4)

والله أعلم

 

واساتذة المنتدى اكيد لهم تاني فيما اقول

 

وشكرا

  • Like 1
رابط هذا التعليق
شارك

 

استخدم بدل من اسم الخلية باسم العنصر ( مربع نص مثلا ً )

وهذا مثال بالنسبة لقاعدة  iif

 

  في اكسيل

=IIf([CH1]<16670;(2*([CH1]-15010)/10)+602;[CM1])

في اكسيس

=IIf([Text1]<16670;(2*([Text1]-15010)/10)+602;[text12])

و الدلة  int

 في اكسيس ( مثال )

=(Int(([text1]-[text12])-Int([text14]-[text15]))/10)*10

مرفق المثال

 

شكرا لك اخي

المثال لم يعمل يبدو انه به مشكل

ولكن احبذ التصحيح لكل الدوال فقط لا داعي لمثال

وشكرا

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

وهذه الدالة اخي علي 

=[AH1]-[AL1]-[AI1]-Value(Right(Text([AH1]-[AL1]-[AI1];"0,00");4))

غيرتها ولكن لم تعطي نتيجة والنتيجة كانت خطا في الصيغة "#Name?"

=[AH1]-[AL1]-[AI1]-Value(Right(Format([AH1]-[AL1]-[AI1];"0,00");4))
رابط هذا التعليق
شارك

 

وهذه الدالة اخي علي 

=[AH1]-[AL1]-[AI1]-Value(Right(Text([AH1]-[AL1]-[AI1];"0,00");4))

غيرتها ولكن لم تعطي نتيجة والنتيجة كانت خطا في الصيغة "#Name?"

=[AH1]-[AL1]-[AI1]-Value(Right(Format([AH1]-[AL1]-[AI1];"0,00");4))

 

السلام عليكم ورحمة الله وبركاته

 

لا يوجد دالة اسمها  Value في اكسيس  كما ذكرت لحضرتك في المشاركة الثانية

وبناء علي كتبت الدلة بالطريقة التالية بدون كلمة Value

=Right(Format([text1];"0,000");4)

فقم من فضلك بحذف كلمة   Value  سوف تعمل ان شاء الله

رابط هذا التعليق
شارك

=IIF(OR(D1="INGENIEUR/ETAT";D1="ADMINISTRATEUR";D1="CONSEILLER/TECH");ROUND((BU1+BV1)*0,3;2);0)
=((30-[BG1])/30)*(IIF([AX1]>120000;29500+([AX1]-120000)*0,35;IIF([AX1]>30000;2500+([AX1]-30000)*0,3;IIF([AX1]>28750;2250+([AX1]-28750)*0,2;IIF([AX1]>22500;1500+([AX1]-22500)*0,12;IIF([AX1]>15000;([AX1]-15000)*0,2;0))))))
=(Int((([AH1]-[AL1]-[AE1]-[AD1])-(([AH1]-[AL1]-[AE1]-[AD1])-Int([AH1]-[AL1]-[AE1]-[AD1])))/10))*10

اخي علي المثال الذي ارفقته معقد ولما افتحه في وضع التصميم لكي انسخ صيغة الدالة يخرج الأكسس نهائيا رجاءا كتابة هذين الدالتين

هنا بدون المثال

على فكرة مربعات النص هي تلك الأسماء الموضوعة في الأمثلة بالأكسل نفسها بألأكسس

رابط هذا التعليق
شارك

الدالة في اكسيل

=IIF(OR(D1="INGENIEUR/ETAT";D1="ADMINISTRATEUR";D1="CONSEILLER/TECH");ROUND((BU1+BV1)*0,3;2);0)

هي في اكسيس  ( مع جعل التنسيق لمربعي النص  BU1   و  BV1   على شكل رقم عام   GENERAL NUMBER

=IIf(([D1]="INGENIEUR/ETAT" Or [D1]="ADMINISTRATEUR" Or [D1]="CONSEILLER/TECH");Round((([BU1]+[BV1])*0.3);2);0)

الدالة في اكسيل 

=(Int((([AH1]-[AL1]-[AE1]-[AD1])-(([AH1]-[AL1]-[AE1]-[AD1])-Int([AH1]-[AL1]-[AE1]-[AD1])))/10))*10

 في اكسيس

=(Int((([AH1]-[AL1]-[AE1]-[AD1])-(([AH1]-[AL1]-[AE1]-[AD1])-Int([AH1]-[AL1]-[AE1]-[AD1])))/10))*10

في اكسيل

=((30-[BG1])/30)*(IIf([AX1]>120000;29500+([AX1]-120000)*0.35;IIf([AX1]>30000;2500+([AX1]-30000)*0.3;IIf([AX1]>28750;2250+([AX1]-28750)*0.2;IIf([AX1]>22500;1500+([AX1]-22500)*0.12;IIf([AX1]>15000;([AX1]-15000)*0.2;0))))))

في اكسيس

=((30-[BG1])/30)*(IIf([AX1]>120000;29500+([AX1]-120000)*0.35;IIf([AX1]>30000;2500+([AX1]-30000)*0.3;IIf([AX1]>28750;2250+([AX1]-28750)*0.2;IIf([AX1]>22500;1500+([AX1]-22500)*0.12;IIf([AX1]>15000;([AX1]-15000)*0.2;0))))))
رابط هذا التعليق
شارك

أخي علي لقد غيرت فكرة الدوال بالإكسل التي كنت طلبت المساعدة الى دوال أخرى بالمرفق بالإكسل  Paie_Personnels والتي هي يبدو سهلة 

وكتابتها في الفورم Paie في الأكسس 

أرجو المساعدة منك او من ألاستاذ ابو خليل

 

Table.rar

رابط هذا التعليق
شارك

منتظر مساعدتكم 

صياغة هذه الدوال بالأكسس

للعلم ان $N$6 و $B$5 ....... الخ هي تحديد حقول من... الى.... في الإكسل 

و AncienBareme بالأكسل يوازيه جدول BaremENC بالأكسس

و Grades بالأكسل يوازيه Grades بالأكسس

و Bareme 2008 في الإكسل يوازيه Baremes بالأكسس

وغيرهم


=(INDEX(Baremes!$B$5:$R$21;F4;2))*45

=(INDEX(Baremes!$B$5:$R$21;IF($D$7=1;$F$7;$F$4);$F$5+3))*45

=IF($F$4>=9;($N$4+$N$5)*$N$7/100;0)

=IF($H$10=1;($N$17+$N$18)*10/100;0)

=IF($N$7>0;INDEX('95-28 et 95-300'!$E$2:$E$224;$E$9);0)

=(VLOOKUP($N$3;AncienBareme;12))*INDEX(Divers!$K$2:$K$11;$H$9;1)/100

=(K3+K4)*(INDEX(Grades!$F$3:$F$74;$D$2;1))/100

=($K$3+$K$4)*(INDEX(Grades!$G$3:$G$74;$D$2;1))/100

=IF($D$4=2;0;IF($D$6=1;0;IF($H$6=0;5.5;800)))

=((ROUND(K23/10;0))*10)*9/100

=(IF(N23>120000;29500+(N23-120000)*0.35;IF(N23>30000;2500+(N23-30000)*0.3;IF(N23>28750;2250+(N23-28750)*0.2;IF(N23>22500;1500+(N23-22500)*0.12;IF(N23>15000;(N23-15000)*0.2;0))))))

=IF(OR(N7=35;N7=45;N7=80;N7=90);1;0)

=(((VLOOKUP(IF($D$7=1;$N$6;$N$3);AncienBareme;13))*(VLOOKUP(IF($D$7=1;$N$6;$N$3);AncienBareme;(IF($F$5>10;10;$F$5))+14))))

=IF(AND($F$4>=9;$F$4<=11);INDEX('95-28 et 95-300'!$D$2:$D$224;$E$9;1);0)

=INDEX(Divers!$K$2:$K$11;$H$9;1)

=VALUE((LEFT($H$7;LEN($H$7)-2)&RIGHT($H$7)))

=(((VLOOKUP(IF($D$7=1;$N$6;$N$3);AncienBareme;13))*(VLOOKUP(IF($D$7=1;$N$6;$N$3);AncienBareme;(IF($F$5>10;10;$F$5))+14))))

=VALUE((LEFT($F$6;LEN($F$6)-2)&RIGHT($F$6)))

=((ROUND(K23/10;0))*10)*9/100
رابط هذا التعليق
شارك

  • 4 weeks 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