اکسل آخرین رخداد کاراکتر در رشته را بیابد (6 روش)

  • این را به اشتراک بگذارید
Hugh West

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

برای اولین روش 4 ، ما موقعیت اسلش رو به جلو را پیدا خواهیم کرد. " / " برای همه مقادیر در Employee Code . پس از آن، رشته را پس از آخرین اسلش در آخرین متدهای 2 خروجی می گیریم.

دانلود کتاب تمرین تمرین

پیدا کردن آخرین رخداد کاراکتر در String.xlsm

6 روش در اکسل برای یافتن آخرین مورد از کاراکتر در رشته

1. استفاده از FIND & توابع SUBSTITUTE در اکسل برای یافتن موقعیت آخرین وقوع کاراکتر در رشته

برای روش اول، ما از تابع FIND ، تابع SUBSTITUTE استفاده می کنیم. ، تابع CHAR و تابع LEN برای پیدا کردن آخرین موقعیت اسلش در رشته ما .

مراحل:

  • ابتدا فرمول زیر را در سلول D5 تایپ کنید.
=FIND(CHAR(134),SUBSTITUTE(C5,"/",CHAR(134),(LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))/LEN("/")))

تجزیه فرمول

عملکرد اصلی ما FIND است. ما مقدار CHAR(134) را در رشته خود پیدا می کنیم.

  • CHAR(134)
    • خروجی:† .
    • ما باید کاراکتری را تنظیم کنیم که در رشته های ما وجود نداشته باشد. ما آن را انتخاب کردیم زیرا در رشته ها نادر است. اگر به نحوی این را در رشته های خود دارید، آن را به هر چیزی که در رشته شما نیست تغییر دهید (به عنوان مثال " @ "، " ~ "، و غیره).
  • SUBSTITUTE(C5,”/”,CHAR(134),(LEN(C5)-LEN(SUBSTITUTE(C5”/”””)))/LEN(“/ ”)) -> تبدیل می شود،
  • SUBSTITUTE(C5,”/”,”†”,(17-LEN(“Mike32Marketing”))/1) -> تبدیل می شود،
  • SUBSTITUTE("Mike/32/Marketing","/""†",(17-15)/1)
    • خروجی : "Mike/32†Marketing" .
  • اکنون فرمول کامل ما می شود،
  • =FIND("†","Mike/32 †بازاریابی")
    • خروجی: 8 .
  • دوم، ENTER<2 را فشار دهید>.

مقدار 8 را خواهیم دید. اگر به صورت دستی از سمت چپ بشماریم، 8 را به عنوان موقعیت اسلش در سلول C5 دریافت خواهیم کرد.

  • در نهایت، از Fill Handle برای کپی کردن فرمول استفاده کنید.

بنابراین، ما موقعیت آخرین را داریم. وجود یک کاراکتر در رشته ما .

بیشتر بخوانید: تابع Excel: FIND در مقابل SEARCH (تحلیل مقایسه ای)

2. اعمال MATCH & توابع SEQUENCE در اکسل برای یافتن موقعیت آخرین وقوع کاراکتر در رشته

برای روش دوم، ما از تابع MATCH ، تابع SEQUENCE استفاده می کنیم. ، MID تابع، و تابع LEN برای یافتن موقعیت آخرین رخداد یک کاراکتر در رشته . به یاد داشته باشید که تابع SEQUENCE فقط در Excel 365 یا Excel 2021 موجود است.

مراحل:

  • ابتدا فرمول زیر را در سلول D5 تایپ کنید.
=MATCH(2,1/(MID(C5,SEQUENCE(LEN(C5)),1)="/"))

تجزیه فرمول

  • SEQUENCE(LEN(C5))
    • خروجی: {1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17} .
    • <1 تابع>LEN طول سلول C5 را اندازه گیری می کند. تابع SEQUENCE لیستی از اعداد را به ترتیب در یک آرایه برمی گرداند.
  • MATCH(2,1/(MID(C5,{1;2; 3;4;5;6;7;8;9;10;11;12;13;14;15;16;17}،1)=”/”)))
    • خروجی: 8 .
    • عملکرد Match آخرین مقدار 1 را در فرمول ما پیدا می کند. در موقعیت 8 قرار دارد.

  • دوم، ENTER را فشار دهید. .

با استفاده از فرمول، موقعیت به جلو-اسلش را به صورت 8 در رشته خود پیدا کردیم.

  • در نهایت، از فرمول Fill Handle تا AutoFill استفاده کنید.

در نتیجه، ما فرمول دیگری را برای یافتن آخرین موقعیت یک کاراکتر در رشته اعمال کرده ایم.

بیشتر بخوانید: نحوه یافتن کاراکتر در String Excel (8 روش آسان)

3. استفاده از یک فرمول آرایه در اکسل برای یافتن موقعیتآخرین وقوع کاراکتر در رشته

ما از تابع ROW ، تابع INDEX ، MATCH ، <1 استفاده خواهیم کرد> MID و توابع LEN برای ایجاد یک فرمول آرایه برای یافتن موقعیت آخرین رخداد یک کاراکتر در رشته .

