> ## Documentation Index
> Fetch the complete documentation index at: https://help.teable.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# ورقة الصيغ المرجعية

> اعثر بسرعة على دوال الصيغ ومعاملاتها وأنواع مخرجاتها وأمثلتها الأساسية.

تساعدك ورقة الصيغ المرجعية في العثور على الدوال المتاحة ومعاملاتها وأنواع مخرجاتها وأمثلتها. عند كتابة صيغة، استخدم فئة الدالة للعثور على الدالة التي تحتاج إليها.

## الدوال الرقمية

تتعامل الدوال الرقمية مع العمليات الحسابية والحسابات الإحصائية وتنسيق الأرقام.

| اسم الدالة | الوصف                                                                                    | المدخلات                  | المخرجات | مثال                                                |
| ---------- | ---------------------------------------------------------------------------------------- | ------------------------- | -------- | --------------------------------------------------- |
| SUM        | تجمع الأرقام معًا. تكافئ number1 + number2 + ...                                         | `number1, [number2, ...]` | رقم      | `SUM(100, 200, 300) => 600`                         |
| AVERAGE    | تعيد متوسط الأرقام.                                                                      | `number1, [number2, ...]` | رقم      | `AVERAGE(100, 200, 300) => 200`                     |
| MAX        | تعيد أكبر قيمة من بين الأرقام المعطاة.                                                   | `number1, [number2, ...]` | رقم      | `MAX(100, 200, 300) => 300`                         |
| MIN        | تعيد أصغر قيمة من بين الأرقام المعطاة.                                                   | `number1, [number2, ...]` | رقم      | `MIN(100, 200, 300) => 100`                         |
| ROUND      | تقرّب قيمة إلى عدد المنازل العشرية المحدد بواسطة "precision".                            | `value, [precision]`      | رقم      | `ROUND(1.99, 0) => 2` `ROUND(16.8, -1) => 20`       |
| ROUNDUP    | تقرّب دائمًا إلى الأعلى، بعيدًا عن الصفر.                                                | `value, [precision]`      | رقم      | `ROUNDUP(1.1, 0) => 2` `ROUNDUP(-1.1, 0) => -2`     |
| ROUNDDOWN  | تقرّب دائمًا إلى الأسفل، باتجاه الصفر.                                                   | `value, [precision]`      | رقم      | `ROUNDDOWN(1.9, 0) => 1` `ROUNDDOWN(-1.9, 0) => -1` |
| CEILING    | تعيد أقرب مضاعف صحيح أكبر من القيمة أو يساويها.                                          | `value, [significance]`   | رقم      | `CEILING(2.49) => 3` `CEILING(2.49, 1) => 2.5`      |
| FLOOR      | تعيد أقرب مضاعف صحيح أصغر من القيمة أو يساويها.                                          | `value, [significance]`   | رقم      | `FLOOR(2.49) => 2` `FLOOR(2.49, 1) => 2.4`          |
| EVEN       | تعيد أصغر عدد زوجي أكبر من القيمة المحددة أو يساويها.                                    | `value`                   | رقم      | `EVEN(0.1) => 2` `EVEN(-0.1) => -2`                 |
| ODD        | تقرّب القيم الموجبة إلى الأعلى لأقرب عدد فردي، والقيم السالبة إلى الأسفل لأقرب عدد فردي. | `value`                   | رقم      | `ODD(0.1) => 1` `ODD(-0.1) => -1`                   |
| INT        | تعيد الجزء الصحيح من رقم.                                                                | `value`                   | رقم      | `INT(1.9) => 1` `INT(-1.9) => -2`                   |
| ABS        | تعيد القيمة المطلقة.                                                                     | `value`                   | رقم      | `ABS(-1) => 1`                                      |
| SQRT       | تعيد الجذر التربيعي لعدد غير سالب.                                                       | `value`                   | رقم      | `SQRT(4) => 2`                                      |
| POWER      | تحسب الأساس المحدد مرفوعًا إلى القوة المحددة.                                            | `base, exponent`          | رقم      | `POWER(2, 2) => 4`                                  |
| EXP        | تحسب عدد أويلر (e) مرفوعًا إلى القوة المحددة.                                            | `value`                   | رقم      | `EXP(0) => 1` `EXP(1) => 2.718`                     |
| LOG        | تحسب لوغاريتم قيمة بالأساس المقدّم. وإذا لم يُحدد، فالقيمة الافتراضية للأساس هي 10.      | `value, [base=10]`        | رقم      | `LOG(100) => 2` `LOG(1024, 2) => 10`                |
| MOD        | تعيد الباقي بعد قسمة المعامل الأول على الثاني.                                           | `value, divisor`          | رقم      | `MOD(9, 2) => 1` `MOD(9, 3) => 0`                   |
| VALUE      | تحوّل سلسلة نصية إلى رقم.                                                                | `text`                    | رقم      | `VALUE("$1,000,000") => 1000000`                    |

