🔀 مقارنة القوائم
البحث عن العناصر الفريدة، المدخلات المشتركة، والاختلافات بين قائمتين
نتائج المقارنة
أدخل عناصر في كلتا القائمتين وانقر على "مقارنة القوائم" لرؤية النتائج
ما الذي تحصل عليه فعليًا من مقارنة واحدة
نقرة واحدة، أربع قوائم: تقوم مقارنة القوائم بفرز كل سطر من كلا الحقلين إلى فقط في A، وفقط في B، وفي كلتيهما، وكل العناصر الفريدة، ولكل منها عداد خاص وزر نسخ وزر تنزيل.
maria@shop.com
devon@shop.com
priya@shop.com
liu@shop.comliu@shop.com
maria@shop.comأدخل قائمتك الأولى في القائمة A والثانية في القائمة B، بحيث يكون كل سطر عنصرًا واحدًا، ثم انقر فوق مقارنة القوائم. تقرأ الأداة كلا الحقلين، وتطبق أي خيارات قمت بتفعيلها، وتبني أربع مجموعات نتائج منفصلة بدلاً من عرض واحد مدمج. تحتوي فقط في A على كل سطر من القائمة A لا تظهر قيمته في أي مكان من القائمة B. أما فقط في B فهي الصورة المعاكسة: أسطر من القائمة B لا تحتوي عليها القائمة A. تسرد في كلتيهما كل قيمة تشترك فيها القائمتان. أما كل العناصر الفريدة فهي اتحاد كل شيء، حيث تظهر كل قيمة مختلفة مرة واحدة بغض النظر عن القائمة التي أتت منها، أو عدد مرات ظهورها داخل قائمة واحدة.
| البطاقة | ما الذي يظهر فيها |
|---|---|
| فقط في A | موجود في القائمة A، غائب عن القائمة B |
| فقط في B | موجود في القائمة B، غائب عن القائمة A |
| في كلتيهما | موجود في القائمتين، يظهر مرة واحدة |
| كل العناصر الفريدة | كل قيمة مختلفة من أي من القائمتين، مجمّعة وبلا تكرار |
تعمل كل بطاقة من البطاقات الأربع بشكل مستقل. يتحدّث العداد في الترويسة فور إجراء المقارنة، وتعمل أزرار النسخ والتنزيل أسفل كل بطاقة على قائمة تلك البطاقة فقط، بحيث يمكنك استخراج المشتركين الذين غادروا فقط، أو المسجلين الجدد فقط، دون المساس بالنتائج الثلاث الأخرى. تصل الملفات المُنزَّلة كملفات نصية عادية تحمل اسم البطاقة، بعنصر واحد في كل سطر، جاهزة للصقها في مكان آخر أو إعادة رفعها كقائمة جديدة. تستحق الأعداد الظاهرة بجانب عنوان كل بطاقة المراقبة بحد ذاتها، حتى قبل التمرير لأسفل لقراءة الأسطر نفسها: فعدد كبير في فقط في A عند مقارنة قوائم مشتركين يخبرك من نظرة واحدة أن عددًا كبيرًا من الأشخاص قد انسحب، وعدد كبير في في كلتيهما عند مقارنة مخزون يخبرك أن النظامين متفقان في معظمهما، قبل أن تقرأ صفًا واحدًا.
لا شيء يغادر متصفحك. تعمل المقارنة بلغة JavaScript داخل الصفحة نفسها. أيًّا كان ما تلصقه، عناوين بريد العملاء، أو رموز المنتجات الداخلية، أو قوائم الموظفين، فإنه لا يُرفع أبدًا إلى أي مكان قبل ظهور النتائج.
حساس لحالة الأحرف يحدد ما إذا كانت Apple وapple نفس العنصر
خيار حساس لحالة الأحرف مُعطَّل افتراضيًا. وعند تعطيله، تندمج Apple وapple في إدخال واحد ضمن في كلتيهما. وعند تفعيل الخيار، تصبحان إدخالين منفصلين غير متطابقين، أحدهما في فقط في A والآخر في فقط في B.
Apple
Bananaapple
CHERRY| حساس لحالة الأحرف | فقط في A | فقط في B | في كلتيهما |
|---|---|---|---|
| مُعطَّل (الافتراضي) | Banana | CHERRY | Apple |
| مُفعَّل | Apple, Banana | apple, CHERRY | لا شيء |
عند تعطيل حساس لحالة الأحرف، تحوّل الأداة كل سطر إلى أحرف صغيرة قبل مقارنته، لذا فإن Apple وapple وAPPLE تُختزَل جميعها إلى نفس مفتاح المقارنة. يحدد هذا المفتاح العمود الذي يظهر فيه السطر، لكن النص الذي تراه فعليًا في النتائج ليس النسخة بالأحرف الصغيرة. إنه النص الأصلي الدقيق من القائمة التي كوّنت التطابق أولاً. في المثال أعلاه، تعرض في كلتيهما كلمة Apple بحرف A كبير، وهي إملاء القائمة A، رغم أن التطابق جاء من كلمة apple بالأحرف الصغيرة في القائمة B. إذا اختلفت قائمتاك في حالة الأحرف لقيم تعتبرها متطابقة، فإن الإملاء الباقي يفضّل دائمًا القائمة A.
فعّل حساس لحالة الأحرف وستُتخطَّى خطوة تحويل الأحرف الصغيرة بالكامل. تصبح كل مقارنة فحصًا صارمًا، حرفًا بحرف، لذا تصبح Apple وapple الآن قيمتين مختلفتين لن تلتقيا أبدًا معًا في في كلتيهما، بغض النظر عن عدد مرات تكرار أي منهما في أي من القائمتين.
هذا هو الخيار الأكثر احتمالًا لجعل نتائجك تبدو خاطئة. نادرًا ما تتفق البيانات المُصدَّرة من الأنظمة الحقيقية على حالة الأحرف. فقد يخزّن نظام إدارة علاقات العملاء john@example.com بينما يخزّن جدول بيانات John@Example.com. ومع تعطيل حساس لحالة الأحرف، وهو الوضع الافتراضي، يتطابق هذان العنوانان. وعند تفعيله، تحصل على مقارنة تُظهر بشكل غير متوقع لا شيء تقريبًا في في كلتيهما، وعادةً ما يكون هذا الخيار هو السبب.
ستقع Acme Inc وAcme Inc. في عمودين مختلفين
المطابقة هي مقارنة نصية دقيقة فقط. لا توجد مطابقة تقريبية، ولا تقييم للتشابه، ولا توحيد لعلامات الترقيم، لذا فإن نقطة واحدة في نهاية السطر كافية لإرسال سطرين متطابقين لولا ذلك إلى عمودين متعاكسين.
Acme IncAcme Inc.قارن هاتين القائمتين المكوّنتين من سطر واحد وستحصل على فقط في A: Acme Inc، وفقط في B: Acme Inc.، ولا شيء إطلاقًا في في كلتيهما. بالنسبة لشخص يقرأ القائمتين، من الواضح أنهما نفس الشركة. أما بالنسبة للمقارنة، فهما سلسلتان نصيتان مختلفتان، لأن إحداهما تنتهي بنقطة والأخرى لا تنتهي بها. يحدث الأمر نفسه مع Acme Incorporated مقابل Acme Inc، و123 Main St مقابل 123 Main Street، أو اسم يحتوي على الحرف الأول من الاسم الأوسط في جانب ولا يحتوي عليه في الجانب الآخر. لا شيء من هذا خلل برمجي. لا تحاول الأداة أبدًا تخمين أن قيمتين تعنيان على الأرجح الشيء نفسه؛ إنها تتحقق فقط مما إذا كانتا، حرفًا بحرف، الشيء نفسه.
يستحق هذا الأمر التوضيح بصراحة لأنه السبب الأكثر شيوعًا على الإطلاق الذي يجعل شخصًا ما يفترض أن الأداة ارتكبت خطأً. إذا ظهرت قيمة كنت تتوقع رؤيتها في في كلتيهما مقسّمة بدلاً من ذلك بين فقط في A وفقط في B، فإن السبب شبه المؤكد هو فرق نصي صغير بين النسختين، وليس خطأً في المقارنة. علامات ترقيم إضافية، أو اختصار مختلف، أو مسافة داخلية زائدة بين الكلمات، أو خطأ إملائي في أي من القائمتين، كلها ستنتج هذه النتيجة.
قبل المقارنة، وحِّد ما يمكنك توحيده. إذا كانت بياناتك المصدرية تستخدم تنسيقًا غير متسق، مثل بعض الصفوف التي تحمل Inc. وأخرى تحمل Inc، فابحث عن النسخة غير المتسقة واستبدلها في إحدى القائمتين قبل لصقها، أو مرّر القائمتين أولاً عبر أداة تنسيق. لا تحتوي المقارنة نفسها على أي إعداد يقوم بذلك نيابة عنك.
اسم مكرر ثلاث مرات في قائمة واحدة لا يزال يُحتسب مرة واحدة
التكرارات داخل قائمة واحدة لا تُضخّم النتيجة أبدًا. فقبل حدوث أي شيء آخر، تُختزَل كل قائمة إلى قيمها الفريدة، لذا فإن ظهور apple خمس مرات في القائمة A يُعامَل تمامًا مثل ظهورها مرة واحدة فقط.
apple
apple
bananaapple
cherryقارن هذا الزوج وستحتوي في كلتيهما على apple مرة واحدة بالضبط، لا مرتين، رغم أن القائمة A كانت تحتوي على نسختين منها. تحتوي فقط في A على banana فقط. وتحتوي فقط في B على cherry فقط. تحتوي كل العناصر الفريدة على القيم الثلاث المختلفة، apple وbanana وcherry، مرة واحدة لكل منها. تبني الأداة مجموعة فريدة من مفاتيح المقارنة من كل قائمة قبل أن تفحص إحدى القائمتين مقابل الأخرى، لذا تنهار الأسطر المكررة داخل قائمة واحدة إلى إدخال واحد قبل أي مقارنة. وهذا يعني أيضًا أن العدد الظاهر لـ فقط في A وفقط في B وفي كلتيهما وكل العناصر الفريدة يعكس دائمًا القيم المختلفة، لا عدد الأسطر الخام. إذا كنت بحاجة لمعرفة عدد مرات تكرار قيمة داخل قائمة واحدة بحد ذاتها، فلن تخبرك هذه الأداة بذلك؛ فهي تخبرك فقط بالقيم المختلفة الموجودة وأين تتداخل.
تفسّر قاعدة الانهيار نفسها ما يحدث عندما تُكتب قيمة بطريقتين مختلفتين مع تعطيل حساس لحالة الأحرف. إذا كانت القائمة A تحتوي على كل من APPLE وapple كسطرين منفصلين، فإنهما تنهاران إلى إدخال واحد داخل مجموعة القائمة A الخاصة بها قبل مقارنة القائمتين ببعضهما، ويكون الإملاء الباقي هو الذي يظهر أولاً في القائمة A، بالقراءة من الأعلى إلى الأسفل.
يجدر معرفة هذا إذا كنت تبحث عن تكرارات داخلية: تجيب هذه الأداة عن سؤال "ما الذي يختلف أو يتشارك بين قائمتين"، لا عن سؤال "ما الذي يتكرر داخل قائمة واحدة". للعثور على الإدخالات المتكررة داخل قائمة واحدة، استخدم بدلاً من ذلك أداة إزالة التكرارات المخصصة لذلك.
إزالة المسافات الزائدة وتجاهل السطور الفارغة خياران لا ضمانان
كلا الخيارين مُفعَّل افتراضيًا، لكن يمكن تعطيل أي منهما. عطّل إزالة المسافات الزائدة وستصبح مسافة زائدة في نهاية السطر جزءًا من المقارنة. عطّل تجاهل السطور الفارغة وستظهر الصفوف الفارغة في نتائجك كإدخالات فارغة.
apple
bananaapple
bananaمع تفعيل إزالة المسافات الزائدة، وهي الحالة الافتراضية، تُزال المسافات البادئة واللاحقة من كل سطر في القائمتين قبل حدوث أي مقارنة، لذا تُزال المسافات اللاحقة بعد apple في المثال أعلاه وتتطابق القائمتان بشكل نظيف: تنتهي في كلتيهما بـ apple وbanana، ولا شيء في أي من عمودي فقط. عطّل إزالة المسافات الزائدة وتصبح تلك المسافات اللاحقة جزءًا من هوية السطر. لم تعد apple متبوعة بمسافتين غير مرئيتين مساوية لـ apple بدونهما، لذا تنتقل إلى فقط في A بينما تنتقل apple النظيفة من القائمة B إلى فقط في B، وتُظهر مقارنة كان يجب أن تتطابق تمامًا اختلافين غير مفسَّرين بدلاً من ذلك.
يعمل تجاهل السطور الفارغة بشكل مستقل ويتم تشغيله بعد إزالة المسافات. عند تفعيله، وهي الحالة الافتراضية، يُحذف أي سطر ينتهي فارغًا، سواء بدأ فارغًا أو أصبح فارغًا بعد أن أزالت خطوة إزالة المسافات مسافات فقط، من قائمة العمل بالكامل قبل بدء المقارنة. عطّله وستُعامَل السطور الفارغة كقيمة حقيقية، سلسلة نصية فارغة، يمكنها حينها أن تتطابق مع سطور فارغة أخرى عبر قائمتيك وتظهر كإدخال في نتائجك دون أي شيء مرئي فيه. إذا رأيت في أي وقت ما يبدو صفًا فارغًا في فقط في A أو فقط في B أو في كلتيهما، فهذا الإعداد هو السبب.
بما أن إزالة المسافات تحدث قبل مرشح السطور الفارغة، فإن سطرًا لا يتكون إلا من مسافات أو علامات جدولة يصبح سلسلة نصية فارغة بعد إزالة المسافات، ويقوم تجاهل السطور الفارغة حينها بحذفه مع السطور الفارغة فعليًا. لكن عطّل إزالة المسافات الزائدة مع إبقاء تجاهل السطور الفارغة مُفعَّلاً، وسينجو ذلك السطر المكوَّن من مسافات فقط، لأنه ليس فارغًا تمامًا؛ إنه سلسلة من المسافات، ولا يُستبعَد إلا السلسلة الفارغة تمامًا.
اللصق من جدول بيانات أو ملف PDF هو المصدر المعتاد لهذه المشكلة. غالبًا ما تحمل الخلايا المنسوخة من Excel أو Google Sheets مسافة غير مرئية في النهاية، كما يمكن أن يحمل النص المنسوخ من جدول PDF مسافات بادئة أيضًا. إذا بدت النتيجة خاطئة ولم تستطع معرفة السبب، تحقق من تفعيل إزالة المسافات الزائدة قبل افتراض أن القائمتين مختلفتان فعليًا.
المقارنة البصرية تُصفّ الصفوف حسب الموضع، لا حسب التطابق
المقارنة البصرية عرض جنبًا إلى جنب، لا إعادة ترتيب. يقع الصف 1 من القائمة A دائمًا بجانب الصف 1 من القائمة B، والصف 2 بجانب الصف 2، وهكذا؛ ويُلوَّن كل سطر بحسب وجود قيمته في أي مكان من القائمة الأخرى، لا بحسب كون السطر المجاور له نفس القيمة فعليًا.
apple
apple
bananaapple
apple
bananaانقر على مقارنة بصرية بعد إجراء مقارنة، ليُفتح عرض بعمودين أسفل النتائج، عمود لكل قائمة، مع حد أيسر ملوَّن لكل صف: حد أحمر لسطر موجود فقط في القائمة A، وحد أخضر لسطر موجود فقط في القائمة B، ولا حد، فقط خلفية محايدة، لسطر توجد قيمته في القائمتين معًا. حتى هذا الحد، يتطابق الأمر مع البطاقات الأربع للنتائج. أما ما يختلف فيه مقارنة بصرية فهو ما يُحتسَب كصف واحد. تعمل البطاقات الأربع انطلاقًا من مجموعة القيم الفريدة وغير المكررة لكل قائمة، لذا لا يظهر السطر المكرر إلا مرة واحدة. أما مقارنة بصرية فتعمل انطلاقًا من القائمة الخام غير المُزالة التكرار، بالترتيب الدقيق الذي كتبتها أو لصقتها به، وهذا هو سبب بقاء سطري apple كليهما في العمود أعلاه. يُوسَم كلا الصفين بأنهما موجودان في القائمتين، رغم أن بطاقة في كلتيهما نفسها تسرد apple مرة واحدة فقط.
إقران الصفوف موضعي، وليس محاذاة محسوبة. يقع السطر الثالث من القائمة A بجانب السطر الثالث من القائمة B لمجرد أنهما يتشاركان رقم الصف، لا لأن الأداة قررت أنهما يتطابقان. إذا كانت القائمة A تحتوي على عشرة أسطر والقائمة B على سبعة، فإن الصفوف الثلاثة الأخيرة من العمود A تُقرَن بخلايا فارغة بدلاً من رفعها لمحاذاتها مع صف مطابق أسفل منها. هذا يجعل مقارنة بصرية أكثر فائدة لتحديد أين وكيف تتباعد القائمتان في ترتيبهما الخام، مثل التأكد من أن تصديرًا سطرًا بسطر لا يزال متطابقًا، بدلاً من عدّ عدد القيم المشتركة بدقة، وهو ما تخدمه بطاقة في كلتيهما.
تحتاج مقارنة بصرية أيضًا إلى مقارنة مكتملة قبل أن يكون لديها ما تعرضه. افتحها قبل النقر على مقارنة القوائم وستحصل على رسالة نائبة تطلب منك تشغيل المقارنة أولاً، بدلاً من مقارنة فارغة.
أربع مهام يحلها هذا المقارن فعليًا
التحقق من قائمة بريدية مقابل قائمة حظر
أدخل قائمة مشتركيك النشطين في القائمة A وقائمة إلغاء الاشتراك أو الارتداد في القائمة B. تمثل فقط في A بالضبط من يمكن مراسلتهم بأمان: المشتركون الذين لم يلغوا اشتراكهم ولم ترتد رسائلهم. أما في كلتيهما فهي قائمة مشاكلك، العناوين التي لا تزال في ملفك النشط لكن كان يجب إزالتها. يمنحك تنزيل فقط في A مباشرة قائمة إرسال نظيفة دون تعديل أي شيء يدويًا.
تسوية تصديرين لنفس البيانات
عندما يُفترَض أن تصدير نظام إدارة علاقات العملاء وتصدير نظام الفوترة يمثلان نفس مجموعة العملاء، ألصق كل واحد منهما في جانب. تؤكد في كلتيهما السجلات التي يتفق عليها النظامان. أما فقط في A وفقط في B فهما التباينات، عملاء يعرفهم نظام ولا يعرفهم الآخر، وهو عادةً بالضبط ما تحاول عملية التسوية كشفه.
مقارنة رموز المنتجات أو المخزون بين نظامين
غالبًا ما ينحرف نظام إدارة المستودعات ونظام نقاط البيع عن بعضهما بشأن رموز المنتجات الموجودة فعليًا. باستخدام القائمة A كتصدير للمستودع والقائمة B كتصدير لنقطة البيع، تتحول فقط في A إلى مخزون لا يعرف السجل كيفية بيعه، وتتحول فقط في B إلى رموز منتجات يمكن للسجل حسابها لكن لا يوجد لها سجل في المستودع، ويستحق كل منهما التحقيق بحد ذاته.
معرفة ما تغيّر بين نسختين من قائمة
ألصق النسخة القديمة من قائمة في القائمة A والنسخة الحالية في القائمة B. تمثل فقط في B كل ما أُضيف منذ النسخة القديمة. وتمثل فقط في A كل ما أُزيل. يعمل هذا جيدًا لتتبع التغييرات في سجل أسماء، أو كتالوج منتجات، أو أي قائمة تحافظ عليها عبر الزمن، مع قيد مهم واحد: لا تملك المقارنة أي مفهوم لسطر تم تعديله. إذا تغيّر نص إدخال واحد ولو قليلاً بين النسختين، لنقل أنه تم تصحيح اسم منتج أو تحديث مسمى وظيفي، فلن يظهر ذلك كصف واحد معدَّل. بل سيظهر كنتيجتين منفصلتين، النص القديم في فقط في A والنص الجديد في فقط في B، لأن الأداة تقارن النص الدقيق، لا هوية الصف.
احتفظ بمعرّف ثابت في الحسبان إن أمكن. عند مقارنة نسخ قوائم قد تُعدَّل فيها إدخالات فردية بدلاً من مجرد إضافتها أو إزالتها فقط، أدرج معرّفًا أو رمز منتج أو عنوان بريد إلكتروني كجزء من كل سطر إلى جانب النص المتغيّر. بهذه الطريقة يبقى الصف المعدَّل قابلاً للتعرف عليه كنفس العنصر مع تفصيل متغيّر بدلاً من تسجيله كإضافة وإزالة غير مرتبطتين.
الأسئلة الشائعة
🔒 خاص وآمن 100%
تتم جميع مقارنات القوائم محليًا في متصفحك-لا يتم رفع بياناتك أبدًا. آمن للاستخدام مع قوائم العملاء الحساسة، البيانات السرية، أو المعلومات الخاصة بالشركة.