2.3دوال النصّ والتاريخ/الوقت
الأساسي في 30 ثانية
- استخراج ثم تركيب: LEFT/RIGHT/MID تقطع، و& وCONCAT تلصق — وTRIM تنظّف بينهما.
- التاريخ رقم: النهاية − البداية = أيام، وTODAY() = اليوم الحالي — اعرض النتيجة كـ Number.
- نظّف قبل التقاطع: المسافات وحالة الأحرف تُفشل XLOOKUP — TRIM + UPPER أولاً.
حالة مصغّرة متسلسلة — وسيم والمورّدون المكرّرون
يرى وسيم (2.2) عمليات XLOOKUP تُفشل مورّدين موجودين فعلاً: «SARL Atlas» بمسافتين، و«sarL atlas» بحروف صغيرة، وتواريخ استحقاق في نصّ ترفض أن تُحسَب. ينظّف: TRIM تزيل المسافات الطفيلية، وPROPER توحّد الحالة، فتنتبه تقاطعاته أخيراً. ثم يحسب التأخيرات: الاستحقاق ناقص اليوم بالأيام، وأقدمية المتأخّرات بـ DATEDIF. في 2.4 ستقود هذه التأخيرات المحسوبة ألوان التنبيه؛ وفي 2.5 سيحيا الكلّ داخل جدول منظَّم.
تكملة الخيط الناظم 2.2: تصبح بيانات وسيم نظيفة وقابلة للحساب — وتستمرّ في 2.4 و2.5.
1. استخراج النصّ وتركيبه
LEFT وRIGHT وMID تستخرج أجزاءً؛ وLEN تعدّ الأحرف؛ وTRIM تزيل المسافات الزائدة؛ وUPPER/LOWER/PROPER تغيّر حالة الأحرف. وللتركيب، معامل & أو CONCAT: =A2&" "&B2 يلصق الاسم واللقب. يبني وسيم رمز مورّد نظيفاً: الحرف الأول + اسم منظَّف + الولاية، وكلّه بحروف كبيرة.
2. التواريخ أرقام
التاريخ رقم يوم: لذا يمكننا الحساب به. =B2-A2 يعطي عدد أيام؛ و=TODAY() تُعيد تاريخ اليوم؛ وYEAR/MONTH/DAY تستخرج المكوّنات. وDATEDIF تحسب الفروق بالسنوات/الأشهر/الأيام: =DATEDIF(A2 ؛ TODAY() ؛ "y") لأقدمية بالسنوات. يحسب وسيم أيام التأخير = الاستحقاق − اليوم، ويعرض النتيجة بصيغة Number (وإلا عرض Excel تاريخاً زائفاً).
3. نظّف قبل التحليل
البيانات المستوردة غالباً «قذرة»: مسافات غير مرئية، حالة أحرف غير متّسقة، تواريخ في نصّ. المنعكس: TRIM للمسافات، وPROPER للحالة، وVALUE/DATEVALUE لإعادة تحويل الأرقام والتواريخ المخزَّنة كنصّ. ينظّف وسيم أسماء المورّدين قبل عمليات XLOOKUP (2.2): عمودان موحَّدان من الجانبين، وإلا بقي المفتاح «المتطابق» غير موجود. نظّف أولاً، وحلّل بعد ذلك.
🔎 مثال ملموس — 🔎 مثال ملموس — تأخّر دفع وسيم
الاستحقاق في B2؛ يحسب وسيم التأخّر ويبني رمزاً نظيفاً (الحرف الأول في A2، الاسم في C2):
=B2-TODAY() → اعرضها بصيغة Number (الأيام المتبقّية)
=UPPER(LEFT(A2;1)) & "." & UPPER(TRIM(C2))
=DATEDIF(A2; TODAY(); "y") → الأقدمية بالسنوات
القراءة: طرح التواريخ يعطي أياماً؛ وLEFT + TRIM + & يصنعان معرّفاً بلا مسافات خفية.
الدرس: نتيجة تواريخ معروضة كـ Date هي تنسيق يجب تصحيحه، لا حساب يجب رميه.
مفردات القسم
- TRIM
- تزيل مسافات البداية والنهاية والمسافات الداخلية المكرّرة: سلاح ضدّ مفاتيح «المتطابقة» التي تفشل.
مثال بسيط: ينظّف وسيم «SARL Atlas» قبل XLOOKUP.
ما ليس كذلك: تنسيق يلوّن الخلايا.
رد فعل: نظّف من الجانبين قبل التقاطع.
- & / CONCAT
- تركّبان عدة نصوص في سلسلة واحدة: =A2&" "&B2.
مثال بسيط: يلصق وسيم الحرف الأول والنقطة والاسم في رمز واحد.
ما ليس كذلك: الجمع + المخصّص للأرقام.
رد فعل: ركّب بـ &، لا بـ +.
- TODAY
- تُعيد تاريخ النظام، معاد حسابها عند كل فتح: مرجع التأخيرات والاستحقاقات.
مثال بسيط: يقارن وسيم كل استحقاق بـ TODAY().
ما ليس كذلك: تاريخ ثابت مكتوب يدوياً.
رد فعل: مرجع حيّ للمهل.
- DATEDIF
- الفرق بين تاريخين بالسنوات ("y") أو الأشهر ("m") أو الأيام ("d"): الأعمار والأقدميات.
مثال بسيط: يحسب وسيم أقدمية متأخّرة بـ =DATEDIF(A2;TODAY();"y").
ما ليس كذلك: طرح بسيط معروض كتاريخ.
رد فعل: الفروق التقويمية = DATEDIF.
في التطبيق — تطبيق عملي — نظّف ثم احسب
- نظّف عمود أسماء بـ TRIM + PROPER.
- ركّب رمزاً نظيفاً بـ LEFT و& (الحرف الأول + الاسم).
- احسب الأيام المتبقّية: =الاستحقاق-TODAY()، بتنسيق Number.
- احسب أقدمية بالسنوات بـ DATEDIF.
نصّ جاهز للقول — اشرح التنظيف (30 ث)
«كان مورّدونا يتكرّرون بسبب مسافات غير مرئية وحالات أحرف مختلفة: أنظّف كل شيء بـ TRIM وPROPER قبل التقاطع، فتنتبه عمليات البحث. والاستحقاقات أرقام حقيقية، فيُحسَب التأخّر وحده بالأيام. بيانات نظيفة أولاً، وتحليلات موثوقة بعد ذلك.»
قُلها وأنت تعرض تكرارات وسيم تندمج بعد التنظيف.
نموذج جاهز للنسخ — تنظيف + تواريخ
=TRIM(A2)
=PROPER(TRIM(A2))
=B2-TODAY()
=DATEDIF(A2; TODAY(); "y")
مفاتيح مكرّرة
«SARL Atlas» مقابل «sarL atlas»: يطبّق وسيم TRIM + UPPER من الجانبين فتنفدم التكرارات.
تاريخ في نصّ
استحقاق مستورد يرفض أن يُحسَب: يعيد وسيم تحويله بـ DATEVALUE، ثم يطرح عادةً.
تاريخ زائف كنتيجة
تأخّر يعرض «janv.-1900»: يعيد وسيم الخلية إلى تنسيق Number — كان الحساب صحيحاً.
رمز نظيف
تمييز كل مورّد برمز قصير: يدمج وسيم LEFT وTRIM وUPPER و& في صيغة واحدة.
✓ ممارسات جيدة
- نظّف (TRIM، الحالة) قبل أيّ تقاطع.
- ركّب بـ & (سريع) أو CONCAT.
- تذكّر أن تاريخاً = رقم: النتيجة بتنسيق Number.
✗ أخطاء شائعة
- الاعتقاد أن تاريخاً في نصّ يُحسَب (يلزم DATEVALUE).
- نسيان المسافات غير المرئية التي تُفشل XLOOKUP.
- الاستخراج بموضع ثابت (LEFT/RIGHT) على نصوص متغيّرة الأطوال.
النقاط الأساسية
- LEFT/RIGHT/MID تستخرج؛ LEN تعدّ؛ TRIM تنظّف.
- & وCONCAT تركّبان النصّ.
- التاريخ رقم: النهاية − البداية = أيام؛ DATEDIF = الفروق.
- نظّف قبل التحليل (مسافات، حالة، نصّ إلى رقم/تاريخ).
تحدّي 48 ساعة — طبّقه غداً
على عمود حقيقي (مورّدون، عملاء): TRIM + الحالة مطبّقان، ورمز مركَّب بـ &، ثم تأخّر بالأيام محسوب ومعروض كـ Number.
- أستطيع تنظيف نصّ (TRIM، الحالة) قبل أيّ تقاطع.
- أعرف تركيب معرّفات نظيفة (LEFT، &، CONCAT).
- أحسب بالتواريخ (طرح، TODAY، DATEDIF) بتنسيق Number.
أسئلة شائعة
لماذا يُعطي طرح تواريخي تاريخاً بدل رقم؟
ورثت الخلية الناتجة تنسيق Date. والقيمة (عدد الأيام) صحيحة: اجعل الخلية بتنسيق Number لعرضها كعدد صحيح.
تفشل عمليات XLOOKUP على مفاتيح «متطابقة»؟
غالباً مسافات غير مرئية أو حالة أحرف مختلفة. طبّق TRIM (وربما UPPER) من الجانبين لتوحيدها قبل التقاطع.
أيّ معامل يركّب محتوى خليتين نصّيتين؟