تصف هذه المقالة بناء جملة صيغة الدالة SEARCH واستخدامها في Microsoft Excel.
الوصف
تحدد الدالة SEARCH موقع سلسلة نصية واحدة ضمن سلسلة نصية ثانية، وترجع رقم موضع البداية للسلسلة النصية الأولى من الحرف الأول من السلسلة النصية الثانية. فعلى سبيل المثال، للعثور على موضع الحرف "n" في كلمة "printer"، يمكنك استخدام الدالة التالية:
=SEARCH("n","printer")
تقوم هذه الدالة بإرجاع 4 لأن "n" هو الحرف الرابع في كلمة "printer".
كما يمكنك البحث عن كلمات داخل كلمات أخرى. فمثلاً تقوم الدالة:
=SEARCH("base","database")
بإرجاع 5، لأن كلمة "base" تبدأ عند الحرف الخامس من كلمة "database". يمكنك استخدام SEARCH لتحديد موقع حرف أو سلسلة نصية داخل سلسلة نصية أخرى، ثم استخدام MID لإرجاع النص، أو استخدام REPLACE لتغيير النص. وتم توضيح هذه الدالات في المثال 1 من هذا المقال.
بناء الجملة
SEARCH(find_text,within_text,[start_num])
تحتوي الدالة SEARCH على الوسيطات التالية:
- Find_text مطلوب. هو النص الذي تريد البحث عنه.
- Within_text مطلوب. النص الذي تريد البحث فيه عن قيمة الوسيطة find_text .
- Start_num الاختياري. رقم الحرف في الوسيطة within_text التي تريد بدء البحث فيها.
ملاحظة
- الدالة SEARCH ليست حساسة لحالة الأحرف. إذا كنت تريد إجراء بحث حساس لحالة الأحرف، يمكنك استخدام FIND.
- يمكنك استخدام أحرف البدل — علامة الاستفهام (?) والعلامة النجمية (*) — في الوسيطة find_text . تطابق علامة الاستفهام أي حرف مفرد؛ بينما تطابق العلامة النجمية أي مجموعة أحرف متتابعة. إذا كنت تريد العثور على علامة استفهام أو علامة نجمية فعلية، فاكتب tilde (~) قبل الحرف.
- إذا لم يتم العثور على قيمة find_text ، #VALUE! يتم إرجاع قيمة الخطأ.
- إذا تم حذف الوسيطة start_num ، فمن المفترض أن تكون 1.
- إذا لم يكن start_num أكبر من 0 (صفر) أو أكبر من طول الوسيطة within_text ، #VALUE! يتم إرجاع قيمة الخطأ.
- استخدم start_num لتخطي عدد محدد من الأحرف. افترض، مستخدمًا الدالة SEARCH كمثال، أنك تعمل بالسلسلة النصية "AYF0093.YoungMensApparel". للعثور على موضع "Y" الأول في الجزء الوصفي من السلسلة النصية، قم بتعيين start_num يساوي 8 بحيث لا يتم البحث في جزء الرقم التسلسلي من النص (في هذه الحالة، "AYF0093"). تبدأ الدالة SEARCH عملية البحث في موضع الحرف الثامن، وتعثر على الحرف المحدد في الوسيطة find_text في الموضع التالي، وترجع الرقم 9. ترجع الدالة SEARCH دائما عدد الأحرف من بداية الوسيطة within_text ، مع حساب الأحرف التي تتخطىها إذا كانت الوسيطة start_num أكبر من 1.
أمثلة
انسخ البيانات النموذجية في الجدول التالي، والصقها في الخلية A1 في ورقة عمل Excel جديدة. لعرض نتائج الصيغ، حدد هذه الأخيرة، ثم اضغط على F2، ثم اضغط على Enter. عند الحاجة، يمكنك ضبط عرض العمود لرؤية البيانات كافة.
| بيانات | ||
|---|---|---|
| الكشوف | ||
| هامش الربح | ||
| هامش | ||
| "المدير" هنا. | ||
| الصيغة | الوصف | النتيجة |
| =SEARCH("e",A2,6) | موضع أول "e" في السلسلة الموجودة في الخلية A2، بدءاً من الموضع السادس. | 7 |
| =SEARCH(A4,A3) | موضع "margin" (السلسلة التي يتم البحث عنها في الخلية A4) في "Profit Margin" (الخلية التي يتم البحث فيها هي الخلية A3). | 8 |
| =REPLACE(A3,SEARCH(A4,A3),6,"Amount") | تستبدل "Margin" بـ "Amount" عن طريق البحث أولاً عن موضع "Margin" في الخلية A3، ثم استبدال هذا الحرف والأحرف الخمسة التالية بالسلسلة "Amount". | Profit Amount |
| =MID(A3,SEARCH(" ",A3)+1,4) | ترجع الأحرف الأربعة الأولى التي تلي حرف المسافة الأول في "Profit Margin" (الخلية A3). | Marg |
| =SEARCH("""",A5) | موضع علامة الاقتباس المزدوجة الأولى (") في الخلية A5. | 5 |
| =MID(A5,SEARCH("""",A5)+1,SEARCH("""",A5,SEARCH("""",A5)+1)-SEARCH("""",A5)-1) | ترجع النص المضمن بين علامتي الاقتباس المزدوجتين في الخلية A5 فقط. | المدير |
هام
- تم إهمال الدالة SEARCHB.
- في المصنفات التي تم تعيينها إلى الإصدار 2 من التوافق، قامت SEARCH بتحسين السلوك باستخدام الأزواج البديلة، مع احتسابها كحرف واحد بدلا من حرفين. سيستمر حساب محددات التباينات (شائعة الاستخدام مع رموز المشاعر) كأحرف منفصلة. اقرأ المزيد هنا: معيار Unicode