الدوال الرقمية
تتعامل الدوال الرقمية مع العمليات الحسابية والحسابات الإحصائية وتنسيق الأرقام.| اسم الدالة | الوصف | المدخلات | المخرجات | مثال |
|---|---|---|---|---|
| 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" |