## الدوال النصية

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

| اسم الدالة             | الوصف                                                                                                                                     | المدخلات                                           | المخرجات   | مثال                                                                                |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------- |
| CONCATENATE            | تضم عدة معاملات من أنواع قيم مختلفة في قيمة نصية واحدة.                                                                                   | `text1, [text2, ...]`                              | نص         | `CONCATENATE("مرحبًا ", "Teable") => مرحبًا Teable`                                 |
| FIND                   | تعثر على موضع سلسلة نصية فرعية في نص محدد. تعيد 0 إذا لم يُعثر على السلسلة الفرعية.                                                       | `stringToFind, whereToSearch, [startFromPosition]` | رقم        | `FIND("Teable", "مرحبا Teable") => 7`                                               |
| SEARCH                 | تعثر على موضع سلسلة نصية فرعية في نص محدد. تعيد قيمة فارغة إذا لم يُعثر على السلسلة الفرعية. تشبه FIND، لكنها تعيد قيمة فارغة بدلًا من 0. | `stringToFind, whereToSearch, [startFromPosition]` | نص أو فارغ | `SEARCH("Teable", "مرحبا Teable") => 7`                                             |
| MID                    | تستخرج عددًا محددًا من المحارف من سلسلة نصية بدءًا من موضع محدد.                                                                          | `text, whereToStart, count`                        | نص         | `MID("مرحبا Teable", 6, 6) => "Teable"`                                             |
| LEFT                   | تستخرج عددًا محددًا من المحارف من بداية سلسلة نصية.                                                                                       | `text, count`                                      | نص         | `LEFT("2023-09-06", 4) => "2023"`                                                   |
| RIGHT                  | تستخرج عددًا محددًا من المحارف من نهاية سلسلة نصية.                                                                                       | `text, count`                                      | نص         | `RIGHT("2023-09-06", 5) => "09-06"`                                                 |
| REPLACE                | تستبدل عددًا محددًا من المحارف، بدءًا من موضع محدد، بنص بديل.                                                                             | `text, whereToStart, count, replacement`           | نص         | `REPLACE("مرحبا جدول", 7, 4, "Teable") => "مرحبا Teable"`                           |
| REGEXP\_REPLACE        | تستبدل جميع السلاسل النصية الفرعية المطابقة لتعبير نمطي بنص بديل.                                                                         | `text, regular_expression, replacement`            | نص         | `REGEXP_REPLACE("مرحبا جدول", "م.* ", "") => "Teable"`                              |
| SUBSTITUTE             | تستبدل النص القديم بنص جديد. ويمكن تحديد فهرس لاستبدال تكرار بعينه من النص القديم. وإذا لم يُحدد فهرس، فتستبدل جميع التكرارات.            | `text, oldText, newText, [index]`                  | نص         | `SUBSTITUTE("مرحبا جدول", "جدول", "Teable") => "مرحبا Teable"`                      |
| TEXTBEFORE             | تعيد النص السابق للفاصل المحدد.                                                                                                           | `text, delimiter`                                  | نص         | `TEXTBEFORE("20, 04, 79", ",") => "20"`                                             |
| TEXTSPLIT              | تقسّم النص حسب الفاصل المحدد وتعيد عدة قيم نصية.                                                                                          | `text, delimiter`                                  | مصفوفة     | `TEXTSPLIT("20, 04, 79", ",") => ["20", " 04", " 79"]`                              |
| LOWER                  | تحوّل السلسلة النصية إلى أحرف صغيرة.                                                                                                      | `text`                                             | نص         | `LOWER("Teable") => "teable"`                                                       |
| UPPER                  | تحوّل السلسلة النصية إلى أحرف كبيرة.                                                                                                      | `text`                                             | نص         | `UPPER("Teable") => "TEABLE"`                                                       |
| REPT                   | تكرر النص عددًا محددًا من المرات.                                                                                                         | `text, number`                                     | نص         | `REPT("مرحبًا!", 3) => "مرحبًا!مرحبًا!مرحبًا!"`                                     |
| TRIM                   | تزيل محارف المسافات البيضاء من بداية سلسلة نصية ونهايتها.                                                                                 | `text`                                             | نص         | `TRIM(" مرحبًا ") => "مرحبًا"`                                                      |
| LEN                    | تحسب عدد المحارف في سلسلة نصية.                                                                                                           | `text`                                             | رقم        | `LEN("مرحبا") => 5`                                                                 |
| T                      | تعيد المعامل إذا كان نصًا، وإلا فتعيد قيمة فارغة.                                                                                         | `value`                                            | نص أو فارغ | `T("مرحبًا") => "مرحبًا"` `T(100) => null`                                          |
| ENCODE\_URL\_COMPONENT | تستبدل بعض المحارف بمكافئاتها المرمّزة لإنشاء عناوين URL أو URI. لا ترمّز: - \_ . \~                                                      | `value`                                            | نص         | `ENCODE_URL_COMPONENT("مرحبا Teable") => "%D9%85%D8%B1%D8%AD%D8%A8%D8%A7%20Teable"` |

