تابع SEARCH اکسل | پیدا کردن مکان اولین کلمه مشابه در یک سلول اکسل

تابع SEARCH یکی از توابع متنی (Text) اکسل می باشد. در این آموزش پیشرفته اکسل با قسمت های تشکیل دهنده و کاربرد این تابع آشنا می شویم.

پیش نیازهای آموزشی این بخش
چگونه در یک سلول اکسل فرمول بنویسم؟
تکمیل فرمول ها و آرگومان توابع با استفاده از ماوس

آرگومان های تابع SEARCH اکسل در پنجره Function Arguments این تابع در تصویر زیر نمایش داده شده است.

ورودی های تابع SEARCH اکسل

همانطور که در تصویر مشخص است تابع SEARCH سه آرگومان به نام های Find_text و Within_text و Start_num دارد.

آیا می‌دانید:

تابع TEXTJOIN در اکسل برای جمع‌آوری و ترکیب داده‌های متنی از سلول‌های مختلف بسیار کارآمد است؟ این تابع به شما اجازه می‌دهد که متن‌ها را به راحتی ترکیب کنید و از جداکننده‌های دلخواه مثل فاصله یا ویرگول استفاده کنید.

کارکرد تابع

تابع SEARCH مکان قرارگیری یک کلمه یا نویسه را در یک رشته متنی پیدا می نماید.

تابع SEARCH رشته متنی Find_text را در Within_text (که یک رشته متنی دیگر است) جستجو می کند و اگر FIND_text را پیدا کند مکان وقوع آن در Within_text مقدار بازگشتی تابع خواهد بود.

رشته متنی یک دنباله ادامه دار از نویسه ها می باشد و این نویسه ها می توانند هر کدام از کاراکترهای صفحه کلید شامل کاراکترهای خاص نظیر ٪،‌ @ و … باشد.
توجه داشته باشید که فاصله (space) و یک رشته خالی (“”) نیز نمونه هایی از یک رشته متنی می باشند.

شکل فرمولی تابع 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 را فشار دهید.

داده هافرمولنتیجهتوضیح
StatementsSEARCH(“e”,A2,6)7مکان اولین «e» در سلول A2 را پیدا می کند، جستجو از نویسه ششم به بعد شروع می شود.
Profit MarginSEARCH(A4,A3)8مکان شروع «margin» (متن سلول A4) در سلول A3 را پیدا می کند.
marginREPLACE(A3,SEARCH(A4,A3),6,”Amount”)Profit Amount «margin» را با  «Amount» در متن «Profit Margin» جایگزین می نماید.1
Profit MarginMID(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 چهار نویسه را جدا می نماید.

دیدگاهتان را بنویسید