أسماء العناوين ليست المشكلة الحقيقية. Excel يعرض لك العَرَض فحسب. المشكلة الحقيقية أن ملفَّي CSV البنكيَّين لا يتفقان على أدوار الحقول وأساس التاريخ وبنية المبالغ. لذا فعمود باسم Date في ملف قد لا يعني الشيء ذاته الذي يعنيه Value Date أو Txn Date في الملف الآخر.
الطريقة الآمنة لمقارنة ملفَّي CSV بنكيَّين بأسماء أعمدة مختلفة: عيِّن لكل عمود دوراً وفق وظيفته، وحِّد التواريخ والمبالغ في تنسيق تخزين واحد، ثم طابِق الصفوف بأقوى مفتاح يتيحه الملفَّان. إن بدأت بمقارنة العناوين وأجّلت نموذج البيانات، فالملف الذي "يبدو قريباً بما يكفي" هو الذي يضيّع عليك بقية اليوم في الغالب.
اقرأ التعارض قبل أن تُعيد أي تسمية
قبل تغيير عنوان أو بناء دالة بحث، حدِّد ما يخزّنه كل ملف فعلاً. المعاملة الواحدة قد تبدو متوافقة على الشاشة وتفشل في المطابقة، لأن أحد التصديرَين خزَّن القيمة نصاً، أو اعتمد أساساً مختلفاً للتاريخ، أو فصل المدين والدائن في عمودَين منفصلَين.
| ما تراه على الشاشة | كيف يخزّنه الملف A | كيف يخزّنه الملف B | النتيجة عند المطابقة |
|---|---|---|---|
05/01/2026 في كلا الملفَّين | Txn Date مخزَّن نصاً بالتنسيق dd/mm/yyyy | Date مخزَّن كرقم تسلسلي فعلي في Excel بعرض mm/dd/yyyy | يبدوان متساويَين على الشاشة، لكن التاريخَين الفعليَّين مختلفان |
125.40 يظهر في كلا الملفَّين | عمود Debit يخزّن 125.40 نصاً | عمود Amount يخزّن -125.40 رقماً بإشارة | تفشل المطابقة: أحد الملفَّين يعزل الخصم في عمود منفصل والآخر يعمل بمبالغ ذات إشارة |
Salary Payment يبدو متطابقاً | Description يحتوي على مسافة زائدة في نهاية النص | Narration يخزّن نصاً نظيفاً | تفشل مطابقة الوصف رغم أن الكلمات تبدو متطابقة |
1,250.00 يظهر في كلا الملفَّين | Amount مخزَّن نصاً يحتوي على فاصلة | Amount مخزَّن رقماً | تتعامل معهما دالة البحث كقيمتَين مختلفتَين |
31/03/2026 و01/04/2026 لنفس الدفعة | Value Date يعكس تاريخ التسوية | Txn Date يعكس تاريخ المعاملة | تظهر المعاملة الواحدة كفارق في التاريخ لا كصف مفقود |
Bank Ref موجود في ملف واحد فقط | أحد التصديرَين يحتفظ بمرجع بنكي | الآخر لا يحتوي إلا على الوصف والمبلغ | تضعف المطابقة بالتاريخ والمبلغ ويصعب حسم التكرارات |
هذا الجدول يكشف إن كانت المشكلة في التسمية أو التخزين أو توقيت المعاملة. وليست الثلاثة إصلاحاً واحداً.
لتشخيص سريع، افحص نوع الخلية الخام قبل مقارنة القيم:
=TYPE(B2)يُعيد1حين خزَّن Excel رقماً.=TYPE(B2)يُعيد2حين خزَّن Excel نصاً.
هذا أهم مما تراه على الشاشة. تاريخ يبدو صحيحاً لكنه يُعيد 2 لا يزال نصاً. ورقم يشبه 1,250.00 لكنه يُعيد 2 لن يتصرف كمبلغ حقيقي.
حدِّد الأعمدة التي تؤدي الوظيفة نفسها
التصديرات البنكية تُعيد تسمية الحقل الواحد باستمرار. هذا لا يجعل الملفَّين غير متوافقَين. يعني فقط أنك تحتاج إلى خريطة أدوار قبل أي معادلة.
| الدور في المقارنة | أسماء العناوين الشائعة | هل يصلح للمطابقة المباشرة؟ | ما الذي ينبغي مراقبته |
|---|---|---|---|
| تاريخ المعاملة | Date، Txn Date، Transaction Date | نعم، إن كان الملفَّان يعتمدان الأساس الزمني ذاته | قد يستخدم أحد البنكَين تاريخ البدء والآخر تاريخ القيد |
| تاريخ التسوية | Value Date، Posted Date، Booking Date | نعم، إن كان الملفَّان يعكسان توقيت حركة النقد | كثيراً ما يختلف عن تاريخ المعاملة بيوم أو أكثر |
| المبلغ بإشارة | Amount، Net Amount | نعم | تحقَّق من أن القيم السالبة تمثّل خصوماً في كلا الملفَّين |
| مبالغ مفصولة | Debit، Credit، Withdrawal، Deposit | لا مباشرةً | حوِّلها أولاً إلى قاعدة مبلغ ذي إشارة واحدة |
| المرجع | Reference، Bank Ref، Transaction ID، Cheque No | أفضل مفتاح مباشر حين يتوفر في كلا الملفَّين | بعض البنوك تُقلِّص المرجع أو تحذفه من تصدير CSV |
| الوصف | Description، Narration، Details، Memo | كدعم للمراجعة، ليس للمطابقة الأولى | نص التاجر كثيراً ما يُختصر بأشكال مختلفة |
| الرصيد | Balance، Running Balance، Ledger Balance | لا | مفيد للمراجعة، ليس مفتاحاً رئيسياً |
السؤال العملي ليس «أي أسماء عناوين تتطابق؟». بل «أي أعمدة تعني الشيء ذاته في سير العمل؟».
Date وValue Date ليسا متبادلَين إلا بعد التأكد من أن الملفَّين يعتمدان الساعة ذاتها. Amount وDebit ليسا متبادلَين إلا بعد توحيدهما على قاعدة إشارة واحدة. Description وNarration يساعدان في مراجعة الاستثناءات، لكنهما مفاتيحان ضعيفان للمطابقة الأولى، إذ تُختصر أسماء التجار بأشكال مختلفة.
حين يكون الملفَّان من بنكَين مختلفَين، أو حين تُقارن تصديراً بنكياً بتصدير نظام مالي، ابنِ خريطة أدوار كالجدول أعلاه أولاً. بمجرد أن تتضح الأدوار تتوقف العناوين عن كونها عقبة.
وحِّد التواريخ قبل مقارنة الصفوف
أعمدة التواريخ تُسبِّب فروقاً وهمية أكثر من أسماء العناوين. ملف يخزّن تواريخ حقيقية، والآخر يخزّن نصاً. أحدهما يقصد تاريخ المعاملة، والآخر تاريخ التسوية. تجاهل هذا الفارق وستقضي وقتاً في فحص تعارضات قابلة للتفسير أصلاً.
ابدأ بمشكلة التخزين.
إن كان الملف A يحتوي على تاريخ نصي بالتنسيق dd/mm/yyyy، حوِّله بمعادلة مباشرة قبل المطابقة:
=DATE(RIGHT(B2,4),MID(B2,4,2),LEFT(B2,2))
إن كان الملف A يحتوي على تاريخ نصي بالتنسيق mm/dd/yyyy، استخدم:
=DATE(RIGHT(B2,4),LEFT(B2,2),MID(B2,4,2))
هاتان المعادلتان تستخرجان المكوِّنات مباشرةً. لا تعتمدان على Excel لتخمين معنى النص. هذا أأمن من DATEVALUE حين يكون تنسيق المصدر غير منتظم.
احذر من قيم غامضة مثل 01/05/2026. هذه السلسلة قد تعني الخامس من يناير أو الأول من مايو بحسب التصدير. لا تُحوِّلها حتى تعرف التقليد الذي يتبعه المصدر. أسرع طرق التحقق:
- ابحث عن أي تاريخ تتجاوز فيه المكوِّنة الأولى الرقمَ 12. إن وجدت
31/03/2026، فالملف يبدأ باليوم. - قارن بعض الصفوف بالكشف PDF أو بالنظام المصدر.
- راجع ما إذا كان العنوان نفسه يُلمِّح إلى التوقيت.
Value DateوPosting Dateكثيراً ما يصفان توقيت التسوية، لا توقيت الشراء.
ثم عالج مشكلة المعنى.
إن كان أحد الملفَّين يستخدم Txn Date والآخر Value Date، فمطابقة كل صف على التاريخ وحده قاعدة خاطئة. دفعة بطاقة أُجريت متأخراً في الحادي والثلاثين من مارس يمكن أن تُسوَّى في الأول من أبريل. هذه ليست معاملة مفقودة. هذا فارق في التوقيت. ينبغي أن تستوعب مقارنتك هذا: استخدم مفتاحاً أقوى من التاريخ وحده، أو جمِّع هذه الصفوف في حاوية استثناءات منفصلة.
وحِّد المبالغ والإشارات قبل الثقة بأي مطابقة
ملفات CSV البنكية نادراً ما تتفق على طريقة تخزين الأموال. ملف يستخدم عمود Amount واحداً بإشارة. وآخر يوزِّع المال بين Debit وCredit. وثالث يخزِّن الأرقام نصاً مع فواصل. مطابقة العناوين لن تُصلح شيئاً من ذلك.
إن كان أحد الملفَّين يحتوي على مبلغ بإشارة والآخر يُفصل الخصم والإيداع، حوِّل العمودَين المنفصلَين بمعادلة مباشرة أولاً. مثلاً، إن كان C2 هو Debit وD2 هو Credit:
=IF(C2<>"" ,-VALUE(SUBSTITUTE(C2,",","")),VALUE(SUBSTITUTE(D2,",","")))
يُعطيك هذا قاعدة مبلغ مقارنة واحدة:
- الخصم يصبح سالباً
- الإيداع يصبح موجباً
إن كانت المشكلة أرقاماً نصية في عمود واحد، حوِّلها مباشرةً بـ:
=VALUE(SUBSTITUTE(E2,",",""))
إن استورد الملف قيماً محاطة بمسافات أو أحرف غير مرئية، نظِّفها قبل التحويل. CHAR(160) هو المسافة غير الفاصلة التي تُدرجها التصديرات الإلكترونية دون أن تظهر على الشاشة. لتنظيف عنوان أو مبلغ نصي يحتويها، استخدم:
=TRIM(SUBSTITUTE(A1,CHAR(160)," "))
لا تتجاوز هذه الخطوة بحجة أن المبالغ "تبدو صحيحة". دالة البحث تُقارن القيمة المخزَّنة، لا تنسيق العرض. لهذا يفشل 125.40 المخزَّن نصاً و125.40 المخزَّن رقماً رغم تطابقهما ظاهرياً.
إن تكرَّر هذا على الملفات المستوردة، فـالمسافات الزائدة التي تُفسد مطابقة CSV جزء من نمط الفشل ذاته في الغالب.
الأعمدة المساعدة تُفيد حين يكون الملف كبيراً أو تتغيَّر التصديرات المصدرية كثيراً. لكنها الخيار الاحتياطي. المحاولة الأولى يجب أن تكون التحويل المباشر النظيف الذي يكشف حقيقة التعارض.
ابنِ مفتاح المطابقة بعد تنظيف الأدوار
بمجرد توحيد التواريخ والمبالغ، اختر أقوى مفتاح يتيحه الملفَّان. هنا تتعثَّر أكثر المقارنات. يُطلب من حقل ضعيف واحد أن يحمل المطابقة بأكملها.
| المفتاح المرشَّح | أفضل حالة استخدام | لماذا يعمل | أين يفشل |
|---|---|---|---|
| المرجع البنكي أو معرِّف المعاملة | كلا الملفَّين يحتفظان بمرجع فريد | أعلى دقة في المطابقة فرداً لفرد | أحد الجانبَين قد يحذف المرجع كلياً |
| المبلغ بإشارة + تاريخ المعاملة | كلا الملفَّين يشتركان في الأساس الزمني ذاته | جيد للمقارنات البسيطة على حساب واحد | الصفوف ذات المبلغ المتكرر تُنشئ تكرارات |
| المبلغ بإشارة + تاريخ التسوية | كلا الملفَّين تصديران نقديَّان | أفضل لمقارنات المدفوعات والمقاصة البنكية | يفشل إن كان أحد الملفَّين يعتمد توقيت الشراء |
| جزء من المرجع + المبلغ | أحد الملفَّين يُقلِّص المرجع الكامل | مفيد حين يحتفظ البنك بمعرِّفات جزئية | ضعيف إن تكرَّرت الأوصاف |
| الوصف + المبلغ | مراجعة نهائية للفائض | يساعد على حسم مجموعات صغيرة من الاستثناءات | خطر كمفتاح للمطابقة الأولى |
استخدم المفتاح بطبقات:
- طابِق بالمرجع إن كان الملفَّان يحويان عمود مرجع صالحاً.
- إن لم يكن، طابِق بالمبلغ الموحَّد بإشارة مضافاً إليه الأساس الزمني الصحيح.
- استخدم الوصف فقط لمراجعة الفائض، لا لإدارة المقارنة كلها.
هذا الترتيب مهم لأن البيانات البنكية تحتوي تكرارات باستمرار. شراءان بالبطاقة بـ19.99 في اليوم ذاته أمر شائع. كنس تحويل يومي يمكن أن يُكرِّر المبلغ ذاته مرات عديدة. إن بدأت بالمبلغ مضافاً إليه الوصف لأن العناوين تبدو مألوفة، قد يُعطيك Excel شعوراً زائفاً بالاكتمال بينما الصف الحقيقي غير المُطابَق يبقى مدفوناً.
هنا أيضاً تتوقف فروق العناوين عن الأهمية. بمجرد تعيين Value Date وPosting Date للدور ذاته، وتوحيد Debit وAmount على قاعدة الإشارة ذاتها، لا تتعلق المقارنة بعد الآن بالكلمات في الصف الأول. تتعلق بمدى توافق منطق المعاملات الأساسي.
راجع الفائض حسب نوع الاستثناء
النتيجة لا ينبغي أن تكون قائمة طويلة واحدة من الصفوف غير المطابَقة. ينبغي أن تُصنِّف الفائض في فئات تُخبرك بما تفعله بعد ذلك.
| نوع الاستثناء | ما يعنيه عادةً | ما الذي يجب فحصه تالياً |
|---|---|---|
| المبلغ ذاته، تاريخ مختلف | فارق في التوقيت بين المعاملة والتسوية | قارن Txn Date بـValue Date أو Posted Date |
| الوصف ذاته، إشارة مبلغ مختلفة | تعارض في قاعدة الخصم والإيداع | راجع قاعدة تحويل المبالغ |
| المبلغ ذاته، مرشَّحون متعددون | معاملات مكرَّرة أو مفتاح مطابقة ضعيف | استعِن بالمرجع أو التسلسل أو سياق الرصيد المجاور |
| موجود في الملف A فقط | صف مفقود في الملف B أو نطاق تصفية مختلف | تحقَّق من فترة الكشف وأنواع المعاملات المُستثناة |
| موجود في الملف B فقط | صف مفقود في الملف A أو إغفال عند الاستيراد | تحقَّق مما إذا كان أحد الملفَّين يُستثني البنود المعلَّقة أو المُعكوسة |
| النص يبدو متطابقاً لكن المطابقة تفشل | مسافات مخفية أو تعارض نص/رقم أو CHAR(160) | أعِد تشغيل TYPE() ومعادلات التنظيف |
هذا التصنيف هو ما يجعل إنهاء العمل ممكناً. بدونه تبدو كل سطر غير مُطابَق مشبوهاً بالقدر ذاته، وتنتهي بفحص جميعها يدوياً.
إن كان هدفك الحقيقي تجنُّب بناء المعادلات كلياً، فـمقارنة ملفَّي CSV للكشف البنكي بدون معادلات يُغطّي مسار «الملف أولاً». لكن حتى في سير عمل بدون معادلات، المنطق ذاته ينطبق: حدِّد أدوار الحقول، وحِّد أساس التاريخ، وحِّد قاعدة الإشارة، ثم راجع الاستثناءات المتبقية فقط.
حين تتوقف إعادة تسمية الأعمدة عن كونها المشكلة الحقيقية
في المرة الأولى، تشعر أن أسماء الأعمدة المختلفة هي المشكلة كلها. بحلول الدورة الثالثة أو الرابعة، لم تعد كذلك. التكلفة الحقيقية هي إعادة بناء خريطة الأدوار ذاتها، وتنظيف التواريخ، وتحويل الإشارات، ومراجعة الاستثناءات كل شهر على تصديرات تختلف قليلاً.
عند هذه النقطة يتوقف العمل عن كونه تحليلاً ويصبح معالجة ملفات. لست تقرر ما تعنيه المعاملات. أنت تُعيد بناء هيكل المقارنة من الصفر لأن أحد الملفات يقول Txn Date والتالي يقول Posting Date وآخر يُفصل الإيداعات والخصومات في حقول منفصلة.