## الدوال المنطقية

تتعامل الدوال المنطقية مع الشروط والعمليات المنطقية، مثل `IF` و`AND` و`OR`.

| اسم الدالة | الوصف                                                                                                                                                          | المدخلات                                      | المخرجات                                       | مثال                                                                               |
| ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- | ---------------------------------------------- | ---------------------------------------------------------------------------------- |
| IF         | تعيد value1 إذا كان المعامل المنطقي true، وإلا فتعيد value2. ويمكن استخدامها لعبارات IF المتداخلة والتحقق مما إذا كانت الخلايا فارغة.                          | `logical, value1, value2`                     | سلسلة نصية \| رقم \| قيمة منطقية \| تاريخ ووقت | `IF(2 > 1, "أ", "ب") => "أ"` `IF(2 > 1, TRUE, FALSE) => TRUE`                      |
| SWITCH     | تطابق تعبير إدخال مع سلسلة من القيم وتعيد النتيجة المقابلة. ويمكنها إعادة قيمة افتراضية إذا لم يُعثر على تطابق. وغالبًا ما يمكن أن تحل محل صيغ IF() المتداخلة. | `expression, [pattern, result]..., [default]` | سلسلة نصية \| رقم \| قيمة منطقية \| تاريخ ووقت | `SWITCH("ب", "أ", "القيمة أ", "ب", "القيمة ب", "القيمة الافتراضية") => "القيمة ب"` |
| AND        | تعيد true إذا كانت جميع المعاملات true؛ وإلا فتعيد false.                                                                                                      | `logical1, [logical2, ...]`                   | قيمة منطقية                                    | `AND(1 < 2, 5 > 3) => true` `AND(1 < 2, 5 < 3) => false`                           |
| OR         | تعيد true إذا كان أي معامل يساوي true.                                                                                                                         | `logical1, [logical2, ...]`                   | قيمة منطقية                                    | `OR(1 < 2, 5 < 3) => true` `OR(1 > 2, 5 < 3) => false`                             |
| XOR        | تعيد true إذا كان عدد المعاملات التي تساوي true فرديًا.                                                                                                        | `logical1, [logical2, ...]`                   | قيمة منطقية                                    | `XOR(1 < 2, 5 < 3, 8 < 10) => false` `XOR(1 > 2, 5 < 3, 8 < 10) => true`           |
| NOT        | تعكس القيمة المنطقية لمعاملها.                                                                                                                                 | `boolean`                                     | قيمة منطقية                                    | `NOT(1 < 2) => false` `NOT(1 > 2) => true`                                         |
| BLANK      | تعيد قيمة null. ويمكن استخدامها أيضًا لاختبار ما إذا كان أحد الحقول فارغًا.                                                                                    | `-`                                           | null                                           | `BLANK() => null` `IF({الوزن}=BLANK(), 1, 2) => 1`                                 |
| ERROR      | تعيد قيمة خطأ.                                                                                                                                                 | `message`                                     | خطأ                                            | `IF(2 > 3, "نعم", ERROR("الحساب")) => "#ERROR: الحساب"`                            |
| IS\_ERROR  | تعيد true إذا تسبب التعبير في خطأ.                                                                                                                             | `expr`                                        | قيمة منطقية                                    | `IS_ERROR(ERROR()) => true`                                                        |

