تابع FIND موقعیت یک رشته متن را (به صورت عدد) داخل رشته متن دیگر بر میگرداند. وقتی متن پیدا نشد، FIND خطای VALUE# را بر میگرداند.
هدف تابع
موقعیت یک رشته متنی را داخل رشته متن دیگر بدست آورید
خروجی تابع
عددی که نشان دهنده موقعیت زیر رشته است
ترکیب تابع
= FIND (find_text , within_text , [start_num])
ورودی تابع (مولفهها)
find_text – متنی که میخواهید پیدا کنید. این مولفه زیر رشته است که اکسل آن را داخل رشته متن دیگر جستجو میکند. اگر متن را مستقیما در فرمول وارد میکنید، متن باید داخل دو گیومه ("") وارد شود. در غیر این صورت ، میتوانید به سلولی که حاوی متن است ارجاع دهید.
within_text - متنی که باید درون آن جستجو کنید. اغلب این مولفه آدرس سلولی است که حاوی متن است، اما میتوانید رشته متن را مستقیما داخل دو گیومه وارد کنید.
start_num - [اختیاری] موقعیت شروع در متن برای جستجو. پیش فرض آن 1 است.
نحوه استفاده از تابع
تابع FIND موقعیت یک رشته متن را (به صورت عدد) داخل رشته متن دیگر بر میگرداند. در ابتدایی ترین حالت ، میتوانید از FIND برای تعیین موقعیت یک زیر رشته داخل یک رشته متن استفاده کنید.
همچنین میتوانید از FIND برای بررسی اینکه آیا یک سلول دارای متن خاصی است یا خیر استفاده کنید.
FIND به حروف بزرگ و کوچک حساس است ، به این معنی که حروف بزرگ و کوچک را تشخیص میدهد. این رفتار خودکار است و نمیتوان آن را غیرفعال کرد.
چند نکته کلیدی
- FIND موقعیت یک رشته متن را داخل رشته متن دیگر به عنوان یک عدد بر میگرداند.
- وقتی FIND نمیتواند زیر رشته مورد نظر را پیدا کند ، خطای VALUE# را بر میگرداند.
- اگر زیر رشته مورد نظر بیش از یک بار ظاهر شود ، FIND اولین موقعیت را بر میگرداند.
- FIND به حروف کوچک و بزرگ حساس است و "Apple" و "apple" را به عنوان رشتههای متنی مختلف ارزیابی میکند.
- FIND هنگام جستجوی متن از نویسههای خاص مانند * ? ~ پشتیبانی نمیکند.
- اگر مقدار مولفه (find_text) وارد نشود ، FIND عدد 1 را بر میگرداند.
نکته: تابع SEARCH مشابه تابع FIND است. هر دو تابع موقعیت یک رشته متن را در داخل رشته متن دیگری بر میگرداند. با این حال ، برخلاف FIND ، تابع SEARCH به حروف بزرگ و کوچک حساس نیست و از نویسههای خاص پشتیبانی میکند.
مثالها
تابع FIND برای جستجوی درون یک رشته متنی برای یافتن زیر رشته خاص طراحی شده است.
وقتی FIND زیر رشته را پیدا میکند ، موقعیت آن را در متن به صورت عدد بر میگرداند. اگر زیر رشته پیدا نشد، FIND خطای VALUE# را بر میگرداند. مثلا:
= FIND ("p" , "apple" ) // مقدار 2 بازگردانده میشود
= FIND ("z" , "apple" ) // بازگردانده میشود #VALUE خطای
= FIND ("apple" , "Pineapple" ) // مقدار 5 بازگردانده میشود
توجه داشته باشید که مقادیر متنی که مستقیما در FIND وارد میشوند باید داخل دو گیومه ("") قرار بگیرند. همانطور که ذکر شد، تابع FIND همیشه به حروف کوچک و بزرگ حساس است:
= FIND ("a" , "Apple ) // بازگردانده میشود #VALUE خطای
= FIND ("A" , "Apple" ) // مقدار 1 بازگردانده میشود
= FIND ("Apple" , "Pineapple" ) // بازگردانده میشود #VALUE خطای
برگه زیر نمونههای فوق را که بر اساس آدرس سلول به فرمول وارد شدهاند نشان میدهد:
بازگرداندن نتیجه به صورت TRUE یا FALSE
به طور پیشفرض ، تابع FIND زمانی که رشته متن را جستجو میکند نتیجه به صورت یک عدد و یا خطای VALUE# بازگردانده میشود! در مواردی که تنها میخواهید بدانید که آیا رشته مورد نظر پیدا شده است یا خیر، نتیجه خطا ناخوشایند است.
برای اجبار به بازگرداندن نتیجه به صورت TRUE یا FALSE ، میتوانید تابع FIND را داخل تابع ISNUMBER قرار دهید. ISNUMBER برای مقادیر عددی TRUE و برای هر چیز دیگری FALSE را بر میگرداند.
اگر FIND زیر رشته را پیدا کند، موقعیت را به عنوان یک عدد بر میگرداند و تابع ISNUMBER هم TRUE را بر میگرداند. اگر FIND زیر رشته را پیدا نکند ، خطای VALUE# را بر میگرداند و تابع ISNUMBER هم FALSE را بر میگرداند:
= ISNUMBER ( FIND ( "p" , "apple" )) // بازگردانده میشود TRUE
= ISNUMBER ( FIND ( "z" ,"apple" )) // بازگردانده میشود FALSE
اگر به ارزیابی نویسههای خاص نیاز دارید، میتوانید در فرمولهای فوق تابع FIND را با تابع SEARCH جایگزین کنید.
هنگامی که نتیجه TRUE یا FALSE را دارید ، میتوانید تابع FIND را با تابع IF ترکیب کنید تا منطق "اگر سلول با شرط مطابقت دارد" را پیاده کنید. الگوی عمومی این فرمول به صورت زیر است:
=IF ( ISNUMBER ( FIND (substring , A1 )) , "Yes", "No" )
به جای برگرداندن TRUE یا FALSE ، در صورت یافتن زیررشته ، فرمول بالا "Yes" و در غیر این صورت "No" را بر میگرداند.
میتوانید از همین ایده برای علامت گذاری موارد مورد علاقه استفاده کنید.
به عنوان مثال ، در برگه زیر، از ترکیب تابع FIND با تابع IF برای شناسایی آدرسهای ایمیل حاوی "abc" با "x" استفاده میکنیم.
فرمول سلول C3 به صورت زیر است:
= IF ( ISNUMBER ( FIND ( "abc" , B3 )) , "x" ,"" )
شماره شروع
تابع FIND یک مولفه اختیاری به نام start_num دارد که کنترل میکند FIND کجا شروع به جستجوی زیر رشته کند. برای پیدا کردن اولین مطابقت در هر ترکیبی از حروف بزرگ یا کوچک ، میتوانید start_num را حذف کنید ، که پیش فرض آن 1 است:
= FIND ( "x" , "20 x 30 x 50" ) // مقدار 4 بازگردانده میشود
FIND مقدار 4 را بر میگرداند زیرا اولین "x" در موقعیت 4 ظاهر میشود. برای یافتن "x" دوم ، عدد 5 را برای start_num وارد کنید:
= FIND ( "x" , "20 x 30 x 50" , 5) // مقدار 9 بازگردانده میشود
در این حالت ، FIND مقدار 9 را بر میگرداند ، زیرا جستجو را بعد از اولین "x" آغاز میکند.
میتوانید "x" دوم را در رشته متن موجود در سلول A1 با استفاده از فرمول زیر پیدا کنید:
= FIND ( A1 , FIND ( "x" , A1 ) +1)
FIND داخلی محل اولین "x" را بر میگرداند. سپس 1 را اضافه میکنیم و نتیجه به عنوان start_num در FIND بیرونی استفاده میشود. نتیجه مکان دومین "x" در سلول A1 است.
یادداشت
- تابع FIND مکان اولین زیر رشته را درون رشته متن دیگر بر میگرداند.
- Start_num اختیاری است و پیشفرض آن ۱ است.
- وقتی find_text خالی باشد FIND مقدار 1را بر میگرداند.
- اگر find_text پیدا نشد FIND خطای VALUE# را بر میگرداند.
- FIND به حروف کوچک و بزرگ حساس است و از نویسههای خاص پشتیبانی نمیکند.
- از تابع SEARCH برای پیدا کردن زیر رشته با نویسههای خاص استفاده کنید.
لطفا دیدگاه خود را در کادر پایین با ما به اشتراک بگذارید.
آیا میخواهید:
- برنامههای قدرتمند و انعطاف پذیر با اکسل ایجاد کنید.
- فرصت های شغلی جدید کسب کنید.
کتابهای معرفی شده ، راهنمای گام به گام جامع و عملی برای افرادی است که (مانند شما) میخواهند به این اهداف برسند.