قد يبدو ملفّا CSV لكشفي حساب بنكيين متقاربين بما يكفي لمقارنتهما في Excel. لكن هنا تحديداً يتفاقم التباين. ملفّ يخزّن المبالغ المدينة بقيم سالبة. والآخر يفصلها في عمودين منفصلين: مدين ودائن. ملفّ يعتمد تاريخ الترحيل. والآخر يعتمد تاريخ القيمة. وقبل أن تبدأ ببناء عمليات البحث، يكون الملفّان قد اختلفا أصلاً على معنى المعاملة الواحدة.

أأمن طريقة لمقارنة ملفّي CSV لكشفي حساب بنكي دون معادلات: تعامل مع كل ملفّ مُصدَّر كملفّ معاملات خام، وعيّن دوراً لكل عمود، وطابِق الصفوف بأقوى مفتاح مشترك، ثم راجِع الاستثناءات المتبقّية فقط.

اقرأ التباين قبل أن تلمس الملفّات

معظم حالات التباين الزائف تظهر قبل أن تبدأ أي مقارنة. الملفّان المُصدَّران يخزّنان المعاملة نفسها بطريقتين مختلفتين أصلاً.

استخدم هذا الجدول في الجولة الأولى.

ما تراه على الشاشةكيف يخزّنه الملفّ Aكيف يخزّنه الملفّ Bالنتيجة عند المطابقة
05/01/2026 و-125.40التاريخ نص 05/01/2026؛ المبلغ قيمة واحدة بإشارةالتاريخ رقم تسلسلي حقيقي؛ المبلغ 125.40 في عمود Debitتفشل المطابقة بسبب نوع التاريخ وقاعدة الإشارة معاً
1,250.00 في كلا الملفّينالمبلغ نص يحوي فاصلة وفاصلة عليا مخفية في البدايةالمبلغ رقم حقيقيتبدو القيمتان متطابقتين، لكن البحث في جدول البيانات يعاملهما معاملة مختلفة
TRANSFER TO SAVINGS يظهر مرتين بمبلغ 250.00صفّان منفصلان لهما التاريخ والمبلغ نفسهماصفّ يحمل مرجعاً بنكياً، والآخر لاالمطابقة بالتاريخ والمبلغ تنتج تكرارات محتملة
AMAZON مقابل AMAZON MKTPLACE PMTSأحد ملفّي البنك يبتر الوصفوالآخر يحتفظ باسم التاجر كاملاًالمطابقة بالوصف وحده تفشل، رغم أنه الدفعة نفسها
31/03/2026 في ملفّ و01/04/2026 في الآخرملفّ يعتمد تاريخ المعاملة أو تاريخ تنفيذهاوالآخر يعتمد تاريخ الترحيل أو السدادتظهر الحركة نفسها كفرق توقيت، لا كصفّ مفقود
Opening Balance موجود في ملفّ واحد فقطملفّ يضمّ صفوف رقابة الكشف داخل الـ CSVوالآخر يحوي معاملات فقطهذا السطر يجب ألّا يُطابَق كمعاملة إطلاقاً

إذا ظلّت خليتان تبدوان متطابقتين على نحو مريب بعد هذه الجولة الأولى، فاستخدم =TYPE(A2) كفحص سريع. 1 تعني أن Excel خزّنها رقماً. 2 تعني أنه خزّنها نصاً. وإذا ظلّ Excel يعيد #N/A على قيم تبدو متطابقة، فالسبب الكامن عادةً هو لماذا يعيد VLOOKUP الخطأ #N/A مع تنسيقات CSV غير المتوافقة.

اختر العمود الذي يستحق أن يكون مفتاح المطابقة

تصبح المقارنة كلها أسهل حين تتوقّف عن مطالبة كل عمود بالعمل نفسه. بعض الحقول صالحة للمطابقة. وبعضها مجرّد دليل مساند.