## دوال التاريخ

تتعامل دوال التاريخ مع قيم التاريخ والوقت وتحولها، مثل الحصول على التاريخ الحالي، وحساب فروق التواريخ، ومقارنة التواريخ.

| اسم الدالة     | الوصف                                                                                                                                                      | المدخلات                     | المخرجات    | مثال                                                                                                    |
| -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | ----------- | ------------------------------------------------------------------------------------------------------- |
| TODAY          | تعيد التاريخ الحالي.                                                                                                                                       | `-`                          | تاريخ ووقت  | `TODAY() => "2023-09-08 00:00"`                                                                         |
| NOW            | تعيد التاريخ والوقت الحاليين.                                                                                                                              | `-`                          | تاريخ ووقت  | `NOW() => "2023-09-08 16:50"`                                                                           |
| YEAR           | تعيد السنة المكوّنة من أربعة أرقام لأحد التواريخ.                                                                                                          | `date`                       | رقم         | `YEAR("2023-09-08") => 2023`                                                                            |
| MONTH          | تعيد شهر أحد التواريخ كرقم بين 1 (يناير) و12 (ديسمبر).                                                                                                     | `date`                       | رقم         | `MONTH("2023-09-08") => 9`                                                                              |
| WEEKNUM        | تعيد رقم الأسبوع من السنة.                                                                                                                                 | `date`                       | رقم         | `WEEKNUM("2023-09-08") => 36`                                                                           |
| WEEKDAY        | تعيد يوم الأسبوع كعدد صحيح بين 0 و6. ويمكنك اختياريًا تقديم معامل ثانٍ ("Sunday" أو "Monday") لبدء الأسبوع في ذلك اليوم.                                   | `date, [startDayOfWeek]`     | رقم         | `WEEKDAY("2023-09-08", "Monday") => 5`                                                                  |
| DAY            | تعيد يوم الشهر كرقم بين 1 و31.                                                                                                                             | `date`                       | رقم         | `DAY("2023-09-08") => 8`                                                                                |
| HOUR           | تعيد ساعة أحد التواريخ كرقم بين 0 (12:00 صباحًا) و23 (11:00 مساءً).                                                                                        | `date`                       | رقم         | `HOUR("2023-09-08 16:50") => 16`                                                                        |
| MINUTE         | تعيد دقيقة أحد التواريخ كعدد صحيح بين 0 و59.                                                                                                               | `date`                       | رقم         | `MINUTE("2023-09-08 16:50") => 50`                                                                      |
| SECOND         | تعيد ثواني أحد التواريخ كعدد صحيح بين 0 و59.                                                                                                               | `date`                       | رقم         | `SECOND("2023-09-08 16:50:30") => 30`                                                                   |
| FROMNOW        | تحسب عدد الأيام بين التاريخ الحالي وتاريخ آخر.                                                                                                             | `date, unit`                 | رقم         | `FROMNOW({التاريخ}, "day") => 25`                                                                       |
| TONOW          | تحسب عدد الأيام بين التاريخ الحالي وتاريخ آخر.                                                                                                             | `date, unit`                 | رقم         | `TONOW({التاريخ}, "day") => 25`                                                                         |
| DATETIME\_DIFF | تعيد الفرق بين تاريخين ووقتين بالوحدات المحددة. الوحدة الافتراضية هي الثواني. (راجع قائمة محددات الوحدات.)                                                 | `date1, date2, [unit]`       | رقم         | `DATETIME_DIFF("2022-08-01", "2023-09-08", "day") => 403`                                               |
| WORKDAY        | تعيد تاريخ يوم العمل المزاح عن تاريخ البدء، مع استبعاد العطلات المحددة                                                                                     | `date, count, [holidayStr]`  | تاريخ ووقت  | `WORKDAY("2023-09-08", 200) => "2024-06-14 00:00:00"`                                                   |
| WORKDAY\_DIFF  | تعيد عدد أيام العمل بين date1 وdate2. تستبعد أيام العمل عطلات نهاية الأسبوع وقائمة اختيارية من العطلات منسقة كسلسلة نصية لتواريخ بتنسيق ISO مفصولة بفواصل. | `date1, date2, [holidayStr]` | رقم         | `WORKDAY_DIFF("2023-06-18", "2023-10-01") => 75`                                                        |
| IS\_SAME       | تقارن تاريخين وفق وحدة وتحدد ما إذا كانا متساويين. تعيد true إذا كانا كذلك، وإلا فتعيد false.                                                              | `date1, date2, [unit]`       | قيمة منطقية | `IS_SAME("2023-09-08", "2023-09-10") => false`                                                          |
| IS\_AFTER      | تحدد ما إذا كان date1 لاحقًا لـ date2. تعيد true إذا كان كذلك، وإلا فتعيد false.                                                                           | `date1, date2, [unit]`       | قيمة منطقية | `IS_AFTER("2023-09-10", "2023-09-08") => true` `IS_AFTER("2023-09-10", "2023-09-08", "month") => false` |