مراحل:

  • ابتدا فرمول را از زیر تایپ کنید تا سلول D5 .
=MATCH(2,1/(MID(C5,ROW($C$1:INDEX(C:C,LEN(C5))),1)="/"))

تجزیه فرمول

فرمول مشابه روش 2 است. ما از تابع ROW و INDEX برای تکرار خروجی به عنوان تابع SEQUENCE استفاده می کنیم.

  • ROW ($C$1:INDEX(C:C,LEN(C5)))
    • خروجی: {1;2;3;4;5;6;7;8;9; 10;11;12;13;14;15;16;17} .
    • می بینیم که خروجی یکسان است. تابع INDEX مقدار یک محدوده را برمی گرداند. تابع LEN طول رشته را از سلول C5 شمارش می کند. در نهایت، تابع ROW مقادیر سلول را از 1 به سلول طول C5 برمی‌گرداند. بقیه فرمول مانند روش 2 است.

  • ثانیاً <1 را فشار دهید>ENTER .

ما 8 را به عنوان مقدار مورد انتظار داریم. فرمول ما بی عیب و نقص کار کرد.

توجه: ما از نسخه Excel 365 استفاده می کنیم. اگر از نسخه قدیمی‌تری استفاده می‌کنید، باید CTRL + SHIFT + ENTER را فشار دهید.

  • در نهایت، دوبار فشار دهید. - Fill Handle را کلیک کرده یا به پایین بکشید.

مرحله نهایی باید به این صورت باشد.

ادامه مطلب: پیدا کردن اولین وقوع یک مقدار در یک محدوده در اکسل (3 روش)

خواندنهای مشابه

  • نحوه یافتن * کاراکتر غیر عام در اکسل (2 روش)
  • نحوه استفاده از فرمول اکسل برای یافتن شماره ردیف آخر با داده (2 روش)
  • پیدا کردن آخرین مقدار در ستون بزرگتر از صفر در اکسل (2 فرمول آسان)
  • نحوه یافتن پیوندها در اکسل
  • پیدا کردن پیوندهای خارجی در اکسل (6 روش سریع)

4. تابع تعریف شده توسط کاربر برای یافتن موقعیت آخرین وقوع کاراکتر در رشته

در این روش، از فرمول سفارشی VBA برای یافتن آخرین موقعیت کاراکتر در رشته استفاده می کنیم. بدون مقدمه، بیایید وارد عمل شویم.

مراحل:

  • ابتدا، ALT + را فشار دهید F11 برای باز کردن پنجره VBA .

برای انجام این کار می توانید Visual Basic را از برگه Developer انتخاب کنید. همچنین.

  • ثانیاً، از درج >>> Module را انتخاب کنید.

  • ثالثاً، کد زیر را copy و paste انتخاب کنید. .
4359

ما یک تابع سفارشی به نام " LOccurence " ایجاد کرده ایم. تابع InStrRev یک تابع VBA است که موقعیت انتهایی کاراکتر را برمی‌گرداند. مقدار سلول مان را به عنوان وارد می کنیم x1 و کاراکتر خاص (در مورد ما، یک میز به جلو است) به صورت x2 در این تابع سفارشی.

  • بعد از آن، پنجره VBA را ببندید و به وضعیت VBA برگ بروید.
  • فرمول زیر را در سلول D5 تایپ کنید.
=LOccurence(C5,"/")

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

  • سپس، ENTER را فشار دهید.

ما 8 را به عنوان آخرین مورد انتظار داریم موقعیت میز به جلو رخ داد.

  • در نهایت، می‌توانیم فرمول را با استفاده از Fill Handle به پایین بکشیم.

بنابراین، ما فرمول دیگری را برای یافتن موقعیت آخرین رخداد یک شخصیت اعمال کرده ایم.

بیشتر بخوانید: نحوه یافتن کاراکتر در رشته از راست در اکسل (4 روش آسان)

5. استفاده از توابع ترکیبی در اکسل برای یافتن آخرین وقوع C haracter در String

تا اینجا، ما نحوه پیدا کردن آخرین موقعیت یک کاراکتر را دیدیم. اکنون می خواهیم از تابع SEARCH ، تابع RIGHT ، SUBSTITUTE ، LEN ، CHAR استفاده کنیم. توابع برای نشان دادن رشته پس از آخرین وقوع یک کاراکتر. به عبارت ساده تر، ما بخش کارمندان را از کد کارمند خروجی خواهیم دادستون .

مراحل:

  • ابتدا فرمول زیر را در سلول D5<تایپ کنید 2>.
=RIGHT(C5,LEN(C5)-SEARCH(CHAR(134),SUBSTITUTE(C5,"/",CHAR(134),LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))))