المفتاح المرشّحمتى تستخدمهأين يبرعأين يفشل
المرجع البنكي أو معرّف المعاملةيحتفظ الملفّان المُصدَّران بمرجع يولّده البنكأفضل مفتاح رئيسي لمطابقة حقيقية واحد لواحدكثير من ملفّات CSV يحذفه أو يعيد تسميته
تاريخ الترحيل + المبلغ مع الإشارةيستخدم الملفّان أساس التاريخ نفسه وقاعدة الإشارة نفسهايصلح لمقارنات نظيفة على الحساب نفسهيفشل مع فروق اليوم الواحد والصفوف المتكرّرة بالمبلغ نفسه
المبلغ + جزء من المرجعملفّ يبتر الأوصاف لكنه يبقي جزءاً من المرجعمفيد حين يكون المرجع البنكي جزئياً لكنه ثابتضعيف مع مدفوعات البطاقات والمدفوعات المتكرّرة لتاجر واحد
الوصف + المبلغالمرجع مفقود واسم التاجر ثابتمفتاح احتياطي جيد للمراجعةيفشل مع الاختصارات والبتر والمشتريات المكرّرة في اليوم نفسه
الرصيد الجاريتحتاج إلى دليل مساند بعد مطابقة محتملةيساعد على تأكيد ترتيب الصفوف حول معاملة متنازع عليهالا تجعله المفتاح الرئيسي أبداً: صفّ واحد مُدرَج يزيح كل ما بعده

المبلغ وحده ضعيف. عمليتا شراء بالبطاقة بقيمة 19.99 أمر شائع. والوصف وحده ضعيف أيضاً: بنك يصدّر UBER BV وآخر يكتب UBER *TRIP. الرصيد الجاري مفيد للسياق، لكنه ليس ثابتاً بما يكفي ليقود المطابقة كلها.

المقارنة النظيفة تتّبع عادةً تسلسلاً هرمياً:

  1. طابِق بالمرجع البنكي حين يحمله الملفّان.
  2. وعند غياب المرجع، ارجع إلى المبلغ مع الإشارة مضافاً إليه التاريخ.
  3. واترك الوصف لمراجعة ما تبقّى فقط، لا لقيادة الجولة الأولى.

عيّن الأعمدة بحسب الدور، لا بحسب اسم العنوان

كثيراً ما يصف ملفّا CSV بنكيان الحقل نفسه بعناوين مختلفة. الحلّ ليس إعادة تسمية كل عمود يدوياً. الحلّ أن تقرّر الدور الذي يؤدّيه كل عمود في المقارنة.

إليك تعييناً نموذجياً:

الدور في المقارنةعنوان الملفّ Aعنوان الملفّ Bالقاعدة
تاريخ المعاملةPosted DateValue Dateلا تعدّهما قابلين للمقارنة إلا بعد أن تعرف هل يستخدم البنكان أساس التاريخ نفسه
المبلغAmountDebit وCreditحوّلها إلى قاعدة مبلغ واحد بالإشارة، أو قارن المدين والدائن في جولتين منفصلتين
المرجعReferenceBank Refاستخدمه مفتاحاً رئيسياً إذا احتفظ به الطرفان
الوصفDescriptionNarrationيدعم المراجعة، لا يكون المفتاح الأول
الرصيدBalanceRunning Balanceاحتفظ به للتشخيص فقط
نوع المعاملةTypeDetailsمفيد لاستبعاد الرسوم أو القيود العكسية أو صفوف الرقابة

إذا استخدم أحد ملفّي CSV عمودي مدين ودائن منفصلين، فلا تُقحم ذلك الملفّ في مقارنة سيئة بعمود واحد بتقدير الإشارات بالعين. أمامك خياران: أداة مقارنة تتيح لك تعيين المدين سالباً والدائن موجباً، أو جولتان منفصلتان — مدين مقابل مدين، ثم دائن مقابل دائن. يبقى ذلك أنظف من دفن منطق الإشارة داخل أعمدة بحث لن يرغب أحد في تدقيقها لاحقاً.

ابنِ المقارنة على جولات، لا في مطابقة واحدة عملاقة