## دوال المصفوفات والدوال الأخرى

تتعامل دوال المصفوفات والدوال الأخرى مع مصفوفات التجميع، وإزالة التكرار، والربط، وتنظيف القيم الفارغة، ومعرّفات السجلات.

| اسم الدالة     | الوصف                                                                                                                                    | المدخلات                | المخرجات   | مثال                                                                          |
| -------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- | ---------- | ----------------------------------------------------------------------------- |
| COUNTALL       | تعيد عدد جميع العناصر، بما فيها النصوص والقيم الفارغة.                                                                                   | `value1, [value2, ...]` | رقم        | `COUNTALL(100, 200, "", "Teable", TRUE()) => 5`                               |
| COUNTA         | تعيد عدد القيم غير الفارغة. تحسب هذه الدالة القيم الرقمية والنصية معًا.                                                                  | `value1, [value2, ...]` | رقم        | `COUNTA(100, 200, 300, "", "Teable", TRUE) => 4`                              |
| COUNT          | تعيد عدد العناصر الرقمية.                                                                                                                | `value1, [value2, ...]` | رقم        | `COUNT(100, 200, 300, "", "Teable", TRUE) => 3`                               |
| ARRAY\_JOIN    | تضم مصفوفة من عناصر التجميع في سلسلة نصية باستخدام فاصل.                                                                                 | `array, [separator]`    | سلسلة نصية | `ARRAY_JOIN(["توم", "جيري", "مايك"], "; ") => "توم; جيري; مايك"`              |
| ARRAY\_UNIQUE  | تعيد العناصر الفريدة فقط في مصفوفة.                                                                                                      | `array`                 | مصفوفة     | `ARRAY_UNIQUE([1, 2, 3, 2, 1]) => [1, 2, 3]`                                  |
| ARRAY\_FLATTEN | تسطّح مصفوفة بإزالة أي تداخل للمصفوفات. وتصبح جميع العناصر عناصر في مصفوفة واحدة.                                                        | `array`                 | مصفوفة     | `ARRAY_FLATTEN([1, 2, " ", 3, true], ["ABC"]) => [1, 2, 3, " ", true, "ABC"]` |
| ARRAY\_COMPACT | تزيل السلاسل النصية الفارغة وقيم null من مصفوفة. وتحتفظ بـ "false" والسلاسل النصية التي تحتوي على محرف واحد أو أكثر من المسافات البيضاء. | `array`                 | مصفوفة     | `ARRAY_COMPACT([1, 2, 3, "", null, "ABC"]) => [1, 2, 3, "ABC"]`               |
| RECORD\_ID     | تعيد معرّف السجل الحالي.                                                                                                                 | `-`                     | سلسلة نصية | `RECORD_ID() => "recxxxxxx"`                                                  |
