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

يقدّم هذا البرنامج التعليمي عدة طرق عملية لمقارنة الأعداد بدقة عشرية معيّنة في Excel:
- مقارنة الأجزاء العشرية باستخدام دالتي IF وFLOOR
- مقارنة الأجزاء العشرية باستخدام ماكرو VBA
- استخراج الأجزاء العشرية باستخدام استخراج النص
مقارنة الأجزاء العشرية باستخدام دالتي IF وFLOOR
إذا كنت تبحث عن طريقة سريعة ومباشرة لمقارنة عددين بدقة عشرية محددة، يمكنك استخدام صيغة Excel التالية التي تتحقّق مما إذا كانت القيمتان متساويتين بعد اقتطاع (التقريب لأسفل) كلٍّ منهما إلى منزلتين عشريتين:
=IF((FLOOR(A1,0.01)-FLOOR(B1,0.01))=0,1,-1) تعمل هذه الصيغة عن طريق اقتطاع القيمتين الموجودتين في الخليتين A1 وB1 إلى منزلتين عشريتين، ثم مقارنة النتيجتين.
- تُرجع1 إذا كانت القيمتان متماثلتين عند اقتطاعهما إلى منزلتين عشريتين.
- تُرجع-1 إذا اختلفتا.
![]() | ![]() | ![]() |
ملاحظة:في هذه الصيغة، يمثّلA1 وB1 العددين المطلوب مقارنتهما. ويشير المعامل0.01 إلى أن Excel سيقارن القيمتين بدقة تصل إلى منزلتين عشريتين. يمكنك تعديل هذه القيمة — على سبيل المثال إلى0.001 أو0.1 — إذا كنت بحاجة إلى دقة أعلى أو أقل في الأماكن العشرية.
تلميح:إذا كنت تفضل تقريب الأعداد بدلًا من اقتطاعها، فاستخدم هذه الصيغة بدلاً من ذلك:
=IF((ROUND(A1,2)-ROUND(B1,2))=0,1,-1) في الصيغة، يشير2 إلى عدد المنازل العشرية المطلوبة للمقارنة. استبدله بقيمة أخرى تناسب احتياجات بياناتك.
المزايا:هذه الطريقة مثالية للاحتياجات الروتينية — سهلة، ديناميكية بالكامل، ولا تتطلب أي إضافات أو امتدادات. وهي خيارٌ مثالي خصوصًا للمستخدمين المتمرسين في الحلول القائمة على الصيغ والراغبين في تطبيق المقارنات بسرعة دون أي تأخير.
القيود:ضع في اعتبارك أن الصيغ المعتمدة على الحسابات ذات الفاصلة العائمة قد تُنتج أحيانًا نتائج غير متوقعة بسبب أخطاء التقريب، خاصةً عند التعامل مع قيم عشرية دقيقة جدًّا. لذا، تحقّق دائمًا يدويًّا من بعض القيم الناتجة للتأكد من أن المنطق يتماشى مع مجموعة بياناتك.
مقارنة الأجزاء العشرية باستخدام ماكرو VBA
يُعدّ أتمتة مقارنة الأجزاء العشرية عبر صفوف متعددة باستخدام ماكرو VBA حلاً فعّالًا للغاية، خاصةً عند التعامل مع مجموعات بيانات ضخمة أو عند الحاجة إلى تنفيذ عمليات دفعية دون تدخل يدوي. ويعمل هذا النهج القائم على VBA على استخراج الأجزاء العشرية ومقارنتها صفًا تلو الآخر، ثم يضع النتائج مباشرةً في ورقة العمل لمراجعتها بسرعة أو معالجتها لاحقًا.
السيناريوهات المناسبة:مثالي للمستخدمين المتمرسين في استخدام ماكرو Excel، أو الذين يُجرون مقارنات عشرية متكررة، أو يحتاجون إلى منطق مخصص وتقارير دقيقة بأقل قدر ممكن من الفوضى في ورقة العمل.
1. افتح Excel، ثم انتقل إلىالمطوّر > Visual Basic (إذا لم تكن علامة تبويب المطور ظاهرة، ففعّلها من خلال خيارات Excel). بعد ذلك، في نافذة VBA، انقر فوقإدراج > وحدة نمطية، ثم الصق الكود التالي في الوحدة النمطية الجديدة:
Sub CompareFlooredDecimals()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Dim valA As Double, valB As Double
Dim floorA As Double, floorB As Double
Dim resultCol As Long
Set ws = ActiveSheet
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
resultCol = 3 ' Output column (C)
For i = 1 To lastRow
valA = ws.Cells(i, 1).Value
valB = ws.Cells(i, 2).Value
floorA = Int(valA * 100) / 100
floorB = Int(valB * 100) / 100
If floorA = floorB Then
ws.Cells(i, resultCol).Value = 1
Else
ws.Cells(i, resultCol).Value = -1
End If
Next i
End Sub 2. انقر فوق زر
تشغيللتنفيذ الماكرو. ستظهر النتائج ("1" أو "-1") في العمود C لكل زوج من الأعداد المقابلة في العمودين A وB.
شرح المعلمات:يقارن هذا الماكرو الأجزاء العشرية للأعداد في العمودين 1 (A) و2 (B)، ويعرض النتائج في العمود 3 (C). تأكد من إدخال الأعداد التي تريد مقارنتها في العمودين A وB قبل تشغيل الماكرو. إذا رغبت في عرض النتائج في عمود مختلف، يمكنك تعديلresultCol = 3. يُوصى بشدة بعمل نسخة احتياطية من بياناتك قبل تشغيل ماكرو VBA، خاصةً عند التعامل مع مجموعات بيانات كبيرة أو مهمة.
نصائح:لضمان أداء قوي، راجع دائمًا أول بضع صفوف من النتائج وتحقق من وجود خلايا فارغة أو بيانات غير رقمية أو تنسيقات غير معتادة قد تؤثر على تنفيذ الماكرو. وإذا واجهت أخطاءً، فتأكد من أن نطاق البيانات صحيح وأن الأعمدة منسَّقة كأرقام.
المزايا:أتمتة كاملة، وقابلية تخصيص عالية، والتخلّص من المهام اليدوية المتكررة. مثالية للمستخدمين المتقدمين أو عند التعامل مع مئات بل آلاف الصفوف! وإذا اختلفت أطوال المنازل العشرية أو دقة التقريب، يمكنك بسهولة تعديل الكود لمقارنة عدد معيّن من الأماكن العشرية باستخدام دالةRound.
استخراج الأجزاء العشرية باستخدام استخراج النص
إذا رغبت فياستخراج أرقام معيّنة بعد الفاصلة العشريةبدلًا من مقارنة عددين مباشرةً، فإن ميزةاستخراج النصفيKutools لـ Excelتوفّر لك حلاً بسيطًا وفعالًا. فهي تتيح لك عزل عدد معيّن من المنازل العشرية بسرعة—وهو أمرٌ مفيدٌ جدًّا عند التعامل مع تنسيقات أرقام غير قياسية أو عند الحاجة إلى عرض الأجزاء العشرية أو تحليلها بشكل منفصل.
1. حدد العمودين اللذين يحتويان على الأعداد التي تريد استخراج أجزائها العشرية، ثم انتقل إلىKutools > نص > استخراج النص.