الجولة 1: ثبّت الملفّات الخام

أبقِ الملفّات المُصدَّرة الأصلية كما هي. لا تكتب فوقها، ولا ترتّبها في مكانها، ولا تحذف صفوفاً قبل أن تعرف معناها. فإذا تبيّن لاحقاً أن ملفّاً يحوي أسطر رصيد افتتاحي أو مدفوعات بطاقة معلّقة، فستحتاج النسخة السليمة لإثبات ذلك.

الجولة 2: استبعد الصفوف التي ليست معاملات حقيقية للمطابقة

قبل أن تطابق أي شيء، حدّد صفوفاً مثل:

  • الرصيد الافتتاحي
  • الرصيد الختامي
  • صفوف ملخّص الكشف
  • صفوف فاصلة فارغة
  • نص تذييل الملفّ المُصدَّر

هذه الأسطر تخصّ الرقابة على الفترة، لا مطابقة المعاملات. وإذا ضمّها ملفّ دون الآخر، فأنت تصنع فروقاً قبل أن يبدأ العمل.

الجولة 3: شغّل أقوى مفتاح أولاً

ابدأ بأكثر القواعد موثوقية مما هو متاح لك.

قاعدة الجولة الأولىأفضل حالة استخدامالنتيجة المتوقّعة
المرجع + المبلغالحساب نفسه مُصدَّر من نظامينتتطابق معظم الصفوف بنظافة وبمراجعة قليلة
المبلغ مع الإشارة + تاريخ الترحيلالمرجع مفقود لكن أساس التاريخ متوافقتغطية جيدة لملفّات البنك البسيطة
جولة مدين فقط أو دائن فقطملفّ يوزّع المبالغ على عمودينيمنع التباينات الزائفة في الإشارة

لا تُدخل الوصف في هذه الجولة الأولى إلا عند الضرورة. اسم التاجر يخلق تشويشاً مبكّراً ونادراً ما يحلّ شيئاً.

الجولة 4: راجِع ما تبقّى بحسب نوع الاستثناء

بعد الجولة الأولى، يجب أن يقع كل صفّ متبقٍّ في واحدة من فئات قليلة واضحة:

فئة الاستثناءماذا تعني عادةًالخطوة التالية
مفقود من الملفّ Aالمعاملة موجودة في الملفّ B فقطتحقّق من فلتر التاريخ أو فترة الكشف أو هل أسقط الملفّ A هذا النوع من المعاملات
مفقود من الملفّ Bالمعاملة موجودة في الملفّ A فقطتحقّق من اكتمال التصدير أو العناصر المعلّقة أو التكرارات
المبلغ نفسه، تاريخ مختلفتأخّر في الترحيل أو فرق في تاريخ القيمةصنّفه كفرق توقيت ما لم يخالف حقل آخر
التاريخ نفسه، المبلغ نفسه، مرشّحون متعدّدونمشكلة قيم مكرّرةاستعِن بالمرجع أو بسياق الرصيد أو بالتسلسل المجاور
الصفّ نفسه، إشارة مختلفةتعارض في قاعدة المدين/الدائنأعد صياغة قاعدة المبلغ قبل مواصلة البحث
النصّ نفسه، نوع قيمة مخزَّنة مختلفمشكلة نص مقابل رقموحّد نوع الحقل، ثم أعد تشغيل المقارنة

الجولة 5: استخدم الوصف فقط لحسم ما تبقّى من غموض

حين تتقلّص الاستثناءات إلى مجموعة صغيرة، يصبح الوصف مفيداً. عند هذه المرحلة لم تعد تمسح آلاف الأسطر. أنت تقرّر هل ATM WDL 004281 هو سحب النقد نفسه الموجود في ATM CASH 4281.

الوصف أداة مراجعة. ليس العمود الفقري للمقارنة.

عالِج الحالات الخاصة بكشوف الحسابات التي تتجاهلها أدلة CSV العامة

