یکی از توابعی که برای جستجو در بین عبارت های موجود در یک سلول مورد استفاده قرار می گیرد تابع Find در اکسل است که عملکردی مشابه با تابع Search دارد. در این مطلب آموزشی سعی دارم تا شما را با نحوه کار با تابع Find و Search آشنا کنم و به بررسی تفاوت های بین این دو تابع بپردازم.
-
تابع Find در اکسل
از این تابع برای جستجوی موقعیت یک عبارت در یک سلول استفاده می کنیم ، گرامر این تابع بصورت زیر است :
FIND( find_text, within_text, [start_num] )
-
Find_Text: همان عبارتی است که می خواهیم آن را جستجو کنیم
-
Within_Text: آدرس همان سلولی است که قرار است جستجو در آن انجام شود
-
[Start_Num]: این بخش از تابع اختیاری است و محل آغاز جستجو را مشخص می کند
توضیح در خصوص [Start_Num]: در صورتی که مقداری برای این بخش از تابع مشخص نگردد ، عملیات جستجو از کاراکتر اول آغاز خواهد شد و در غیر اینصورت از کاراکتری که کاربر برای تابع مشخص می کند جستجو را آغاز خواهد نمود.
مثال : به تصویر زیر دقت کنید ، قصد داریم عدد 520 را در عبارت 139852030 جستجو کنیم ، آرگومان آخر تابع را فعلأ رها می کنیم. خروجی 5 به نمایش در می آید. تابع به این صورت عمل کرد که ابتدا در عبارتی که به آن معرفی کردیم عدد 520 را جستجو کرد، با توجه به اینکه عدد مذکور در عبارت موجود بود محل عدد 5 به عنوان خروجی تابع به نمایش در می آید، در واقع می توان گفت عدد 520 از پنجمین عدد آغاز می شود.
در ادامه مطابق تصویر زیر می خواهیم عدد 210 را در عبارت 139852030 پیدا کنیم ، همانطور که می بینید خروجی تابع با خطا مواجه می شود ، چون نتوانسته است این عدد را در عبارت داده شده با آن پیدا کند.
مطلب پیشنهادی >> آموزش پیدا کردن و جایگزینی متن در اکسل
تذکر : در عبارت داخل سلول میتواند غیر از عدد حروف نیز بکار رود ، در اینصورت باز هم تابع به دنبال عبارت مورد جستجو خواهد گشت و در صورت وجود محل آن را در خروجی به نمایش در خواهد آورد. به تصویر زیر دقت کنید.
-
یک مثال کاربردی
فرض کنید در داخل یک انبار می خواهید کنترل کنید که کالاهای مربوط به یک برند خاص که از طریق بارکد نصب شده بر روی آنها توسط بارکد خوان خوانده می شود ، روزانه به چه تعدادی خارج می شود. در ساختار بارکدهای نصب شده بر روی کالاها عبارت خاصی وجود دارد که بیانگر کد برند آن می باشد.
در واقع از طریق ترکیب توابع قصد داریم تا وجود یا عدم وجود کد یک برند خاص را که بارکد خوان برای ما در اکسل درج می کند بررسی کنیم و وجود آن را با عدد 1 به نمایش در آورده در ادامه با استفاده از تابع Sumif تعداد کالاهای خارج شده را بدست می آوریم.
-
در فرمول بالا چه کار انجام دادیم؟
در فرمول بالا از طریق ترکیب سه تابع وجود عبارت DT98 را بررسی و وجود یا عدم وجود آن را با عدد صفر و یک به نمایش درآوردیم. درواقع گفتیم اگر خروجی تابع Find قرار گرفته در تابع Iserror برابر با True باشد ، بدین معنی خواهد بود که تابع Find نتوانسته است عبارت مورد نظر ما را در بخش کد کالا پیدا کند و از این طریق در آرگومان value if true تابع If تعریف کردیم که عدد صفر به نمایش در آید و در غیر اینصورت عدد 1 در سلول درج گردد و در نهایت با استفاده از تابع sumif تعداد سلولهای دارای مقدار 1 را شمردیم.
-
آرگومان آخر تابع Find
خوب شاید برای شما سوال باشد که پس آخرین آرگومان تابع Find در اکسل ، چطور می تواند به ما در یافتن یک عبارت کمک کند؟ فرض کنید که یک کد با ساختار مشخص دارید و در آن کد بدنبال یک عبارت خاص می گردید و آن کد همیشه خودش بعد از یک عبارت خاص قرار دارد. در این مدل چه کاری باید انجام داد؟ به تصویر زیر دقت کنید.
-
تفسیر فرمول بالا :
همانگونه که در بالا به آن اشاره کردم در این فرمول با استفاده از آرگومان سوم تابع Find که شمارش را از محل خاصی آغاز می نمود استفاده کردیم. در واقع در تابع Find اول بدنبال عدد 352 هستیم و می دانیم این عدد همیشه بعد از عدد 1000 قرار دارد ، پس در آرگومان تابع Find اول با استفاده از تابع Find دوم جستجوی عدد 352 را به بعد از عدد 1000 انتقال دادیم و در ادامه با استفاده از ترکیب توابع IF و ISEEROR نتیجه را بصورت عدد صفر و یک به نمایش درآوردیم.
-
تفاوت تابع Find و Search در چیست؟
یکی دیگر از توابع جستجو در اکسل تابع Search می باشد که آن هم عملکردی مشابه با تابع Find دارد، به گرامر تابع توجه کنید :
SEARCH (find_text, within_text, [start_num])
اما تفاوت هایی بین این دو تابع وجود دارد که در ادامه به آنها اشاره می کنیم :
- در تابع Search بین کوچک یا بزرگ بودن حروف عبارت مورد جستجو تفاوتی وجود ندارد و عمل جستجو بدون درنظر گرفتن مورد مذکور انجام می شود. اما تابع Find این قابلیت را ندارد و نسبت به کوچک یا بزرگ بودن حروف حساس است. به تصویر زیر دقت کنید :
- در تابع Search علامات و کاراکترها تأثیری در جستجو ندارند و خللی ایجاد نمی کنند اما در تابع Find این چنین نیست و وجود کاراکترها مانع از عمل جستجو شده ، خطا به نمایش در می آید.