تفکیک فرمول

  • SUBSTITUTE(C5,”/”,CHAR(134),LEN(C5)-LEN(SUBSTITUTE(C5”/”””))) -> می شود،
  • SUBSTITUTE(C5,”/”,CHAR(134),2)
    • خروجی: “Mike/32†Marketing” .
    • تابع SUBSTITUTE یک مقدار را با مقدار دیگری جایگزین می کند. در مورد ما، هر اسلش رو به جلو را با یک در قسمت اول و با جای خالی در قسمت دوم جایگزین می‌کند. سپس تابع LEN طول آن را اندازه گیری می کند. به این ترتیب ما ارزش خود را به دست آورده ایم.
  • SEARCH("†","Mike/32†بازاریابی")
    • خروجی: 8 .
    • عملکرد SEARCH کاراکتر ویژه را در خروجی قبلی ما پیدا می کند. در نتیجه، آن را در 8th
  • در نهایت، فرمول ما به RIGHT(C5,9)
    • کاهش می‌یابد. خروجی: "بازاریابی" .
    • عملکرد RIGHT مقدار سلول را تا تعداد معینی از نویسه ها از سمت راست برمی گرداند. ما موقعیت آخرین اسلش رو به جلو را در هشتم یافتیم طول سلول C5 17 و است. 17 8 = 9 . بنابراین، ما 9 شخصیت را از سمت راست به عنوان خروجی داریم.

  • دوم، ENTER را فشار دهید.

ما رشته را بعد ازآخرین اسلش به جلو .

  • در نهایت، از Fill Handle تا AutoFill فرمولها در سلول استفاده کنید محدوده D6:D10 .

بنابراین، رشته را بعد از آخرین رخداد استخراج کردیم از یک شخصیت .

بیشتر بخوانید: چگونه پیدا کنیم سلول حاوی متن خاصی در اکسل است

6. فرمول VBA سفارشی در اکسل برای یافتن آخرین رخداد کاراکتر در رشته

برای روش آخر، ما از فرمول VBA سفارشی استفاده می کنیم. رشته را بعد از اسلش جلو استخراج کنید.

مراحل:

  • ابتدا، ALT + F11 را فشار دهید تا پنجره VBA نمایش داده شود.

شما می توانید Visual Basic را از <انتخاب کنید. 1>برنامه Developer را نیز انجام دهید.

  • ثانیاً، از Insert >>> Module را همانطور که در روش 4 انجام دادیم انتخاب کنید.
  • ثالثاً کد زیر را copy و paste کنید.
8329

ما یک تابع سفارشی به نام " LastString " ایجاد می کنیم. این تابع موقعیت ابتدایی رشته‌ها را پس از آخرین وقوع یک کاراکتر برمی‌گرداند.

  • پس از آن، فرمول را از زیر در سلول D5 تایپ کنید.
=RIGHT(C5,LEN(C5)-LastString(C5,"/")+1)

تفکیک فرمول

  • LastString(C5,”/”)
    • خروجی: 9 .
    • در اینجا ما موقعیت شروع رشته را بلافاصله بعد از آخرین اسلش رو به جلو .
  • LEN(C5)
    • خروجی: 17 .
  • LEN(C5)-LastString(C5,”/”)+1
    • خروجی: 9.
    • ما باید 1 را اضافه کنیم، در غیر این صورت با " M " مقدار دریافت خواهیم کرد.
  • فرمول ما به <کاهش می یابد. 1>RIGHT(C5,9)
    • خروجی: " بازاریابی ".

  • ENTER را فشار دهید.

ما مقدار " Marketing " را دریافت خواهیم کرد.

  • در نهایت، AutoFill فرمول تا سلول C10 .

ما به هدف. فرمول همانطور که در نظر گرفته شده است کار می کند.

بیشتر بخوانید: نحوه یافتن آخرین ردیف با یک مقدار خاص در اکسل (6 روش)

بخش تمرین

ما مجموعه داده های تمرینی را در کنار هر روش در فایل Excel پیوست کرده ایم. می‌توانید در این کار بهتر شدن را تمرین کنید.

نتیجه‌گیری

ما روش‌های 6 را به شما نشان داده‌ایم. در اکسل برای یافتن آخرین رخداد کاراکتر در رشته . اگر در این مورد مشکلی دارید، در زیر نظر دهید. از خواندن متشکریم و به عالی بودن ادامه دهید!

هیو وست یک مربی و تحلیلگر اکسل بسیار با تجربه با بیش از 10 سال تجربه در این صنعت است. وی دارای مدرک لیسانس در رشته حسابداری و امور مالی و مدرک کارشناسی ارشد در رشته مدیریت بازرگانی است. هیو علاقه زیادی به تدریس دارد و یک رویکرد آموزشی منحصر به فرد ایجاد کرده است که به راحتی قابل پیگیری و درک است. دانش تخصصی او از اکسل به هزاران دانش آموز و متخصص در سراسر جهان کمک کرده تا مهارت های خود را بهبود بخشند و در حرفه خود برتری پیدا کنند. هیو از طریق وبلاگ خود دانش خود را با جهان به اشتراک می گذارد و آموزش های رایگان اکسل و آموزش آنلاین ارائه می دهد تا به افراد و مشاغل کمک کند تا به پتانسیل کامل خود دست یابند.