excel ربط - تحقق مما إذا كانت الخلية تحتوي على سلسلة فرعية





الخلايا باستخدام (8)


حاول استخدام هذا:

=ISNUMBER(SEARCH("Some Text", A3))

سيؤدي ذلك إلى إرجاع TRUE إذا TRUE الخلية A3 على Some Text .

هل هناك وظيفة مدمجة للتحقق مما إذا كانت الخلية تحتوي على حرف / سلسلة فرعية معينة؟

وهذا يعني أنه يمكنك تطبيق وظائف نصية مثل Left / Right / Mid على أساس مشروط دون رمي الأخطاء عند غياب تعيين الأحرف.




هذه هي الصيغة التي أستخدمها

=IF( ISNUMBER(FIND(".",A1)), LEN(A1) - FIND(".",A1), 0 )




تحدد الصيغة التالية ما إذا كان النص "CHECK" يظهر في الخلية C10. إذا لم يكن كذلك ، تكون النتيجة فارغة. إذا حدث ذلك ، فستكون النتيجة "CHECK".

=IF(ISERROR(FIND("CHECK",C10,1)),"","CHECK")



تحقق من وظيفة FIND() في Excel.

بناء الجملة:

FIND( substring, string, [start_position])

إرجاع #VALUE! إذا لم تجد سلسلة فرعية.




هذا سؤال قديم ولكن الحل لأولئك الذين يستخدمون Excel 2016 أو الأحدث هو أنه يمكنك إزالة الحاجة إلى الهياكل المتداخلة باستخدام IFS( condition1, return1 [,condition2, return2] ...) الشرطي الجديد.

قمت بتهيئته لجعله أكثر وضوحًا بصريًا حول كيفية استخدامه لحالة هذا السؤال:

=IFS(
ISERROR(SEARCH("String1",A1))=FALSE,"Something1",
ISERROR(SEARCH("String2",A1))=FALSE,"Something2",
ISERROR(SEARCH("String3",A1))=FALSE,"Something3"
)

بما أن SEARCH بإرجاع خطأ إذا لم يتم العثور على سلسلة ملفوفة بعلامة ISERROR(...)=FALSE للبحث عن الحقيقة ثم إرجاع القيمة المطلوبة. سيكون أمراً رائعاً إذا قام SEARCH بإرجاع 0 بدلاً من خطأ للقراءة ، ولكن thats فقط كيف يعمل للأسف.

ملاحظة أخرى ذات أهمية هي أن IFS سيعود المباراة التي يجدها أولاً ، وبالتالي أمر مهم. على سبيل المثال ، إذا كانت السلاسل الخاصة بي هي Surf, Surfing, Surfs كـ String1,String2,String3 أعلاه ، وكانت سلسلة الخانات الخاصة بي هي Surfing ، فسوف تتطابق مع العبارة الأولى بدلاً من الثانية نظرًا لأن السلسلة الفرعية هي Surf . وبالتالي يجب أن تكون القواسم المشتركة الأخيرة في القائمة. سيحتاج IFS إلى طلب Surfing, Surfs, Surf للعمل بشكل صحيح (تبديل Surfing & Surfs سيعمل أيضا في هذا المثال البسيط) ، لكن Surf سيحتاج أن يكون الأخير.




تبدو هذه الصيغة أكثر بديهية بالنسبة لي:

=SUBSTITUTE(A1,"SomeText","") <> A1

هذا إرجاع TRUE إذا ورد "SomeText" داخل A1.

إن صيغ ISNumber / Search و IsError / Find المذكورة في الإجابات الأخرى تعمل بالتأكيد ، لكنني دائمًا أجد نفسي بحاجة إلى النظر في المساعدة أو التجريب في Excel كثيرًا مع تلك.




لأولئك الذين يرغبون في القيام بذلك باستخدام وظيفة واحدة داخل بيان IF ، وأنا استخدم

=IF(COUNTIF(A1,"*TEXT*"),TrueValue,FalseValue)

لمعرفة ما إذا كان TEXT الفرعي في الخلية A1

[ملاحظة: يجب أن تحتوي علامة TEXT على العلامات النجمية حولها]




إذا قمت بتغيير مرجع الخلية لاستخدام التدوين R1C1 (أدوات | خيارات، علامة التبويب عام)، ثم يمكنك استخدام تدوين بسيط ولصقه في أي خلية.

الآن الصيغة الخاصة بك ببساطة:

=RC[-1]




excel excel-formula