
پیدا کردن عبارتی خاص در یک سلول با استفاده از تابع Find در اکسل
خیلی وقتها میخوایم عبارات داخل سلول رو مورد جستجو قرار بدیم. مثلا میخوایم ببینیم آیا یک کلمه خاص در یک سلول وجود داره یا نه؟ یا مثلا میخوایم عبارت های عددی رو از متن یک سلول استخراج کنیم (البته جستجو کلمات فارسی یه سری نکته ریز داره که در مقاله اصول جستجو در اکسل | جستجوی عبارات فارسی و انگلیسی در موردش صحبت کردیم).
این قبیل کارها رو باید از طریق توابع متنی انجام بدیم. دسته توابع متنی از سری توابع خیلی خیلی کاربردی هستند که بیشتر در هنگام ترکیب خروجی های خیلی خوبی خواهند داشت. تابعی که در این آموزش به آن می پردازیم تابع Find در اکسل هست. حتما این مقاله رو تا انتها مطالعه کنید.
آرگومان های این تابع عبارتند از:
Find_Text: عبارتی که میخواهیم جستجو کنیم.
Within_Text: سلولی که میخواهیم جستجو در اون انجام بشه.
[Start_Num]: این آرگومان اختیاری و از جنس عدد است. اگر خالی بذاریم، جستجو از ابتدای سلول شروع میشه. اگر عدد بذاریم، مثلا ۴. از حرف چهارم به بعد جستجو رو شروع میکنه.
تابع Find در صورت پیدا کردن عبارت مورد نظر، شماره مکان اولین حرف مورد نظر رو داخل سلول میده. پس در صورتیکه جستجو موفق باشه، خروجی، عدد خواهد بود. اگر جستجو به نتیجه نرسه، خروجی خطای #Value! خواهد بود.
حالا با چند مثال کاربرد این تابع رو با هم می بینیم:
در مثال زیر یک سری کد داریم، میخواهیم کدهایی که شامل عدد ۸۷ هستند رو پیدا کنیم.

شکل ۱- تابع find در اکسل – پیدا کردن عبارت خاص در یک سلول
در فرمول نوشته شده در شکل ۱، در صورتی که عدد ۸۷ در سلول وجود داشته باشه، مکان عدد ۸ رو به عنوان خروجی تابع می بینیم. مثلا در سلول A2 نشون میده که پنجمین حرف ۸ و ششمین حرف ۷ هست.
نکته:در صورتی که عدد ۸۷ در سلول تکرار شده باشه، این تابع مکان اولین عدد ۸۷ که پیدا کنه رو به عنوان خروجی نمایش خواهد داد.
حالا فرض کنید بخوایم مسئله رو اینطور حل کنیم که اگر سلول شامل عبارت ۸۷ بود، برامون بزنه “وجود دارد” و اگر نبود، “وجود ندارد”.
مطابق شکل ۲ تابع رو با If و Iserror ترکیب میکنیم.

شکل ۲- تابع find در اکسل – ترکیب تابع Find با If و Iserror
شرح فرمول:
اگر خروجی تابع Find با خطا مواجه شود یا بعبارتی خطای آن True شود، یعنی عبارت مورد نظر پیدا نشده پس خروجی “وجود ندارد” و در غیر اینصورت خروجی فرمول “وجود دارد” خواهد بود.
حالا فرض کنید بخوایم سوال رو اینطور حل کنیم که دنبال عدد ۸۷ بگردیم، اما بعد از قسمت حروفی در کد یعنی بعد از AD. برای این کار باید ببینیم AD چندمین حرف هست. در این مثال، چون کد هست، تعداد ارقام و الگوی اون ثابت هست. در واقع یک کد ۱۱ رقمی است که AD هشتمین و نهمین حرف سلول هست. پس برای اینکه بتونیم اعداد بعد از AD رو مورد جستجو قرار بدیم، باید آرگومان آخر تابع Find رو ۸ بذاریم. به شکل ۳ دقت کنید. وقتی آرگومان سوم ۸ بذاریم، عملیات جستجو از هشتمین حرف شروع میشه. یعنی به عدد ۸۷ که قبل از حرف AD هست، کاری نداره.

