شماره پشتیبانی اکسل پدیا در بله: 09914083023
سبد خرید
0

محصولی در سبد خرید نیست.

بازگشت به فروشگاه
تمام دسته ها
  • تمام دسته ها
  • ابزارها
  • افزونه ها
  • اکسل مدیا
  • Power BI
  • Power Pivot
  • Power Query
  • توابع اکسل
  • دسته‌بندی نشده
  • دیده بان
  • گوگل شیت
  • مسائل کاربردی
  • معرفی کتاب
  • نمودار ها
  • وی بی - ماکرو

جستجو در یک سلول با تابع Find

جستجو در اکسل
۴.۴/۵ - (۱۸ امتیاز)

پیدا کردن عبارتی خاص در یک سلول با استفاده از تابع Find در اکسل

خیلی وقتها میخوایم عبارات داخل سلول رو مورد جستجو قرار بدیم. مثلا میخوایم ببینیم آیا یک کلمه خاص در یک سلول وجود داره یا نه؟ یا مثلا میخوایم عبارت های عددی رو از متن یک سلول استخراج کنیم (البته جستجو کلمات فارسی یه سری نکته ریز داره که در مقاله اصول جستجو در اکسل | جستجوی عبارات فارسی و انگلیسی در موردش صحبت کردیم).
این قبیل کارها رو باید از طریق توابع متنی انجام بدیم. دسته توابع متنی از سری توابع خیلی خیلی کاربردی هستند که بیشتر در هنگام ترکیب خروجی های خیلی خوبی خواهند داشت. تابعی که در این آموزش به آن می پردازیم تابع Find در اکسل هست. حتما این مقاله رو تا انتها مطالعه کنید.

آرگومان های این تابع عبارتند از:

Find_Text: عبارتی که میخواهیم جستجو کنیم.

Within_Text: سلولی که میخواهیم جستجو در اون انجام بشه.

[Start_Num]: این آرگومان اختیاری و از جنس عدد است. اگر خالی بذاریم، جستجو از ابتدای سلول شروع میشه. اگر عدد بذاریم، مثلا ۴. از حرف چهارم به بعد جستجو رو شروع میکنه.

تابع Find در صورت پیدا کردن عبارت مورد نظر، شماره مکان اولین حرف مورد نظر رو داخل سلول میده. پس در صورتیکه جستجو موفق باشه، خروجی، عدد خواهد بود. اگر جستجو به نتیجه نرسه، خروجی خطای #Value! خواهد بود.

حالا با چند مثال کاربرد این تابع رو با هم می بینیم:

در مثال زیر یک سری کد داریم، میخواهیم کدهایی که شامل عدد ۸۷ هستند رو پیدا کنیم.

تابع find در اکسل - پیدا کردن عبارت خاص در یک سلول

شکل ۱- تابع find در اکسل – پیدا کردن عبارت خاص در یک سلول

در فرمول نوشته شده در شکل ۱، در صورتی که عدد ۸۷ در سلول وجود داشته باشه، مکان عدد ۸ رو به عنوان خروجی تابع می بینیم. مثلا در سلول A2 نشون میده که پنجمین حرف ۸ و ششمین حرف ۷ هست.

نکته:در صورتی که عدد ۸۷ در سلول تکرار شده باشه، این تابع مکان اولین عدد ۸۷ که پیدا کنه رو به عنوان خروجی نمایش خواهد داد.

 

حالا فرض کنید بخوایم مسئله رو اینطور حل کنیم که اگر سلول شامل عبارت ۸۷ بود، برامون بزنه “وجود دارد” و اگر نبود، “وجود ندارد”.

مطابق شکل ۲ تابع رو با If و Iserror ترکیب میکنیم.

تابع find در اکسل - ترکیب تابع Find با If و Iserror

شکل ۲- تابع find در اکسل – ترکیب تابع Find با If و Iserror

شرح فرمول:

اگر خروجی تابع Find با خطا مواجه شود یا بعبارتی خطای آن True شود، یعنی عبارت مورد نظر پیدا نشده پس خروجی “وجود ندارد” و در غیر اینصورت خروجی فرمول “وجود دارد” خواهد بود.

حالا فرض کنید بخوایم سوال رو اینطور حل کنیم که دنبال عدد ۸۷ بگردیم، اما بعد از قسمت حروفی در کد یعنی بعد از AD. برای این کار باید ببینیم AD چندمین حرف هست. در این مثال، چون کد هست، تعداد ارقام و الگوی اون ثابت هست. در واقع یک کد ۱۱ رقمی است که AD هشتمین و نهمین حرف سلول هست. پس برای اینکه بتونیم اعداد بعد از AD رو مورد جستجو قرار بدیم، باید آرگومان آخر تابع Find رو ۸ بذاریم. به شکل ۳ دقت کنید. وقتی آرگومان سوم ۸ بذاریم، عملیات جستجو از هشتمین حرف شروع میشه. یعنی به عدد ۸۷ که قبل از حرف AD هست، کاری نداره.

تابع find در اکسل- جستجوی عبارت مورد نظر از یک جایی به بعد

