آموزش تابع FIND در اکسل و همه نکات کاربردی
تابع FIND در اکسل برای پیدا کردن یک کاراکتر یا رشته استفاده می شود و موقعیت شروع آن را در سلول برمی گرداند. از این تابع در تجزیه و تحلیل مالی برای تعیین مکان داده های خاص استفاده می شود.
تابع FIND در اکسل
تابع FIND در اکسل سعی می کند تا یک کاراکتر یا یک زیر رشته را در یک رشته دیگر پیدا کند. اگر رشته را پیدا کند، موقعیت عددی شروع رشته در رشته اصلی را برمی گرداند.
ساختار تابع FIND:
FIND(find_text,within_text,start_num)
find_text: رشته متنی است که به دنبال پیدا کردن آن هستید.
Within_text: رشته اصلی است.
start_num: یک آرگومان اختیاری است که نقطه شروع جستجو را در رشته اصلی تعیین می کند. مقدار پیشفرض آن ۱ می باشد.
نکته: آرگومان سوم فقط دامنه جستجو در متن اصلی را تغییر می دهد. به طور مثال: تابع FIND برای جستجوی کاراکتر “s” در رشته “suns”، عدد ۱ را برمی گرداند اما اگر start_num روی ۲ تنظیم شود، نقطه شروع از کاراکتر دوم شروع می شود و تابع عدد ۴ را برمی گرداند.
نکته: تابع FIND به حروف کوچک و بزرگ حساس است. یعنی رشته “text” با رشته “TEXT” برای تابع تفاوت دارند.
نحوه استفاده از تابع FIND
شیوه نوشتن فرمول تایع FIND مانند مثال زیر است:
=FIND(“e”, “elephant”)
در این مثال، تابع عدد ۱ را برمی گرداند، زیرا “e” اولین کاراکتر در رشته “elephant” است.
در ادامه چند نمونه و کاربرد دیگر از تابع FIND را بررسی خواهیم کرد.
تابع FIND یک تابع Case-Sensitive است
در مثال زیر، تابع FIND برای جستجو “abc” در رشته سلول C3، عدد ۱۰ را برمی گرداند. زیرا تابع FIND به حروف کوچک و بزرگ حساس است، در نتیجه رشته “abc” و “ABC” برای تابع تفاوت دارد و رشته “ABC” در شروع رشته اصلی را نادیده می گیرد:
خطای جستجوی ناموفق
اگر تابع FIND رشته مورد نظر را در رشته اصلی پیدا نکند، خطای !VALUE# را برمی گرداند.
تعیین نقطه شروع جستجو
همانطور که گفتیم، می توانید با استفاده از آرگومان سوم تابع (start_num) تعیین کنید که تابع از کدام موقعیت عددی رشته شروع به جستجو کند. اگر این آرگومان را تعیین نکنید، تابع FIND از ابتدای رشته شروع می کند.
در مثال زیر، تابع FIND برای پیدا کردن کاراکتر “e” را رشته “elephant” از کاراکتر دوم شروع به جستجو می کند و در نتیجه نیز عدد ۳ را برمی گرداند. چون جستجو از کاراکتر دوم شروع شده پس کاراکترهای قبل از آن (یعنی کاراکتر اول) نادیده گرفته می شوند.
=FIND(B3,C3,D3)
در مثال زیر، آرگومان سوم برای تابع FIND تعیین نشده و تابع از همان کاراکتر اول شروع به جستجو می کند و در نتیجه عدد ۱ را برمی گرداند.
=FIND(B3,C3)
خطاهای نقطه شروع (start_num)
در صورتی که بخواهید نقطه شروع جستجو یا همان آرگومان سوم تابع را تعیین کنید، باید آن را براساس شرایط زیر وارد کنید:
- یک عدد کامل باشد.
- یک عدد مثبت باشد.
- کوچکتر از طول رشته اصلی باشد.
- اگر از آدرس سلول استفاده می کنید، محتوای آن سلول نباید خالی باشد.
اگر قوانین بالا را رعایت نکنید، تابع FIND خطای !VALUE# را نشان می دهد! مانند مثال زیر:
- در مورد اول، نقطه شروع (۲۵) از طول رشته اصلی بزرگتر است.
- در مورد دوم، نقطه شروع (۰) یک عدد غیر مثبت و کوچکتر از ۱ است.
- در مورد سوم، نقطه شروع (۱-) یک عدد منفی است.
- در مورد نقطه شروع، سلول خالی است.
کاراکترهای آزاد در تابعFIND
تابع FIND کاراکترهای آزاد یا جایگزین پذیر (wildcards) را نمی پذیرد.
فرض کنید، تابع در مثال زیر رشته “۰۰۰?” را جستجو می کند. در جستجوی آزاد، این رشته به این معنی است که “هر کاراکتری که بعد از آن سه عدد صفر می آید”. اما تابع FIND، کاراکتر “?” را همان علامت سوال می داند و به دنبال پیدا کردن یک رشته حاوی یک علامت سوال همراه با سه صفر می باشد:
با این آموزش اکسل صفر تا صد اکسل، رو توی کمترین زمان ممکن یاد بگیر.بهترین پک آموزش اکسل در ایران همین الان خرید و دانلود کنید!
برای کاراکتر آزاد “*” نیز به همین صورت است:
نکته: برای جستجوی متن با کاراکترهای آزاد می توانید از تابع SEARCH استفاده کنید:
استفاده از تابع FIND برای جدا کردن نام و نام خانوادگی
فرض کنید در صفحه گسترده خود لیستی از نام افرادی را دارید که نام و نام خانوادگی آنها یا یک کاراکتر (مثل کاراکتر فاصله) از هم جدا شده اند. ممکنه بخواهید برای مرتب سازی ساده تر، قسمت نام را از نام خانوادگی جدا کنید، بنابراین می توانید از تابع FIND استفاده کنید. البته همراه با توابع دیگر!
به دست آوردن نام
تابع LEFT در اکسل، تعداد مشخصی از کاراکترهای یک رشته را با شروع از ابتدای رشته را برمی گرداند. آرکومان اول تابع همان رشته یا سلول حاوی رشته مورد نظر است و آرگومان دوم تعداد کاراکترهایی است که باید برگشت داده شود.
در این مثال، لیست افراد به انگلیسی است اما برای به دست آوردن نام های فارسی نیز همین فرمول استفاده می شود.
می توانید از این تابع برای به دست آوردن نام افراد استفاده کنیم اما چون تعداد کاراکترهای آنها متفاوت است، از کجا بفهمیم چند کاراکتر باید برگشت داده شود؟
راه حل آن ساده است، برای به دست آوردن تعداد کاراکترها (همان آرگومان تابع LEFT) از تابع FIND استفاده می کنیم. تابع FIN موقعیت کاراکتر جداکننده بین نام و نام خانوادگی را برمی گرداند سپس باید یکی از مقدار برگشتی تابع کم کنیم. این عدد، تعداد کاراکترهایی را تعیین می کند که تابع LEFT باید از شروع رشته جدا کند.
=LEFT(B3,FIND(“ “,B3)-1)
به دست آوردن نام خانوادگی
تابع RIGHT در اکسل، تعداد مشخصی از کاراکترهای یک رشته را با شروع از انتهای رشته را برمی گرداند.
برای به دست آوردن نام خانوادگی باید کاراکترهای بین فاصله ” ” تا انتهای رشته را برگردانیم.
از تابع FIND برای پیدا کردن فاصله ” ” بین نام و نام خانوادگی استفاده می کنیم سپس مقدار بازگشتی از آن را از تعداد کل کاراکترهای رشته کم می کنیم. تعداد کل کاراکترها را با تابع LEN به دست می آوریم.
فرمول کلی به شکل زیر است:
=RIGHT(B3,LEN(B3)-FIND(” “,B3))
پیدا کردن تکرار nام یک کاراکتر در رشته
همانطور که گفتیم، تابع FIND اولین موقعیت تطبیق یک رشته در یک رشته دیگر را پیدا می کند. اما اگر به دنبال تکرار دوم، سوم یا تکرار nام یک کاراکتر خاص در رشته باشید، چه می کنید؟
این کار با تابع FIND امکان پذیر است اما باید آن را با چند تابع دیگر ترکیب کنید: توابع CHAR و SUBSTITUTE.
- تابع SUBSTITUTE، رشته را پیمایش می کند و کاراکتر را با یک کاراکتر دیگر تعویض می کند و البته می توانید تکرار کاراکتر را به طور مستقیم در آن تعیین کنید. بنابراین با استفاده از تابع SUBSTITUTE می توانید تکرار nام کاراکتر را با یک کاراکتر دیگر تعویض کنید.
- تابع CHAR نیز یک کاراکتر را بر اساس کد اسکی (ASCII) آن برمی گرداند. به عنوان مثال، فرمول CHAR(126)= کاراکتر مد (~) را برمی گرداند. از این تابع برای تعریف کاراکتر تعویضی استفاده می شود.
- در نهایت، تابع FIND این کاراکتر تعویضی در رشته را پیدا می کند.
فرمول کلی به شکل زیر می باشد:
=FIND(CHAR(134),SUBSTITUTE(D3,C3,CHAR(134),B3))
- تابع SUBSTITUTE، چهار آرگومان دارد:
- آرگومان اول، رشته اصلی است.
- آرگومان دوم، کاراکتری که به دنبال پیدا کردن آن در رشته اصلی هستیم.
- آرگومان سوم، کاراکتر جدید و تعویضی است که جایگزین کاراکتر قبلی در رشته می شود.
- آرگومان چهارم، مقدار عددی است که تکرار nام کاراکتر در رشته را تعیین می کند.
تابع SUBSTITUTE، تکرار nام کاراکتر را با یک کاراکتر تعویضی در رشته جایگزین می کند. این کاراکتر تعویضی متفاوت نیز با تابع CHAR تعیین می شود. در نهایت، تابع FIND موقعیت کاراکتر تعویضی در رشته را برمی گرداند.
مقایسه FIND و SEARCH
توابع FIND و SEARCH بسیار شبیه به یکدیگر هستند، هر دو تابع موقعیت یک کاراکتر یا زیر رشته خاص را در یک رشته دیگر را برمی گردانند. با این حال چند تفاوت وجود دارد:
- تابع FIND به حروف کوچک و بزرگ حساس است اما تابع SEARCH اینگونه نیست.
- تابع FIND کاراکترهای آزاد را نمی پذیرد اما تابع SEARCH این امکان را فراهم می کند.
در مثال زیر چند نمونه از این تفاوت ها را قابل مشاهده است:
تابع FIND در Google Sheets
تابع FIND در صفحه های اکسل گوگل نیز به طور کامل مشابه اکسل است:
تابع FIND در VBA
تابع FIND در VBA به صورت زیر نوشته می شود.
application.worksheetfunction.find(find_text,within_text,start_num)
برای آرگومان های تابع (find_text و ..) می توانید رشته را به طور مستقیم وارد کنید یا متغیرهایی تعریف کنید که به جای آن استفاده شوند.
سلام من یه فایل اکسل از اینترنت دانلود کردیم ولی وقتی فایند رو میزنم حطا میده
پاسخwe couldnt find what میده