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

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • امين اسماعيلي
    مدير تالار ويژوال بيسيك

    • 2013/01/17
    • 1198
    • 84.00

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

    با درود
    فرض کنید ما یک مقدار رشته ای مثل 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: همون جدا کننده هست که اعداد ما بوسیله اون از هم جدا شدن. که در مثال بالا - هستش . یادتون نره وسط نقل قول بزارینش
    در پناه خداوندگار ایران زمین باشید و پیروز
چند لحظه..