نمایش نتایج: از شماره 1 تا 9 , از مجموع 9

موضوع: هزار و یک شب اکسل - شب سی و پنجم استخراج کلمات از یک رشته Extracting Words from a String

  1. #1


    آخرین بازدید
    2022/06/26
    تاریخ عضویت
    January 2013
    محل سکونت
    شیراز
    نوشته ها
    1,198
    امتیاز
    3248
    سپاس
    1,566
    سپاس شده
    3,182 در 795 پست
    سطح اکسل
    84.00 %

    Exclamation هزار و یک شب اکسل - شب سی و پنجم استخراج کلمات از یک رشته Extracting Words from a String

    به نام خداوندگار ایران زمین
    با درود

    Extracting Words from a String
    استخراج کلمات از یک رشته :
    فرمولهای که در داستان امشبمون به انها میپردازیم برای استخراج کلمه یا کلمات از یک textوارد شده داخل یک سل مفید است. بعنوان مثال شما از یه فرمول استفاده کنید تا اولین کلمه رو در یک جمله استخراج کنید یا مثلا نام و نام خانوادگی رو توی یه سل دارین و میخواین نام رو از نام خانوادگی جدا کنیین.
    Extracting the first word of a string
    برای استخراج اولین کلمه در یک رشته که با اسپیس از کلمه بعدی جدا شده مثل نام و نام خانوادگی از تابع Left استفاده میکنیم و تابع Find برای پیدا کردن این فاصله .

    کد:
    =LEFT(A1,FIND(" ",A1)-1)
    این فرمول ما،تکست ما قبل اولین فاصله رو برای ما برمیگردونه که در یک سل مانند A1 وارد شده باشد.این تابع اگر که تکست ما فاصله ای در اون نباشه با ارور مواجه میشه به خاطر اینکه شامل یک تک کلمه است. یک فرمول که یه ذره پیچیده تر باشه این مشکل رو حل میکنه بله درسته تابع IFERROR :
    کد:
    =IFERROR(LEFT(A1,FIND(" ",A1)-1),A1)
    اگر شما دارین از ورژن های پایین تر اکسل استفاده میکنین که این تابع رو نداره میتونین فرمول رو به طریق زیر اصلاح کنین :
    کد:
    =IF(ISERR(FIND(" ",A1)),A1,LEFT(A1,FIND(" ",A1)-1))
    Extracting the last word of a string
    استخراج اخرین کلمه از یک رشته پیچیده تره چون تابع Find تنها از چپ به راست کار میکنه . بنابر این ، مشکل ما با مکان اخرین اسپیس هست.
    فرمولی که در ادامه مطرح میشه این مشکل رو حل میکنه .

    کد:
    =RIGHT(A1,LEN(A1)-FIND("*",SUBSTITUTE(A1, " ","*",LEN(A1)-LEN(SUBSTITUTE(A1, " ","")))))
    این فرمول هم همون مشکل بالا رو داره و اگر فاصله ای در رشته ما نباشه به مشکل مواجه میشه پس اینبار هم با IFERROR محکمش میکنیم .
    کد:
    =IFERROR(RIGHT(A1,LEN(A1)-FIND("*",SUBSTITUTE(A1, " ","*",LEN(A1)-LEN(SUBSTITUTE(A1, " ",""))))),A1)
    اگر هم دارین از ورژن های قدیمی استفاده میکنین بدین صورت میشه :
    کد:
    =IF(ISERR(FIND("",A1)),A1,RIGHT(A1,LEN(A1)-FIND("*",SUBSTITUTE(A1, " ","*",LEN(A1)-LEN(SUBSTITUTE(A1, " ",""))))))
    Extracting all except the first word of a string
    استخراج همه کلمات یک رشته بجز اولین کلمه . واسه اونایی که اسمشون چند کلمه ای هستش بسیار کاربرد داره.

    فرمول زیر محتویات سل A1 رو بدون اولین کلمه را برای ما برای ما بر میگرداند .

    کد:
    =RIGHT(A1,LEN(A1)-FIND(" ",A1,1))
    مثلا اگر داشته باشیم Amin Esmaeili Shirazi جواب میشه Esmaeili Shirazi
    مثل تموم فرمول ها ی بالا اگر کلمه ما یک کلمه باشه یعنی فاصله ای در آن نباشه با مشکل مواجه میشه پس :
    کد:
    =IFERROR(RIGHT(A1,LEN(A1)-FIND(" ",A1,1)),A1)
    و در ورژن های پایین میشه :
    کد:
     
    =IF(ISERR(FIND(" ",A1)),"",RIGHT(A1,LEN(A1)-FIND(" ",A1,1)))
    خب دوستای گلم شب همگیتون شیک و مجلسی ، برم که فک کنم شیرازی بودن اومد سراغم تا شبی دیگر و هزار و یک شب اکسلی دیگر بدرود
    اخطار: این یک موضوع قدیمی است
    به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید.
    در پناه خداوندگار ایران زمین باشید و پیروز


  2.  

  3. #2


    آخرین بازدید
    2022/06/26
    تاریخ عضویت
    January 2013
    محل سکونت
    شیراز
    نوشته ها
    1,198
    امتیاز
    3248
    سپاس
    1,566
    سپاس شده
    3,182 در 795 پست
    سطح اکسل
    84.00 %

    با درود مجدد
    خب رفتم بخوابم حیفم اومد که ازتون کار نکشم تنبلااااااااااااااااااااا ااا البته شوخی بودا
    فرض کنید توی یه ستون ما یه سری اسامی داریم حالا شما انگلیسی بنویسین . که ممکنه شامل نام و نام خانوادگی و یا اسم وسط هم باشن مانند Franklin L. Jakson . حالا میخواهیم که این اسامی در سه ستون مجزا بر اساس نام و نام خانوادگی و نام وسط تفکیک بشن . ستون B مثلا first name , ستون C نام وسط شخص , ستون D نام خانوادگی. فقط یه مورد ممکنه یه سری از اسامی نام وسط نداشته باشن . ممکنه یه کلمه ای باشن . همه این ایرادا باید گرفته بشن. راهنمایی مشکلتون تو نام وسط هستش چون اولی و اخری رو تو تمرین بالا با هم مرور کردیم . یال بچه ها
    از جایی کپی برداری نکنین که کشتمتون
    در پناه خداوندگار ایران زمین باشید و پیروز


  4. #3
    mokaram آنلاین نیست.
    مدير تالار اکسل و بانک اطلاعاتی


    محصولات کاربر

    ويدئوي ايجاد سطح دسترسي
    آخرین بازدید
    2023/04/20
    تاریخ عضویت
    February 2011
    محل سکونت
    ســــاوه
    نوشته ها
    1,805
    امتیاز
    6409
    سپاس
    8,099
    سپاس شده
    5,163 در 1,502 پست
    سطح اکسل
    74.00 %

    mokaram به Yahoo ارسال پیام
    ممنون از زحمات شبانه روزی شما استاد اسماعیلی
    برا حالتی که فامیلی دو قسمتی باشه مثل حسین خانی ، قوام آبادی راه حلی هست؟


  5. سپاس ها (1)


  6. #4


    آخرین بازدید
    2022/06/26
    تاریخ عضویت
    January 2013
    محل سکونت
    شیراز
    نوشته ها
    1,198
    امتیاز
    3248
    سپاس
    1,566
    سپاس شده
    3,182 در 795 پست
    سطح اکسل
    84.00 %

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


  7. #5
    mokaram آنلاین نیست.
    مدير تالار اکسل و بانک اطلاعاتی


    محصولات کاربر

    ويدئوي ايجاد سطح دسترسي
    آخرین بازدید
    2023/04/20
    تاریخ عضویت
    February 2011
    محل سکونت
    ســــاوه
    نوشته ها
    1,805
    امتیاز
    6409
    سپاس
    8,099
    سپاس شده
    5,163 در 1,502 پست
    سطح اکسل
    74.00 %

    mokaram به Yahoo ارسال پیام
    نقل قول نوشته اصلی توسط امين اسماعيلي نمایش پست ها
    با درود
    یعنی میخوی چیکارش کنی
    میخوام فقط فامیلی را بده دیگه



  8. #6


    آخرین بازدید
    2022/12/05
    تاریخ عضویت
    October 2011
    محل سکونت
    مشهد
    نوشته ها
    4,374
    امتیاز
    12614
    سپاس
    4,596
    سپاس شده
    11,990 در 3,203 پست
    سطح اکسل
    70.00 %

    این مواردی که محمد رضا سوال کرد راهی نداره ، من خودم همیشه نام و نام خانوادگی رو با یک علامت ویژه مینویسم که در صورت نیاز راحت جدا بشه ، علی ایحال کلا پیشنهادم اینه که تو کاراتون فیلدای نام و نام خانوادگی جدا باشه ، والا موارد خاص مثل مثالای محمد رضا باید دستی انجام بشه




  9. #7


    آخرین بازدید
    2022/06/26
    تاریخ عضویت
    January 2013
    محل سکونت
    شیراز
    نوشته ها
    1,198
    امتیاز
    3248
    سپاس
    1,566
    سپاس شده
    3,182 در 795 پست
    سطح اکسل
    84.00 %

    با درود
    تو مورد بالا که عرض کردم شما نام کوچیکو میتونی جدا کنی درسته . یعنی با یه اسپیس جدا شده . بعدشم هر چی میمونه میشه فامیلی مگه من فرمولو نذاشتم . حالا مشکل زمانی پیش میاد که اسمت دو حرفی باشه
    وگرنه اگر فامیلی دو حرفی باشه مشکلی باهاش نداریم. واسه همین اگر با یه کارکتر مناسب جدا شده باشن . یعنی تشخیص نام اول و دوم بهتر مشخص بشه حله
    در ضمن این تکلیف رو هم کسی انجام ندادا
    در پناه خداوندگار ایران زمین باشید و پیروز

  10. سپاس ها (1)


  11. #8


    آخرین بازدید
    2022/06/26
    تاریخ عضویت
    January 2013
    محل سکونت
    شیراز
    نوشته ها
    1,198
    امتیاز
    3248
    سپاس
    1,566
    سپاس شده
    3,182 در 795 پست
    سطح اکسل
    84.00 %

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

    مثلا تو سل A1 داریم یه اسم سه کلمه ای مثل Amanda M. esmaeili حالا میخوایم اسم اول Amanda بیاد تو سل B1 و M. اسم وسط بیاد تو C1 و esmaili باید تو D1 خب به ترتیب تو B1 و C1 و D1 فرمول های زیر رو بنویسین . در ضمن اگر یه تک اسم بنویسین تو فرمول های زیر ما اینطور در نطر گرفتیم که این میتونه اسم کوچیک باشه یا اسم بزرگ چون نمیدونیم پس تو هر دوش میزاریمش

    کد:
    =IFERROR(LEFT(A1,FIND(" ",A1)-1),A1)
    کد:
    =IF(LEN(B1&D1)+2>=LEN(A1),"",MID(A1,LEN(B1)+2,LEN(A1)-LEN(B1&D1)-2))
    کد:
    =IFERROR(RIGHT(A1,LEN(A1)-FIND("*",SUBSTITUTE(A1," ","*",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))),A1)
    خب هواستون باشه که اسم ما سه کلمه ای هست یا دو کلمه یا تک کلمه . یه اسم چهار کلمه ای منطور اسمی که با 3 تا اسپیش از هم جدا شدن ننویسین بگین امین فلان و بیسان

    دیگه هم تکلیف نداریم . دیگه هم نگین شیرازیااااااااااااااااااا ااا
    در پناه خداوندگار ایران زمین باشید و پیروز


  12. #9


    آخرین بازدید
    2023/10/14
    تاریخ عضویت
    March 2013
    محل سکونت
    مشهد
    نوشته ها
    842
    امتیاز
    3816
    سپاس
    4,083
    سپاس شده
    3,091 در 786 پست
    سطح اکسل
    100 %

    Behnam به Yahoo ارسال پیام
    خخخخخخخخخخخخخخخخخخخخخخخخخ
    آقا خب راست میگه بچه دیگه،چرا هیچکس جواب نمیده؟من خودم جواب بدم؟؟؟؟؟
    خب یه فعالیتی از خودتون نشون بدید دیگه
    هرچیز که در جستن آنی، آنی



اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. پاسخ ها: 0
    آخرين نوشته: 2014/04/21, 02:03
  2. بازی با کلمات در اکسل Play With Words In Excel
    توسط حسام بحرانی در انجمن زنگ تفریح اکسل - Recess
    پاسخ ها: 4
    آخرين نوشته: 2013/11/26, 09:07
  3. حق دسترسی به افراد
    توسط moslemi در انجمن سوالات اكسل - Excel Questions
    پاسخ ها: 0
    آخرين نوشته: 2013/03/13, 23:47
  4. دسترسی به سرور اصلی از طریق VBA
    توسط ~M*E*H*D*I~ در انجمن سوالات پیرامون ويژوال بيسيك - VBA Questions
    پاسخ ها: 0
    آخرين نوشته: 2012/08/09, 15:19

بازدید کنندگان با جستجو های زیر این صفحه را پیدا کرده اند

انجمن اكسل ايران , اكسل , اكسس , سوال و جواب اكسل , سوال اكسس , انجمن اكسل ايران , توابع اكسل, آموزش اكسل, آموزش اكسس, VBA, ويژوال بيسيك

کلمات کلیدی این موضوع

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
  • BB code ها فعال هستند
  • شکلک ها فعال هستند
  • کد [IMG] فعال است
  • کد [VIDEO] فعال است
  • کد HTML غیر فعال است