it-swarm.asia

تحقق من خلية لحرف معين أو مجموعة من الحروف

في جدول بيانات Google ، أريد استخدام صيغة ستُنتج نصًا أو رقمًا معينًا إذا كانت خلية معينة تحتوي على أحرف معينة.

على سبيل المثال ، إذا وضعت =IF(A1="Black";"YES";"NO") و A1 تساوي "Black" - فسيؤدي ذلك إلى إخراج "YES" بشكل صحيح. ومع ذلك عندما أضع =IF(A1="Bla";"YES";"NO") فإنه يخرج "لا". هل هناك أي صيغة يمكنني استخدامها أستطيع أن أقول شيئًا مثل =IF(A1 CONTAINS "Bla";"YES";"NO") ، لذلك يتم إخراج "نعم".

110
user1799724

يمكنك استخدام RegExMatch:

=IF(RegExMatch(A1;"Bla");"YES";"NO")
147
flyingjamus

بعض الخيارات بدون REGEXMATCH ، نظرًا لأنك قد ترغب في أن تكون غير متحفظ ولا تريد أن تقول blast أو ablative لتشغيل YES. باستخدام فاصلة كمحدد ، كما هو الحال في البروتوكول الاختياري ، وتجاهل في الوقت الحالي شرط IF:

الأول مشابه جدًا لإجابة @ user1598086:

=FIND("bla";A1)

حساس لحالة الأحرف ولكنه يعيد #VALUE! بدلاً من NO ورقم بدلاً من YES (يمكن تغيير كلاهما إلى NO/YES على التوالي).

=SEARCH("bla";A1)  

حالة غير حساسة ، لذلك يعامل Black و black على قدم المساواة. يعود على النحو الوارد أعلاه.

السابق (للمكافئ الأخير) للإشارة إلى ما إذا كان bla الحالي بعد الأحرف الثلاثة الأولى في A1:

=FIND("bla";A1;4)  

إرجاع رقم لـ blazer, black لكن #VALUE! لـ blazer, blue.

للعثور على Bla فقط عند وجود كلمة كاملة من تلقاء نفسها (أي بين المسافات - وليس في بداية أو نهاية "جملة"):

=SEARCH(" Bla ";A1) 

نظرًا لأن العائد في جميع الحالات أعلاه هو إما رقم ("موجود" ، لذلك YES المفضل) أو #VALUE! ، فيمكننا استخدام ISERROR لاختبار #VALUE! ضمن صيغة IF ، على سبيل المثال مع أخذ المثال الأول أعلاه:

 =if(iserror(FIND("bla";A1));"NO";"YES")  

أطول من regexmatch لكن المكونات قابلة للتعديل بسهولة.

63
pnuts

يمكنك استخدام الصيغة التالية ،

=IF(ISTEXT(REGEXEXTRACT(A1; "Bla")); "Yes";"No")
2
imbond