30 عملکرد اکسل در 30 روز: جستجو

دیروز در ماراتن 30 عملکرد اکسل در 30 روز ما انواع خطاها را با استفاده از تابع تشخیص دادیم ERROR.TYPE (ERROR TYPE) و مطمئن شد که می تواند برای تصحیح خطاها در اکسل بسیار مفید باشد.

در روز پانزدهم ماراتن، مطالعه عملکرد را اختصاص خواهیم داد جستجو (جستجو کردن). به دنبال یک کاراکتر (یا کاراکترها) در یک رشته متنی می گردد و گزارش می دهد که کجا پیدا شده است. همچنین نحوه برخورد با موقعیت هایی که این تابع خطا می دهد را بررسی خواهیم کرد.

بنابراین، بیایید نگاهی دقیق تر به تئوری و مثال های عملی تابع بیاندازیم جستجو (جستجو کردن). اگر ترفند یا نمونه ای از کار با این تابع دارید، لطفا در نظرات به اشتراک بگذارید.

تابع 18: جستجو

عملکرد جستجو (SEARCH) یک رشته متن را در یک رشته متن دیگر جستجو می کند و در صورت یافتن، موقعیت آن را گزارش می کند.

چگونه می توانم از تابع SEARCH استفاده کنم؟

عملکرد جستجو (SEARCH) یک رشته متن را در یک رشته متن دیگر جستجو می کند. او می تواند:

  • یک رشته از متن را در یک رشته متن دیگر (بدون حساسیت به حروف بزرگ) بیابید.
  • در جستجوی خود از کاراکترهای عام استفاده کنید.
  • موقعیت شروع را در متن مشاهده شده تعیین کنید.

SEARCH نحو

عملکرد جستجو (SEARCH) دارای نحو زیر است:

SEARCH(find_text,within_text,[start_num])

ПОИСК(искомый_текст;текст_для_поиска;[нач_позиция])

  • find_text (search_text) متنی است که به دنبال آن هستید.
  • درون_متن (text_for_search) - رشته متنی که جستجو در آن انجام می شود.
  • start_num (start_position) - اگر مشخص نشده باشد، جستجو از اولین کاراکتر شروع می شود.

تله SEARCH (SEARCH)

عملکرد جستجو (SEARCH) موقعیت اولین رشته منطبق را که حساس به حروف کوچک و بزرگ نیست برمی گرداند. اگر به جستجوی حساس به حروف بزرگ نیاز دارید، می‌توانید از عملکرد استفاده کنید یافتن (FIND)، که بعداً در ماراتن با آن آشنا خواهیم شد 30 عملکرد اکسل در 30 روز.

مثال 1: یافتن متن در یک رشته

از تابع استفاده کنید جستجو (SEARCH) برای یافتن متنی در یک رشته متن. در این مثال، ما به دنبال یک کاراکتر واحد (تایپ شده در سلول B5) در رشته متن موجود در سلول B2 خواهیم بود.

=SEARCH(B5,B2)

=ПОИСК(B5;B2)

اگر متن پیدا شد، تابع جستجو (SEARCH) شماره موقعیت اولین کاراکتر خود را در رشته متن برمی گرداند. اگر پیدا نشد، نتیجه یک پیغام خطا خواهد بود #ارزش! (#بنابراین).

در صورتی که نتیجه یک خطا باشد، می توانید از تابع استفاده کنید IFERROR (IFERROR) به طوری که به جای اجرای تابع جستجو (SEARCH) پیام مربوطه را نمایش می دهد. عملکرد IFERROR (IFERROR) در نسخه 2007 در اکسل معرفی شد. در نسخه های قبلی، همین نتیجه را می توان با استفاده از IF (اگر) همراه با ایسرور (EOSHIBKA).

=IFERROR(SEARCH(B5,B2),"Not Found")

=ЕСЛИОШИБКА(ПОИСК(B5;B2);"Not Found")

مثال 2: استفاده از حروف عام با SEARCH

روش دیگری برای بررسی نتیجه برگشت داده شده است جستجو (SEARCH)، برای یک خطا - از تابع استفاده کنید ISNUMBER (ISNUMBER). اگر رشته پیدا شد، نتیجه جستجو (SEARCH) یک عدد خواهد بود که به معنای تابع است ISNUMBER (ISNUMBER) TRUE برمی گردد. اگر متن پیدا نشد، پس جستجو (SEARCH) یک خطا را گزارش خواهد کرد و ISNUMBER (ISNUMBER) FALSE را برمی‌گرداند.

در ارزش برهان find_text (search_text) می توانید از کاراکترهای wildcard استفاده کنید. نماد * (ستاره) جایگزین هر تعداد کاراکتر یا هیچ کدام می شود و ? (علامت سوال) جایگزین هر کاراکتری می شود.

در مثال ما از کاراکتر wildcard استفاده شده است *، بنابراین عبارات CENTRAL، CENTER و CENTER در نام خیابان ها یافت می شوند.

=ISNUMBER(SEARCH($E$2,B3))

=ЕЧИСЛО(ПОИСК($E$2;B3))

مثال 3: تعیین موقعیت شروع برای SEARCH (SEARCH)

اگر جلوی تابع دو علامت منفی (نفی مضاعف) بنویسیم ISNUMBER (ISNUMBER)، مقادیر را برمی گرداند 1/0 به جای TRUE/FALSE (TRUE/FALSE). بعد، تابع مبلغ (SUM) در سلول E2 تعداد کل رکوردهایی را که متن جستجو شده در آن پیدا شده است، می شمارد.

در مثال زیر، ستون B نشان می دهد:

نام شهر | حرفه

وظیفه ما یافتن مشاغلی است که شامل رشته متن وارد شده در سلول E1 است. فرمول در سلول C2 به صورت زیر خواهد بود:

=--ISNUMBER(SEARCH($E$1,B2))

=--ЕЧИСЛО(ПОИСК($E$1;B2))

این فرمول ردیف هایی را یافت که حاوی کلمه "بانک" است، اما در یکی از آنها این کلمه نه به نام حرفه، بلکه در نام شهر یافت می شود. این به ما نمی خورد!

نام هر شهر با یک نماد همراه است | (نوار عمودی)، بنابراین ما با استفاده از تابع جستجو (SEARCH)، می توانیم موقعیت این شخصیت را پیدا کنیم. موقعیت آن را می توان به عنوان مقدار آرگومان مشخص کرد start_num (start_position) در تابع "main". جستجو (جستجو کردن). در نتیجه، نام شهرها توسط جستجو نادیده گرفته می شود.

اکنون فرمول آزمایش شده و تصحیح شده فقط آن خطوطی را که حاوی کلمه "بانک" در نام حرفه هستند حساب می کند:

=--ISNUMBER(SEARCH($E$1,B2,SEARCH("|",B2)))

=--ЕЧИСЛО(ПОИСК($E$1;B2;ПОИСК("|";B2)))

پاسخ دهید