صفحات مقارنة CSV العامة تتوقّف عادةً عند «ارفع ملفّين وقارن». كشف الحساب البنكي يحتاج أكثر من ذلك.

تاريخ الترحيل مقابل تاريخ القيمة

لا تتّفق البنوك دائماً على التاريخ الذي يُدرَج في الملفّ المُصدَّر. دفعة بالبطاقة في وقت متأخّر من المساء قد تظهر قبل يوم في ملفّ وبعد يوم في آخر. هذه ليست معاملة مفقودة. إنها فرق توقيت. عاملها كفئة قائمة بذاتها.

عمودا مدين ودائن منفصلان

قد يخزّن ملفّ عمليات السحب في Debit والإيداعات في Credit، بينما يستخدم الآخر عمود Amount واحداً بالإشارة. وما لم توحّد هذه القاعدة أولاً، تصبح كل دفعة صادرة تبايناً زائفاً.

المعاملات المتكرّرة بالمبلغ نفسه

المقاهي ورسوم الاشتراكات وعمليات السحب النقدي وتحويلات تجميع الأرصدة تنتج تكرارات باستمرار. وإذا طابقت بالتاريخ والمبلغ وحدهما، فقد يبدو الصفّ الخطأ مطابَقاً بينما يبقى التباين الحقيقي مخفياً.

أسطر الرصيد وصفوف الملخّص

بعض الملفّات المُصدَّرة تضمّ أسطر رصيد افتتاحي أو رصيد ختامي أو إجماليات يومية داخل الـ CSV. هذه الصفوف مفيدة للرقابة، لكنها ليست معاملات مفردة، ويجب ألّا تنافس على مفتاح المطابقة أبداً.

نطاقات تواريخ مُرشَّحة

قد يغطّي أحد ملفّي CSV تواريخ الكشف بينما يغطّي الآخر تواريخ التنزيل. هكذا تنتهي بمقارنة من 1 مارس إلى 31 مارس في جهة مقابل من 2 مارس إلى 1 أبريل في الجهة الأخرى. الملفّان ليسا خطأ. نافذة الاستخراج هي المختلفة.

أوصاف مبتورة

قد يقطع ملفّ بنك اسم التاجر بعد 18 حرفاً. وقد يبقي آخر النصّ كاملاً. عامل الوصف كدليل مساند فقط، خصوصاً مع مدفوعات البطاقات.

عملية مقارنة الملفّات تصنّف هذه الحالات بوضوح. أما جدول بيانات ضخم مليء بدوال VLOOKUP فيخفيها عادةً داخل أعمدة مساعدة وفلاتر يدوية.

تكتمل المقارنة حين يستطيع الناتج الإجابة عن سؤال مالي حقيقي

ينبغي أن يكون ناتجك النهائي قادراً على إظهار:

قسم الناتجما الذي يجب أن يخبرك به
المعاملات المطابَقةأي الصفوف مؤكَّدة في كلا الملفّين
الصفوف المفقودةأي المعاملات موجودة في جهة واحدة فقط
فروق التوقيتأي الصفوف تتّفق في المبلغ لكنها تقع في تواريخ مختلفة
التكرارات المحتملةأي الصفوف ذات القيمة نفسها تحتاج مفتاحاً أقوى
الإجماليات الرقابيةهل المبالغ غير المطابَقة مفسَّرة أم لا تزال مفتوحة

إذا كانت هذه المقارنة تغذّي أعمال الإقفال الشهري، فالسؤال التالي عادةً لم يعد عن الـ CSV. بل عن سبب استمرار اختلاف جهة البنك عن الدفاتر بعد إتمام مطابقة الكشف. وهنا يصبح ماذا تفعل حين لا تتطابق دفاترك مع البنك في نهاية الشهر خطوة التشخيص التالية.

حين يكون التكرار الشهري هو الهدر الحقيقي

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

عند هذه النقطة لم يعد العمل تحليلياً. إنه مطابقة ملفّات متكرّرة، ومراجعة استثناءات متكرّرة، وتنظيف تقارير متكرّر.