اكسل

عد الخلايا التي تحتوي على نص معين

Count Cells That Contain Specific Text

صيغة Excel: عد الخلايا التي تحتوي على نص معينصيغة عامة
= COUNTIF (range,'*txt*')
ملخص

لحساب عدد الخلايا التي تحتوي على نص معين ، يمكنك استخدام دالة COUNTIF مع البدل . في المثال الموضح ، الصيغة في E5 هي:



 
= COUNTIF (B5:B15,'*a*')
تفسير

تحسب الدالة COUNTIF الخلايا الموجودة في نطاق يفي بالمعايير. على سبيل المثال ، لحساب عدد الخلايا في النطاق الذي يحتوي على 'أ' ، يمكنك استخدام:

كيف تجد أعلى رقم في Excel
 
= COUNTIF (range,'a') // exact match

ومع ذلك ، لاحظ أن هذه مطابقة تامة. لكي يتم حسابها ، يجب أن تحتوي الخلية على 'أ' بالضبط. إذا كانت الخلية تحتوي على أي أحرف أخرى ، فلن يتم حسابها.





بالنسبة للمشكلة الموضحة ، نريد حساب الخلايا التي يحتوي نص معين ، مما يعني أن النص يمكن أن يكون في أي مكان في الخلية. للقيام بذلك ، نحتاج إلى استخدام حرف العلامة النجمية (*) كملف البدل . على سبيل المثال ، لحساب عدد الخلايا التي تحتوي على الحرف 'أ' في أي مكان نستخدمه:

 
= COUNTIF (range,'*a*')

تعني علامة النجمة في الصيغة 'تطابق أي عدد من الأحرف ، بما في ذلك الصفر' ، لذلك سيحسب هذا النمط أي خلية تحتوي على 'أ' في أي موضع ، مع أو بدون أحرف أخرى إلى اليسار أو اليمين. كل الصيغ المستخدمة في المثال تتبع نفس النمط:



 
= COUNTIF (B5:B15,'*a*') // contains 'a' = COUNTIF (B5:B15,'*2*') // contains '2' = COUNTIF (B5:B15,'*-S*') // contains '-s' = COUNTIF (B5:B15,'*x*') // contains 'x'

ملاحظة: COUNTIF ليست حساسة لحالة الأحرف.

مع مرجع خلية

يمكنك بسهولة ضبط هذه الصيغة لاستخدام محتويات خلية أخرى للمعايير. على سبيل المثال ، إذا احتوى A1 على النص الذي تريد مطابقته ، يمكنك استخدام:

كيفية وضع علامة التجزئة في Excel
 
= COUNTIF (range,'*'&A1&'*')

عد أرقامًا محددة

لن تعمل صيغة COUNTIF أعلاه إذا كنت تبحث عن رقم معين وتحتوي الخلايا على بيانات رقمية. هذا لأن حرف البدل يجعل COUNTIF يبحث تلقائيًا عن النص فقط (أي البحث عن '2' بدلاً من 2 فقط). نظرًا لأنه لن يتم العثور على قيمة نصية في أي رقم صحيح ، فإن الدالة COUNTIF سترجع صفرًا.

لحساب رقم معين في محتوى رقمي ، يمكنك استخدام صيغة مختلفة بناءً على وظيفة البحث و ال دالة ISNUMBER مثله:

 
= SUMPRODUCT (--( ISNUMBER ( SEARCH (text,range))))

في هذه الصيغة ، نص هو النص الذي تبحث عنه ، و نطاق هو نطاق الخلايا الذي تريد عده. عندما يحدد SEARCH تطابقًا ، فإنه سيعيد رقمًا ، والدالة ISNUMBER سيحول الرقم إلى قيمة TRUE أو FALSE . نظرًا لأننا نتحقق من أكثر من خلية واحدة ، فستكون النتيجة مجموعة مصفوفة أو قيم TRUE و FALSE. ال خطأ مزدوج يستخدم لتحويل قيم TRUE و FALSE إلى 1s و 0s ، و دالة SUMPRODUCT سيعيد مجموع المصفوفة كنتيجة نهائية.

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

نسخة حساسة لحالة الأحرف

بالنسبة لحساب حساس لحالة الأحرف ، يمكنك استخدام صيغة تستند إلى وظيفة البحث :

 
= SUMPRODUCT (--( ISNUMBER ( FIND (text,range))))

هنا ، يتم استخدام الدالة FIND بدلاً من SEARCH ، لأن FIND حساسة لحالة الأحرف. في نواحٍ أخرى ، تعمل الصيغة مثل صيغة ISNUMBER + FIND الموضحة أعلاه.

المؤلف ديف برونز


^