2. في مربع حواراستخراج النص، اكتب.?? في مربعنصلاستخراج رقمين بعد الفاصلة العشرية، ثم انقر فوقإضافةلإنشاء قاعدة الاستخراج. يمكنك تعديل النمط (على سبيل المثال،).??? لثلاثة أرقام) وفقًا لطول الجزء العشري المطلوب.
![]() | ![]() | ![]() |
3. تأكد من أن القاعدة التي أضفتها للتو هي الوحيدة المحددة ضمن قسماستخراج القائمة، ثم انقر فوقموافق.
4. اختر الخلية الابتدائية لنتائج الاستخراج، ثم انقر فوقموافقلإنهاء عملية الاستخراج.


تلميح:إذا رغبت في مقارنة الأجزاء العشرية المستخرَجة بعد استخداماستخراج النص، فأدخِل الصيغة التالية في خلية فارغة وانسخها لأسفل حسب الحاجة:
=IF((D1-E1)=0,1,-1) سيؤدي ذلك إلى عرض1 للأجزاء العشرية المتطابقة و-1 عندما تختلف.
![]() | ![]() | ![]() |
المزايا:مرنة في عزل أرقام عشرية معيّنة، ومثالية للاستخراج المخصص أو عند التعامل مع تنسيقات بيانات رقمية غير قياسية.
القيود:يتطلب تثبيت Kutools لـ Excel. الاستخراج عملية منفصلة وقد يستغرق إعدادها وقتًا أطول قليلاً للمستخدمين الجدد.
عرض توضيحي: كيفية مقارنة عددين بالجزء العشري فقط باستخدام Kutools لـ Excel
استكشاف الأخطاء والاقتراحات:عند استخدام أيٍّ من الحلول المذكورة أعلاه، تأكد دائمًا من أن تنسيقات أرقامك متسقة (أي أن تكون أرقامًا، وليس نصوصًا)، وتجنب مزج فواصل الآلاف أو الرموز داخل الأعمدة التي تُقارَن. خاصةً عند استخدام الصيغ أو VBA، قد تنجم النتائج غير المتوقعة عن التنسيقات المخفية أو الخلايا الفارغة — لذا احذف المسافات الزائدة وتأكد من أن نطاق البيانات يتوافق مع منطق الصيغ أو الماكرو. احفظ نسخة احتياطية من بياناتك قبل تطبيق VBA، وإذا واجهت أخطاءً في الصيغ (مثل)#VALUE!)، فتحقّق من أن قيم خلاياك رقمية وقم بتعديل المراجع حسب الحاجة.
مقالات ذات صلة
- كيف يمكن إزالة الأصفار البادئة قبل الفاصلة العشرية في Excel؟
- كيف يمكن تحويل الساعات أو الدقائق العشرية إلى تنسيق الوقت في Excel؟
- كيفية تحويل العدد العشري إلى عدد ثنائي/ثماني/سداسي عشري أو العكس في Excel؟
- كيفية إنشاء أرقام عشرية/صحيحة عشوائية في Excel؟
أفضل أدوات الإنتاجية لمكتبتك
عزِّز مهاراتك في Excel باستخدام Kutools لـ Excel، وعايش الكفاءة كما لم تفعل من قبل.يقدّم Kutools لـ Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية ووقت الحفظ.انقر هنا للحصول على الميزة التي تحتاجها أكثر من غيرها...
يجلب Office Tab واجهة ذات علامات تبويب إلى Office، ويجعل عملك أسهل بكثير
- تمكّن من التحرير والقراءة باستخدام علامات التبويب في Word وExcel وPowerPoint، وPublisher وAccess وVisio وProject.
- افتح وأنشئ مستندات متعددة في علامات تبويب جديدة داخل النافذة نفسها، بدلاً من فتح نوافذ جديدة.
- يزيد إنتاجيتك بنسبة 50% ويوفّر لك مئات نقرات الفأرة كل يوم!
جميع الإضافات من Kutools في برنامج تثبيت واحد!
Kutools for Office حزمةٌ تحتوي على إضافاتٍ مخصصة لتطبيقات Excel وWord وOutlook وPowerPoint، إلى جانب Office Tab Pro، مما يجعلها الخيار المثالي للفِرق التي تعمل عبر تطبيقات Office.
- حزمة شاملة واحدة— إضافات Excel وWord وOutlook وPowerPoint بالإضافة إلى Office Tab Pro
- برنامج تثبيت واحد، ترخيص واحد— الإعداد خلال دقائق (جاهز لـ MSI)
- يعمل بشكل أفضل معًا— إنتاجية ميسَّرة عبر تطبيقات Office
- تجربة مجانية لمدة 30 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
- أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل






