في جدول بيانات Google ، أريد استخدام صيغة ستُنتج نصًا أو رقمًا معينًا إذا كانت خلية معينة تحتوي على أحرف معينة.
على سبيل المثال ، إذا وضعت =IF(A1="Black";"YES";"NO")
و A1 تساوي "Black" - فسيؤدي ذلك إلى إخراج "YES" بشكل صحيح. ومع ذلك عندما أضع =IF(A1="Bla";"YES";"NO")
فإنه يخرج "لا". هل هناك أي صيغة يمكنني استخدامها أستطيع أن أقول شيئًا مثل =IF(A1 CONTAINS "Bla";"YES";"NO")
، لذلك يتم إخراج "نعم".
يمكنك استخدام RegExMatch
:
=IF(RegExMatch(A1;"Bla");"YES";"NO")
بعض الخيارات بدون 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
لكن المكونات قابلة للتعديل بسهولة.
يمكنك استخدام الصيغة التالية ،
=IF(ISTEXT(REGEXEXTRACT(A1; "Bla")); "Yes";"No")