## 🔢 دوال الأرقام

عمليات حسابية ورياضية.

| الدالة     | الوصف                                                                              | الصياغة                      | المعاملات                                                                     | مثال                                             |
| ---------- | ---------------------------------------------------------------------------------- | ---------------------------- | ----------------------------------------------------------------------------- | ------------------------------------------------ |
| `ADD`      | يجمع رقمين معًا. يماثل العامل `+`.                                                 | `ADD(Number, Number)`        | **Number 1** — الرقم الأول.<br>**Number 2** — الرقم الثاني.                   | `ADD(1, 2) = 3`                                  |
| `MULTIPLY` | يضرب رقمين ببعضهما. يماثل العامل `*`.                                              | `MULTIPLY(Number, Number)`   | **Number 1** — الرقم الأول.<br>**Number 2** — الرقم الثاني.                   | `MULTIPLY(2, 5) = 10`                            |
| `DIVIDE`   | يقسم الرقم الأول على الثاني. يماثل العامل `/`.                                     | `DIVIDE(Dividend, Divisor)`  | **Dividend** — الرقم المقسوم.<br>**Divisor** — الرقم المقسوم عليه.            | `DIVIDE(10, 2) = 5`                              |
| `ROUND`    | يقرّب رقمًا إلى عدد محدد من الخانات العشرية.                                       | `ROUND(Number, Digits)`      | **Number** — القيمة المراد تقريبها.<br>**Digits** — عدد الخانات العشرية.      | `ROUND(1.12345, 2) = 1.12`                       |
| `TRUNC`    | يقتطع الجزء العشري من الرقم دون تقريب، مُبقيًا على الجزء الصحيح فقط.               | `TRUNC(Number)`              | **Number** — القيمة المراد اقتطاعها.                                          | `TRUNC(1.49) = 1`                                |
| `FLOOR`    | يقرّب الرقم لأقرب عدد صحيح أصغر منه أو يساويه.                                     | `FLOOR(Number)`              | **Number** — القيمة المراد تقريبها لأسفل.                                     | `FLOOR(1.51) = 1`<br>`FLOOR(-1.49) = -2`         |
| `CEIL`     | يقرّب الرقم لأقرب عدد صحيح أكبر منه أو يساويه.                                     | `CEIL(Number)`               | **Number** — القيمة المراد تقريبها لأعلى.                                     | `CEIL(1.49) = 2`<br>`CEIL(-1.51) = -1`           |
| `ABS`      | يُرجع القيمة المطلقة (غير السالبة) لرقم.                                           | `ABS(Number)`                | **Number** — القيمة المراد تحويلها.                                           | `ABS(-1.51) = 1.51`                              |
| `SIGN`     | يُرجع `1` للرقم الموجب، و`-1` للرقم السالب، و`0` للصفر.                            | `SIGN(Number)`               | **Number** — القيمة المراد تقييمها.                                           | `SIGN(-9.0) = -1`                                |
| `GREATEST` | يقارن رقمين ويُرجع الأكبر منهما.                                                   | `GREATEST(Number, Number)`   | **Number 1**، **Number 2** — القيمتان المراد مقارنتهما.                       | `GREATEST(1, 2) = 2`                             |
| `LEAST`    | يقارن رقمين ويُرجع الأصغر منهما.                                                   | `LEAST(Number, Number)`      | **Number 1**، **Number 2** — القيمتان المراد مقارنتهما.                       | `LEAST(1, 2) = 1`                                |
| `MOD`      | يُرجع باقي القسمة بعد قسمة الرقم الأول على الثاني.                                 | `MOD(Number, Number)`        | **Number 1** — المقسوم.<br>**Number 2** — المقسوم عليه.                       | `MOD(5, 2) = 1`<br>`MOD(-3, 2) = -1`             |
| `POWER`    | يرفع رقمًا إلى قوة أُس معين.                                                       | `POWER(Number, Exponent)`    | **Number** — الأساس.<br>**Exponent** — الأُس.                                 | `POWER(3, 2) = 9`<br>`POWER(25, 0.5) = 5.0`      |
| `SQRT`     | يُرجع الجذر التربيعي لرقم. يُرجع `NaN` للأرقام السالبة أو المدخلات غير الصالحة.    | `SQRT(Number)`               | **Number** — القيمة المراد إيجاد جذرها التربيعي.                              | `SQRT(9) = 3`<br>`SQRT(-4) = NaN`                |
| `EXP`      | يُرجع ناتج رفع عدد أويلر (e ≈ 2.718) إلى القوة المحددة.                            | `EXP(Number)`                | **Number** — الأُس المراد رفع *e* إليه.                                       | `EXP(1) = 2.718`<br>`EXP(0) = 1`                 |
| `LOG`      | يُرجع الأُس الذي يجب رفع الأساس إليه لإنتاج رقم معين.                              | `LOG(Base, Number)`          | **Base** — أساس اللوغاريتم.<br>**Number** — القيمة المراد إيجاد أُسّها.       | `LOG(3, 9) = 2`                                  |
| `EVEN`     | يُرجع `TRUE` إذا كان الرقم زوجيًا، و`FALSE` غير ذلك (وأيضًا للمدخلات غير الصالحة). | `EVEN(Number)`               | **Number** — القيمة المراد فحصها.                                             | `EVEN(2) = true`<br>`EVEN(5) = false`            |
| `TONUMBER` | يحوّل قيمة نصية إلى رقم إن أمكن ذلك.                                               | `TONUMBER(Text)`             | **Text** — النص المراد تحويله.                                                | `TONUMBER('10') = 10`                            |
| `IS_NAN`   | يُرجع `TRUE` إذا كانت القيمة `NaN` (ليست رقمًا)، و`FALSE` غير ذلك.                 | `IS_NAN(Number)`             | **Number** — القيمة المراد فحصها.                                             | `IS_NAN(1 / 0) = true`                           |
| `WHEN_NAN` | يُرجع قيمة بديلة إذا كان المعامل الأول `NaN`؛ وإلا يُرجع المعامل الأول نفسه.       | `WHEN_NAN(Number, Fallback)` | **Number** — القيمة المراد فحصها.<br>**Fallback** — القيمة البديلة عند `NaN`. | `WHEN_NAN(1 / 0, 4) = 4`<br>`WHEN_NAN(1, 4) = 1` |

---

## 