شکل ۳- تابع find در اکسل- جستجوی عبارت مورد نظر از یک جایی به بعد
حالا سوال اینجاست که اگه تعداد ارقام کد ثابت نبود و مکان AD مشخص نبود چی؟
برای این کار اول باید با Find مکان AD رو پیدا کنیم. بعد خروجی این تابع رو در آرگومان سوم تابع Find اصلی بذاریم.
به شکل ۴ دقت کنید:

شکل ۴- تابع Find ترکیبی
در این فرمول قسمت FIND(“AD”,A1) مکان AD رو در هر سلول پیدا میکنه. خروجی این تابع به عنوان آرگومان سوم در تابع Find اول قرار داده میشه.
در این مقاله تابع Find رو کاملا توضیح دادیم. این سوال رو میشه در حالت های مختلف مطرح کرد و راه حل های مختلفی با ترکیب سایر توابع متنی ارائه داد. نکته اصلی در کار کردن با توابع متنی این هست که بتونیم بین داده ها الگوی منطقی پیدا کنیم تا با ترکیب توابع مختلف به نتایج دلخواه برسیم.





سلام
من یه لیستی دارم که باید کلمات بعد از یک کلمه ثابت رو جدا کنم چطور اینکار رو بکنم مثلا در سلول ثبت شده(بابت خرید از اقای ………)کلمه از به بعد رو میخام
درود
این مقاله رو بخونید و ایده بگیرید برای حل مسئله خودتون
https://excelpedia.net/number-extraction/
سلام خسته نباشید
ببخشید من یه فایل اکسل دارم که اعداد و متن باهم هستن مثلا
دریافت چک به شماره ۱۲۳۶۵۴ به تاریخ ۹۹/۰۹/۰۹ بابت فروش
حالا اگه بخوام شماره چک تو یه ستون جدا قرار بگیره باید چیکار کنم
ممنون
درود بر شما
این مقاله رو بخونید
یا از این روش استفاده کنید
ببخشید من یک فایل دارم که یک ستون نام و نام خانوادگی هست ستون بعد شماره موبایل و ستون بعد ایمیل این افرادولی همه ی افراد ایمیل یا شماره تلفن ندارند و ممکنه بعضی از افراد نیز هردو را داشته باشند.من چگونه می تونم یک خروجی داشته باشم که اسم اون افرادی رو بهم نشون بده که شماره موبایل دارند؟یا اسم اون افرادی رو نشون بده که هم شماره موبایل و هم ایمیل برای انها ثبت شده است؟
درود
اگر ستون ها مجزاست(موبایل و ایمیل) که خیلی راحت میتونید با پیوت، فیلتر یا فرمول نویسی اینکار و بکنید
بستگی داره شما کدوم روش رو مسلط باشید
اما اگه همه در یک ستون و درهمه، باید از تابع Find استفاده کنید و @ رو سرچ کنید برای ایمیل ها و بعد مابقی ماجرا
سلام.
من یه جدولی از خطوط تلفن تو اکسل دارم میخام تمامی خطوطی که منتهی به دو رقم خاص مثلا۲۳ میشه را بهم نشون بده.
میشه راهکارشو بهم بفرمایین.
سلام
جدول رو روی عبارت ۲۳* فیلتر کنید.
با سلام من میخوام در یک فایل اکسل محتوی اسامی و ادرس و تلفن و… ، در یک سلول مجزا جستجو بر اساس ستون نام خانوادگی رو تایپ میکنم فقط ردیف هایی رو شام اون نام خانوادگی باشه رو نشون بده. یعنی در سلول جستجو با هر بار تایپ حروف فقط نام خانوادگی ای را شامل اون حروف باشه نشون بده
سلام
برای انجام این کار باید از VBA استفاده کنید.
سلام vba رو میتونین یکم توضیح بدین
سلام اکسل یک ستون با ۷۰۰۰سطر دارم ی لیست ۷۵۰۰ تایی دارم چطور این لیستو تو اکسل سرچ کنم کلی ؟؟
درود
مقاله زیر رو مطالعه کنید
https://excelpedia.net/compare-lists/
سلام
ضمن تشکر از سایت بسیار عالی و حوصله ای که بخرج میدین جهت پاسخ
من یه فایل ۱۰۰۰۰ قلمی از کالاها دارم
که این کالاها بعضیاشون مدل دارن و بعضیاشون ندارن
محل قرار گیری مدل کالا هم ثابت نیست، به عنوان مثال ۲ تا از کالا ها
BEARING , MODEL: 6205 , SKF
CONTACTOR , 5 A , 230 VAC , TYPE: EC2510M5 , SCHNEIDER
ولی همشون بعد کلمه مدل ۲ نقطه و فاصله را دارند
model:
و بعد از مدل مربوطه هم فاصله وجود دارد و کلماتی نوشته شده است
چجوری میتونم در یک ستون فعال مدل مربوطه را داشته باشم، یعنی یک ستون که فقط این حالت رو نشون بده:
۶۲۰۵
EC2510M5
راهنمایی بفرمایید ممنونم
سلام
ممنون از لطف شما
طبق توضیحات شما در مثال دومی که زدید به جای Type: باید Model: میبود که نیست و به نظر میرسه که همه مدل کالاهای شما حاوی کلمه Model نیستند.
اما به نظرم با استفاده از ابزار Text to Column روی کارکتر : محتویات این ستون رو به دو قسمت تقسیم کنید و یکبار دیگه همین کار را روی کارکتر , انجام بدید که همه اجزای کد شما تقسیم شوند و نهایتا ستون های اضافی ایجاد شده رو حذف کنید.
ممنونم
با ابزار text to column تا حدودی کارم راه میافته
آیا این ابزار حالتی داره که به جای جدا کردن بر اساس کاراکتر بر اساس کلمه مورد نظر این کار رو انجام داد؟
ابزار Text to Column فقط بر اساس کارکتر کار میکنه و با کلمه نمیشه تفکیک رو ایجاد کرد.
اگر میخواید عبارتی رو بر اساس یک کلمه خاص جستجو و از درون یک متن بیرون بکشید باید با استفاده از توابع متنی این کار انجام بشه.
سلام و درود بر شما. سپاسگزار میشم اگر راهنمایی بفرمایید چطور میتونم این مسئله رو حل کنم.
در یک فایل اکسل یک ستونی از اعداد وجود دارد که در آن اطلاعات خرید شارژ برخی از مشتریان در ماه گذشته قرار داده شده است. در این فایل هر شماره بیانگر یک مشتری می باشد و در بین شماره ها شماره تکراری وجود ندارد. حال فرض کنید می خواهیم بین افراد موجود در فایل، قرعه کشی برگزار کنیم و جوایزی به آنها اهدا نماییم. مشخص کنید چند نفر در قرعه کشی شرکت خواهند کرد به شرطی که میانگین خرید آنها بین ۱۵۰۰۰ ریال تا ۳۰۰۰۰ ریال باشد.
با تشکر صمیمانه
درود
میانگین خرید هر نفر رو با تابع averageif حساب کنید و بعد با if مشخص کنید که اگر در بازه مورد نظر قرار گرفته بود، مشخص بشه
سلام ، روز بخیر
سوالی داشتم که با یک مثال مطرح میکنم
جدول زیر در اختیار است
علی ۱۰۰ – ۱۲۰
حسن ۱۱۰-۱۵۰
ایمان ۱۰۰-۱۵۰
(همانطور که متوجه شدید جلوی هر نام بازه عددی نوشته شده)
حال میخوام سرچ کنم که مثلا عدد ۱۰۵ در کدوم بازها قرار میگیره (که جواب میشه علی و ایمان)
برای تعریف این چنین فرمول یا فیلتر از چه دستوری میتونم استفاده کنم ؟؟؟
با سپاس از شما
درود
میتونید با IF چندشرطی انجام بدید که اگر در بازه قرار گرفت اسم رو نمایش بده
سلام.اگه در یک ردیف از اعداد ۱ تا ۲۰۰ به صورت بازه داشته باشم، یعنی به صورت مثلا ۱۰-۱ و در سلول بعدی ۲۲-۱۱ و ۴۰-۲۳ و … و بعد بخوام ببینم مثلا عدد ۱۲۵ در کدام یک از بازه های تعریف شده قرار میگیره و اون بازه رو برام رنگی کنه ، اولا بازه ها رو چجوری باید تایپ کنم و دوما فرمولش رو به چه صورت باید بنویسم؟ ممنونم از راهنماییتون
درود
یک راه استفاده از تابع vlookup بصورت بازه ای هست