شکل ۳- تابع find در اکسل- جستجوی عبارت مورد نظر از یک جایی به بعد

حالا سوال اینجاست که اگه تعداد ارقام کد ثابت نبود و مکان AD مشخص نبود چی؟

برای این کار اول باید با Find مکان AD رو پیدا کنیم. بعد خروجی این تابع رو در آرگومان سوم تابع Find اصلی بذاریم.

به شکل ۴ دقت کنید:

تابع Find ترکیبی

شکل ۴- تابع Find ترکیبی

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

در این مقاله تابع Find رو کاملا توضیح دادیم. این سوال رو میشه در حالت های مختلف مطرح کرد و راه حل های مختلفی با ترکیب سایر توابع متنی ارائه داد. نکته اصلی در کار کردن با توابع متنی این هست که بتونیم بین داده ها الگوی منطقی پیدا کنیم تا با ترکیب توابع مختلف به نتایج دلخواه برسیم.

کلیدواژه : تابع Findمتوسط
134

من سامان چراغی هستم. دانش آموخته مقطع فوق لیسانس دانشگاه تربیت مدرس در رشته مهندسی صنایع. از سال 1388 اکسل و برنامه نویسی VBA رو به صورت حرفه ای شروع کردم.

دیدگاه کاربران
  • بلالی ۲۲ بهمن ۱۳۹۹ / ۱۱:۱۹ ق٫ظ

    سلام
    من یه لیستی دارم که باید کلمات بعد از یک کلمه ثابت رو جدا کنم چطور اینکار رو بکنم مثلا در سلول ثبت شده(بابت خرید از اقای ………)کلمه از به بعد رو میخام

  • علی ۱۶ بهمن ۱۳۹۹ / ۱۲:۱۳ ب٫ظ

    سلام خسته نباشید
    ببخشید من یه فایل اکسل دارم که اعداد و متن باهم هستن مثلا
    دریافت چک به شماره ۱۲۳۶۵۴ به تاریخ ۹۹/۰۹/۰۹ بابت فروش
    حالا اگه بخوام شماره چک تو یه ستون جدا قرار بگیره باید چیکار کنم
    ممنون

    • آواتار
      حسنا خاکزاد ۱۶ بهمن ۱۳۹۹ / ۸:۲۳ ب٫ظ

      درود بر شما
      این مقاله رو بخونید

      یا از این روش استفاده کنید

  • منا صفری ۲۷ دی ۱۳۹۹ / ۱:۰۷ ب٫ظ

    ببخشید من یک فایل دارم که یک ستون نام و نام خانوادگی هست ستون بعد شماره موبایل و ستون بعد ایمیل این افرادولی همه ی افراد ایمیل یا شماره تلفن ندارند و ممکنه بعضی از افراد نیز هردو را داشته باشند.من چگونه می تونم یک خروجی داشته باشم که اسم اون افرادی رو بهم نشون بده که شماره موبایل دارند؟یا اسم اون افرادی رو نشون بده که هم شماره موبایل و هم ایمیل برای انها ثبت شده است؟

    • آواتار
      حسنا خاکزاد ۲۹ دی ۱۳۹۹ / ۱۱:۵۸ ق٫ظ

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

  • رضا ۱۸ مهر ۱۳۹۹ / ۷:۰۵ ب٫ظ

    سلام.
    من یه جدولی از خطوط تلفن تو اکسل دارم میخام تمامی خطوطی که منتهی به دو رقم خاص مثلا۲۳ میشه را بهم نشون بده.
    میشه راهکارشو بهم بفرمایین.

    • سامان چراغی ۲۱ مهر ۱۳۹۹ / ۸:۰۸ ب٫ظ

      سلام
      جدول رو روی عبارت ۲۳* فیلتر کنید.

  • زانیار ۲۷ شهریور ۱۳۹۹ / ۱۲:۴۴ ب٫ظ

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

    • سامان چراغی ۲۹ شهریور ۱۳۹۹ / ۱۱:۳۶ ق٫ظ

      سلام
      برای انجام این کار باید از VBA استفاده کنید.

      • زانیار ۳۱ شهریور ۱۳۹۹ / ۸:۰۸ ق٫ظ

        سلام vba رو میتونین یکم توضیح بدین

  • Nazanin ۱۷ شهریور ۱۳۹۹ / ۰:۲۴ ق٫ظ

    سلام اکسل یک ستون با ۷۰۰۰سطر دارم ی لیست ۷۵۰۰ تایی دارم چطور این لیستو تو اکسل سرچ کنم کلی ؟؟

  • ELAHIFAR ۲۳ خرداد ۱۳۹۹ / ۱۰:۰۷ ق٫ظ

    سلام
    ضمن تشکر از سایت بسیار عالی و حوصله ای که بخرج میدین جهت پاسخ
    من یه فایل ۱۰۰۰۰ قلمی از کالاها دارم
    که این کالاها بعضیاشون مدل دارن و بعضیاشون ندارن
    محل قرار گیری مدل کالا هم ثابت نیست، به عنوان مثال ۲ تا از کالا ها
    BEARING , MODEL: 6205 , SKF
    CONTACTOR , 5 A , 230 VAC , TYPE: EC2510M5 , SCHNEIDER
    ولی همشون بعد کلمه مدل ۲ نقطه و فاصله را دارند
    model:
    و بعد از مدل مربوطه هم فاصله وجود دارد و کلماتی نوشته شده است

    چجوری میتونم در یک ستون فعال مدل مربوطه را داشته باشم، یعنی یک ستون که فقط این حالت رو نشون بده:
    ۶۲۰۵
    EC2510M5
    راهنمایی بفرمایید ممنونم

    • سامان چراغی ۲۳ خرداد ۱۳۹۹ / ۱۱:۲۰ ق٫ظ

      سلام
      ممنون از لطف شما
      طبق توضیحات شما در مثال دومی که زدید به جای Type: باید Model: میبود که نیست و به نظر میرسه که همه مدل کالاهای شما حاوی کلمه Model نیستند.
      اما به نظرم با استفاده از ابزار Text to Column روی کارکتر : محتویات این ستون رو به دو قسمت تقسیم کنید و یکبار دیگه همین کار را روی کارکتر , انجام بدید که همه اجزای کد شما تقسیم شوند و نهایتا ستون های اضافی ایجاد شده رو حذف کنید.

      • ELAHIFAR ۲۳ خرداد ۱۳۹۹ / ۱۲:۳۷ ب٫ظ

        ممنونم
        با ابزار text to column تا حدودی کارم راه میافته
        آیا این ابزار حالتی داره که به جای جدا کردن بر اساس کاراکتر بر اساس کلمه مورد نظر این کار رو انجام داد؟

        • سامان چراغی ۲۵ خرداد ۱۳۹۹ / ۱۰:۲۴ ق٫ظ

          ابزار Text to Column فقط بر اساس کارکتر کار میکنه و با کلمه نمیشه تفکیک رو ایجاد کرد.
          اگر میخواید عبارتی رو بر اساس یک کلمه خاص جستجو و از درون یک متن بیرون بکشید باید با استفاده از توابع متنی این کار انجام بشه.

  • الناز ۹ خرداد ۱۳۹۹ / ۱۲:۳۳ ب٫ظ

    سلام و درود بر شما. سپاسگزار میشم اگر راهنمایی بفرمایید چطور میتونم این مسئله رو حل کنم.

    در یک فایل اکسل یک ستونی از اعداد وجود دارد که در آن اطلاعات خرید شارژ برخی از مشتریان در ماه گذشته قرار داده شده است. در این فایل هر شماره بیانگر یک مشتری می باشد و در بین شماره ها شماره تکراری وجود ندارد. حال فرض کنید می خواهیم بین افراد موجود در فایل، قرعه کشی برگزار کنیم و جوایزی به آنها اهدا نماییم. مشخص کنید چند نفر در قرعه کشی شرکت خواهند کرد به شرطی که میانگین خرید آنها بین ۱۵۰۰۰ ریال تا ۳۰۰۰۰ ریال باشد.

    با تشکر صمیمانه

    • آواتار
      حسنا خاکزاد ۱۱ خرداد ۱۳۹۹ / ۱۰:۵۷ ق٫ظ

      درود
      میانگین خرید هر نفر رو با تابع averageif حساب کنید و بعد با if مشخص کنید که اگر در بازه مورد نظر قرار گرفته بود، مشخص بشه

  • پوریا ۳ خرداد ۱۳۹۹ / ۱۱:۱۰ ق٫ظ

    سلام ، روز بخیر
    سوالی داشتم که با یک مثال مطرح میکنم
    جدول زیر در اختیار است
    علی ۱۰۰ – ۱۲۰
    حسن ۱۱۰-۱۵۰
    ایمان ۱۰۰-۱۵۰
    (همانطور که متوجه شدید جلوی هر نام بازه عددی نوشته شده)
    حال میخوام سرچ کنم که مثلا عدد ۱۰۵ در کدوم بازها قرار میگیره (که جواب میشه علی و ایمان)
    برای تعریف این چنین فرمول یا فیلتر از چه دستوری میتونم استفاده کنم ؟؟؟
    با سپاس از شما

    • آواتار
      حسنا خاکزاد ۴ خرداد ۱۳۹۹ / ۱۲:۵۸ ب٫ظ

      درود
      میتونید با IF چندشرطی انجام بدید که اگر در بازه قرار گرفت اسم رو نمایش بده

  • احمد ۳۱ اردیبهشت ۱۳۹۹ / ۶:۴۱ ب٫ظ

    سلام.اگه در یک ردیف از اعداد ۱ تا ۲۰۰ به صورت بازه داشته باشم، یعنی به صورت مثلا ۱۰-۱ و در سلول بعدی ۲۲-۱۱ و ۴۰-۲۳ و … و بعد بخوام ببینم مثلا عدد ۱۲۵ در کدام یک از بازه های تعریف شده قرار میگیره و اون بازه رو برام رنگی کنه ، اولا بازه ها رو چجوری باید تایپ کنم و دوما فرمولش رو به چه صورت باید بنویسم؟ ممنونم از راهنماییتون

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

توسط
تومان