تابع SEARCH یکی از توابع متنی (Text) اکسل می باشد. در این آموزش پیشرفته اکسل با قسمت های تشکیل دهنده و کاربرد این تابع آشنا می شویم.
ورودی های تابع SEARCH اکسل
آرگومان های تابع SEARCH اکسل در پنجره Function Arguments این تابع در تصویر زیر نمایش داده شده است.
همانطور که در تصویر مشخص است تابع SEARCH سه آرگومان به نام های Find_text و Within_text و Start_num دارد.
کارکرد تابع
تابع SEARCH مکان قرارگیری یک کلمه یا نویسه را در یک رشته متنی پیدا می نماید.
تابع SEARCH رشته متنی Find_text را در Within_text (که یک رشته متنی دیگر است) جستجو می کند و اگر FIND_text را پیدا کند مکان وقوع آن در Within_text مقدار بازگشتی تابع خواهد بود.
شکل فرمولی تابع SEARCH اکسل
=SEARCH(FIND_text;Within_text; [Start_num])
آرگومان Start_num یک آرگومان اختیاری می باشد و بنابراین در بین [] (کروشه یا براکت) قرار داده شده است.
- FIND_text : متن یا الگویی است که می خواهید مکان شروع آن را پیدا نمایید. برای ایجاد الگو باید از فرانویسه ها (wildcard characters) استفاده نمایید.
- Within_text : متن یا سلولی است که می خواهید جستجو را در آن انجام دهید.
- Start_num : مکان شروع جستجو در متن Within_text می باشد.
ملاحظات مهم درباره تابع SEARCH
- تابع SEARCH نسبت به بزرگی و کوچکی حروف انگلیسی حساس (case-sensitive) نمی باشد و بنابراین بطور مثال دو کلمه SEARCH و Search از نظر این تابع مشابه و در نتیجه تابع تاثیری نخواهد داشت. برای جستجوی حساس به حروف بزرگ و کوچک می توانید از تابع FIND استفاده نمایید.
- می توانید از فرانویسه ها (wildcard characters) در تابع SEARCH استفاده نمایید. بنابراین می توانید با استفاده از این تابع مکان کلمات مشابه یک الگو (بعنوان مثال “*ان” تمام کلماتی هستند که به ان ختم می شوند) را نیز پیدا نمایید.
- اگر Find_text در within_text پیدا نشود، مقدار بازگشتی تابع خطای !VALUE# خواهد بود.
- اگر start_num کمتر از صفر باشد، مقدار بازگشتی تابع خطای !VALUE# خواهد بود.
- اگر start_num بزرگتر از طول within_text باشد، مقدار بازگشتی تابع خطای !VALUE# خواهد بود.
- مقادیر بزرگتر از یک start_num باعث خواهد شد که تابع نویسه های قبل از مکان start_num را در within_text نادیده بگیرد. بعنوان مثال اگر بخواهید “Y” را در “AYF0093.YoungMensApparel” پیدا نمایید، می توانید با تنظیم start_num روی 8 نویسه های قبل از “.” را نادیده بگیرید تا تابع دومین “Y” را پیدا نماید.
- در صورتی که find_text بیش از یکبار در Within_text تکرار شده باشد، مکان اولین تکرار مقدار بازگشتی تابع خواهد بود.
- در صورتی که یک کلمه یا جمله را در Within_text جستجو نمایید، اگر مطابقتی پیدا شود، مکان اولین نویسه کلمه یا جمله موردنظر مقدار بازگشتی تابع خواهد بود.
مثال
در جدول زیر می توانید کارکرد تابع SEARCH در اکسل را مشاهده نمایید. برای مشاهده فرمول های هر سلول می توانید پس از انتخاب سلول در ستون «نتیجه» کلید F2 را فشار دهید.
داده ها | فرمول | نتیجه | توضیح |
---|---|---|---|
Statements | SEARCH(“e”,A2,6) | 7 | مکان اولین «e» در سلول A2 را پیدا می کند، جستجو از نویسه ششم به بعد شروع می شود. |
Profit Margin | SEARCH(A4,A3) | 8 | مکان شروع «margin» (متن سلول A4) در سلول A3 را پیدا می کند. |
margin | REPLACE(A3,SEARCH(A4,A3),6,”Amount”) | Profit Amount | «margin» را با «Amount» در متن «Profit Margin» جایگزین می نماید.1 |
Profit Margin | MID(A5,SEARCH(” “,A5)+1,4) | Marg | چهار نویسه بعد از اولین فاصله (space) متن سلول A5 پیدا می کند.2 |
The “boss” is here. | SEARCH(“”””,A6) | 5 | مکان اولین علامت «”» را در متن سلول A6 پیدا می کند. |
The “boss” is here. | MID(A7,SEARCH(“”””,A7)+1,SEARCH(“”””,A7,SEARCH(“”””,A7)+1)-SEARCH(“”””,A7)-1) | boss | عبارت بین دو گفتاورد (“) را پیدا می کند. |
اسم من «صادق» است. | MID(A5,SEARCH(“«”,A5)+1,SEARCH(“»”,A5)-SEARCH(“«”,A5)-1) | صادق | عبارت بین گیومه ها («») را پیدا می کند. |
1 ابتدا با استفاده از فرمول SEARCH(A4,A3) مکان شروع «margin» (متن سلول A4) را در سلول A3 پیدا می کند (جواب 8 است). حالا فرمول REPLACE(A3,8,6,”Amount”) می شود که به این معناست که تابع Replace متن «Amount» را در متن سلول A3 در مکان نویسه 8 و 6 کاراکتر بعد از آن (توجه داشته باشید که 6 طول متن «margin» است) جایگزین می نماید.
2 ابتدا با استفاده از فرمول SEARCH(” “,A5) مکان اولین فاصله در متن سلول A5 را پیدا می کند (جواب 7 است). حالا فرمول MID(A5,7+1,4) می شود که به این معناست که تابع Mid از نویسه 8 متن سلول A5 چهار نویسه را جدا می نماید.
بیشتر بخوانید
تابع Concat اکسل | جمع کردن کلمات و رشته ها در اکسل
تابع CODE اکسل | پیدا کردن کد یک نویسه (کاراکتر) در اکسل
تابع CHAR اکسل | تبدیل کد عددی نویسه (کاراکتر کد) به نویسه در اکسل
تابع ADDRESS اکسل | تبدیل شماره سطر و ستون یک سلول به آدرس در اکسل
تابع INDEX اکسل | پیدا کردن داده ها در یک جدول با استفاده از شماره سطر و ستون