PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : هزار و یک شب اکسل - شب سی و دوم - استخراج N امین عنصر از یک رشته Extracting the nth element from a string



امين اسماعيلي
2014/04/21, 02:03
با درود
فرض کنید ما یک مقدار رشته ای مثل 123-456-789-9133-8844 داریم حال میخواهیم سومین مقدار رو که با یک جدا کننده مثل - جدا شده اند رو بدست بیاوریم . خوب تا جایی که بنده میدونم با ترکیب توابع میتونیم به جواب خودمون برسیم یعنی با پیدا کردن جایگاه سومی - و چهارمین - و استخراج مقدار بین انها . حالا در این داستان امشب قصد بر این است که ما یک تابع جدید به توابع اکسل خودمون اظافه کنیم و با کار کردن باهاش کارمونو راحت کنیم اخی ای بدرد شیرازیا میخوره به خدا :

خوب برین به بخش ویژوال با کلید میانبر Alt+F11 بعد از بخش Insert یک module ماژول اظافه کنید و تابع زیر رو اونجا کپی کنید و بعدصفحه کد نویسی رو بسته و به محیط اکسل برگردید



Function EXTRACTELEMENT(Txt, n, Separator) As String
' Returns the nth element of a text string, where the
' elements are separated by a specified separator character
Dim AllElements As Variant
AllElements = Split(Txt, Separator)
EXTRACTELEMENT = AllElements(n - 1)
End Function






حال در سلول مثل A1 مقدار 123-456-789-9133-8844 رو وارد کنید و در سل A2 فرمول زیر رو بنویسید. در واقع وقتی شما نام EXTRACTELEMENT یا بخشی از اون رو بعد از مساوی وارد کنید میبینین که این تابع به توابع اکسل اظافه شده .



=EXTRACTELEMENT(A1,3,”-”)


حال به توضیح بخش های مختلف فرموال میپردازیم
Txt : در واقع سل رفرنس یا همون مقدار خودمون هست که میخوایم از توش مقدار n ام رو در بیاریم اگر مقدار وارد میکنین و به سل ارجاء نمیدین وسط نقل قول یادتون نره
n : چندمین مقدار
Separator: همون جدا کننده هست که اعداد ما بوسیله اون از هم جدا شدن. که در مثال بالا - هستش . یادتون نره وسط نقل قول بزارینش