لمقارنة عمودين صفًا بصف، اكتب =B2=C2 بجانب الصف الأول وانسخها إلى الأسفل: تعني TRUE أن الخليتين متطابقتان، وتعني FALSE أنهما مختلفتان. ولإيجاد قيم عمود تظهر في أي مكان في عمود آخر، بأي ترتيب، استخدم =COUNTIF($B$2:$B$8,A2)>0 بدلًا من ذلك.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Product | Old | New | Same? | Status |
| 2 | Apple | $1.20 | $1.20 | TRUE | Same |
| 3 | Pear | $1.50 | $1.60 | FALSE | Changed |
| 4 | Carrot | $0.80 | $0.80 | TRUE | Same |
| 5 | Bread | $2.40 | $2.20 | FALSE | Changed |
| 6 | Milk | $1.10 | $1.10 | TRUE | Same |
| 7 | Cheese | $4.50 | $4.90 | FALSE | Changed |
قيم D3 وD5 وD7 هي FALSE، وتلوّن قاعدة التنسيق الشرطي =$B2<>$C2 هذه الصفوف الثلاثة. ويعرض العمود E الاختبار نفسه بكلمات بدلًا من TRUE وFALSE. غيّر C3 إلى 1.5 فيصبح الصف 3 بالحالة Same.
مقارنة عمودين بالدالة IF
تعيد =B2=C2 القيمة TRUE أو FALSE. ضعها داخل IF لاختيار الكلمات: =IF(B2=C2,"Same","Changed")، كما في العمود E أعلاه. ولترك الصفوف المتطابقة فارغة وتمييز الاختلافات فقط، استخدم =IF(B2<>C2,"Changed",""). ولعرض مقدار تغير رقم، اطرح بدلًا من المقارنة: =C2-B2.
لعدّ الاختلافات دون عمود مساعد، قارن النطاقين داخل SUMPRODUCT: تعيد =SUMPRODUCT(--(B2:B7<>C2:C7)) القيمة 3 للورقة السابقة.
وبدون صيغة: حدد B2:C7 مع B2 كخلية نشطة، واذهب إلى الصفحة الرئيسية > بحث وتحديد > انتقال إلى خاص، واختر اختلافات الصفوف واضغط موافق (على Windows، يفعل Ctrl+\ الشيء نفسه). يحدد الاكسل C3 وC5 وC7، وهي الخلايا التي تختلف عن العمود B في صفها؛ أعطها لون تعبئة لتمييزها.
مقارنة حساسة لحالة الأحرف بالدالة EXACT
تتجاهل المقارنة بالرمز = الأحرف الكبيرة والصغيرة: ab12 تساوي AB12. وعندما تهم حالة الأحرف (رموز المنتجات، وكلمات المرور، والمعرّفات)، استخدم EXACT(A2,B2)، التي تكون TRUE فقط عندما يكون النصان متطابقين حرفًا بحرف.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Code | Entered | Equal? | EXACT |
| 2 | AB12 | AB12 | TRUE | TRUE |
| 3 | CD34 | cd34 | TRUE | FALSE |
| 4 | EF56 | EF56 | TRUE | TRUE |
| 5 | GH78 | Gh78 | TRUE | FALSE |
يقول العمود C، أي المقارنة بالرمز =، إن الأربعة متطابقة. وتقول EXACT إن الصفين 3 و5 مختلفان، لأن cd34 وGh78 تستخدمان أحرفًا صغيرة.
إيجاد القيم في عمود المفقودة من الآخر
عندما لا تكون القائمتان بالترتيب نفسه، قارن كل قيمة بالعمود الآخر كله. تعدّ COUNTIF($B$2:$B$8,A2) مرات ظهور A2 في B2:B8، فيعني >0 "موجود" ويعني =0 "مفقود". وتُبقي علامات $ النطاق الذي يُبحث فيه ثابتًا عند نسخ الصيغة إلى الأسفل.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | January | February | In February? | With MATCH |
| 2 | Ana | Dan | TRUE | TRUE |
| 3 | Ben | Fay | TRUE | TRUE |
| 4 | Cara | Ana | FALSE | FALSE |
| 5 | Dan | Gus | TRUE | TRUE |
| 6 | Eve | Hal | FALSE | FALSE |
| 7 | Fay | Ivy | TRUE | TRUE |
| 8 | Gus | Ben | TRUE | TRUE |
قيمتا Cara وEve هما FALSE: اشتريا في يناير لا في فبراير. وتعطي MATCH الجواب نفسه بطريق آخر: تعيد MATCH(A2,$B$2:$B$8,0) موضع A2 في العمود B، أو #N/A عندما لا تكون هناك، وتحوّل ISNUMBER ذلك إلى TRUE أو FALSE. وللتحقق في الاتجاه الآخر (العملاء الجدد في فبراير)، ضع الصيغة نفسها بجانب العمود B مع تبديل النطاقين: =COUNTIF($A$2:$A$8,B2)>0.
مقارنة قائمتين وإرجاع قيمة مطابقة
غالبًا لا يكون السؤال "هل هي موجودة" فقط، بل "هل تطابق القيمة التي بجانبها". هنا تُقارن الفواتير بقائمة مدفوعات بترتيب آخر: تجد XLOOKUP كل فاتورة في المدفوعات، وتعيد ما دُفع، ويقارنه العمود D بمبلغ الفاتورة.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Invoice | Amount | Paid | Match? | Payment for | Paid | |
| 2 | INV-101 | 120 | 120 | TRUE | INV-103 | 240 | |
| 3 | INV-102 | 85 | Not paid | FALSE | INV-101 | 120 | |
| 4 | INV-103 | 240 | 240 | TRUE | INV-105 | 140 | |
| 5 | INV-104 | 60 | 60 | TRUE | INV-106 | 95 | |
| 6 | INV-105 | 150 | 140 | FALSE | INV-104 | 60 | |
| 7 | INV-106 | 95 | 95 | TRUE |
ليس للفاتورة INV-102 دفعة، فتقول C3 النص Not paid. ودُفع للفاتورة INV-105 مبلغ 140 بدلًا من 150، فتكون D6 بالقيمة FALSE أيضًا. ويستبدل الوسيط الأخير في XLOOKUP، "Not paid"، الخطأ #N/A الذي كانت ستعطيه القيمة المفقودة. وتحتاج XLOOKUP إلى Excel 2021 أو Microsoft 365؛ وفي Excel 2019 استخدم =IFERROR(VLOOKUP(A2,$F$2:$G$6,2,FALSE),"Not paid"). وفي صفحة XLOOKUP بقية الوسائط.
عرض القيم المفقودة من العمود الآخر
بدلًا من عمود TRUE/FALSE، تستطيع FILTER إرجاع القيم المفقودة كقائمة. تعدّ COUNTIF(B2:B8,A2:A8)، مع نطاق كوسيط ثانٍ، كل قيم A دفعة واحدة، وتُبقي FILTER القيم التي عددها 0.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | January | February | Not in February | |
| 2 | Ana | Dan | ||
| 3 | Ben | Fay | ||
| 4 | Cara | Ana | ||
| 5 | Dan | Gus | ||
| 6 | Eve | Hal | ||
| 7 | Fay | Ivy | ||
| 8 | Gus | Ben |
دورك: في D2، اعرض عملاء يناير غير الموجودين في قائمة فبراير.
تمتد الإجابة بالاسمين Cara وEve. وتعمل =FILTER(A2:A8,ISNA(MATCH(A2:A8,B2:B8,0))) أيضًا. وإذا عاد كل العملاء، تعيد FILTER الخطأ #CALC!؛ أضف وسيطًا ثالثًا لهذه الحالة: =FILTER(A2:A8,COUNTIF(B2:B8,A2:A8)=0,"None"). وتحتاج FILTER إلى Excel 2021 أو Microsoft 365. راجع FILTER لمزيد من الشروط.
تمييز الاختلافات بين عمودين
تعمل الصيغ السابقة كقواعد تنسيق شرطي أيضًا. حدد القائمة الأولى، واذهب إلى الصفحة الرئيسية > التنسيق الشرطي > قاعدة جديدة > استخدام صيغة لتحديد الخلايا التي سيتم تنسيقها، وأدخل الصيغة لأول خلية فيها. هنا تحصل A2:A8 على =COUNTIF($B$2:$B$8,A2)=0 وتحصل B2:B8 على =COUNTIF($A$2:$A$8,B2)=0: كل اسم موجود في قائمة واحدة فقط يُلوَّن.
| A | B | |
|---|---|---|
| 1 | January | February |
| 2 | Ana | Dan |
| 3 | Ben | Fay |
| 4 | Cara | Ana |
| 5 | Dan | Gus |
| 6 | Eve | Hal |
| 7 | Fay | Ivy |
| 8 | Gus | Ben |
تُلوَّن Cara وEve في يناير، وHal وIvy في فبراير. ولعمودين يجب أن يتطابقا صفًا بصف، تكون القاعدة =$A2<>$B2 على العمودين، كما في الورقة الأولى في هذه الصفحة. ولتلوين الأسماء الموجودة في القائمتين بدلًا من ذلك، استخدم >0، كما في صفحة تمييز التكرارات.
لماذا تظهر قيم متطابقة كمختلفة
السبب الأشيع مسافة لا تراها: Ana مع مسافة في آخرها لا تساوي Ana. والبيانات الملصوقة من نظام آخر أو صفحة ويب تحملها غالبًا. قارن القيم بعد تنظيفها بدلًا من ذلك.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Name | Other list | Equal? | Trimmed |
| 2 | Ana | Ana | FALSE | TRUE |
| 3 | Ben | Ben | TRUE | TRUE |
| 4 | Cara | Cara | FALSE | TRUE |
| 5 | Dan | Dan | TRUE | TRUE |
يقول العمود C إن الصفين 2 و4 مختلفان؛ ويقول العمود D، بعد أن تحذف TRIM المسافات في الطرفين، إن الأربعة متطابقة. والسبب المعتاد الآخر رقم مخزن كنص في عمود ورقم حقيقي في الآخر: يبدو 101 و'101 متشابهين، لكن مقارنة الاكسل بالرمز = تعيد FALSE، ولا تجد MATCH وVLOOKUP وXLOOKUP أحدهما في الآخر. وCOUNTIF هي الاستثناء: تقرأ النص الذي يبدو كرقم على أنه ذلك الرقم، فتعدّهما متساويين. ويميّز المثلث الأخضر في زاوية الخلية النسخة النصية؛ حوّلها بالصيغة =VALUE(A2) أو =A2*1، أو حدد الخلايا واختر تحويل إلى رقم من أيقونة التحذير.
الأسئلة الشائعة
كيف أقارن عمودين في الاكسل لإيجاد التطابقات؟
صفًا بصف: اكتب =A2=B2 في C2 وانسخها إلى الأسفل؛ تعني TRUE أن الخليتين متطابقتان. وللتحقق من ظهور كل قيمة من A في أي مكان في B، استخدم =COUNTIF($B$2:$B$8,A2)>0.
كيف أقارن عمودين وأعيد قيمة من الثاني؟
ابحث عن القيمة: تعيد =XLOOKUP(A2,$F$2:$F$7,$G$2:$G$7,"Not found") القيمة المطابقة من G، أو Not found. وفي Excel 2019 وما قبله استخدم =IFERROR(VLOOKUP(A2,$F$2:$G$7,2,FALSE),"Not found").
هل تميّز مقارنة خليتين في الاكسل حالة الأحرف؟
لا. تعامل =A2=B2 القيمتين abc وABC كمتساويتين. وللمقارنة الحساسة لحالة الأحرف استخدم =EXACT(A2,B2)، التي تكون TRUE فقط عندما يتطابق كل حرف، بما في ذلك حالته.
كيف أعرض القيم الموجودة في عمود وغير الموجودة في الآخر؟
في Excel 365 و2021، تمتد =FILTER(A2:A8,COUNTIF(B2:B8,A2:A8)=0) بكل قيمة من A2:A8 لا تظهر في B2:B8.
لماذا يقول الاكسل إن قيمتين متطابقتين مختلفتان؟
عادة تحتوي إحداهما على مسافة زائدة أو تكون رقمًا مخزنًا كنص. قارن =TRIM(A2)=TRIM(B2) لاستبعاد المسافات، وحوّل الأرقام النصية بالصيغة =VALUE(A2) أو =A2*1.