ایکسل ریجیکس: د منظم بیانونو په کارولو سره تارونه میچ کړئ

  • دا شریک کړه
Michael Brown

په دې ټیوټوریل کې، موږ به ژوره کتنه ولرو چې څنګه په Excel کې د تارونو سره سمون لپاره د ریجیکس کارولو څرنګوالی.

کله چې تاسو اړتیا لرئ په حد کې یو ټاکلی ارزښت ومومئ د حجرو، تاسو به د MATCH یا XMATCH فعالیت وکاروئ. کله چې په یوه حجره کې د ځانګړي تار په لټه کې وي، د موندلو او لټون فعالیتونه په کار کې راځي. او تاسو څنګه پوهیږئ که چیرې یوه حجره هغه معلومات ولري چې د ورکړل شوي نمونې سره سمون لري؟ په ښکاره ډول، د منظم بیانونو په کارولو سره. مګر د بکس څخه بهر Excel د ریجیکسونو ملاتړ نه کوي! اندیښنه مه کوئ، موږ به دې ته مجبور کړو :)

    د اکسل VBA ریجیکس فنکشن د تارونو سره میچ کولو لپاره

    لکه څنګه چې دا د سرلیک څخه خورا روښانه دی ، د منظم بیان کارولو لپاره په Excel کې، تاسو اړتیا لرئ خپل فعالیت جوړ کړئ. خوشبختانه، د ایکسل VBA یو انبلیټ RegExp څیز لري، کوم چې تاسو کولی شئ په خپل کوډ کې وکاروئ لکه څنګه چې لاندې ښودل شوي:

    عامه فعالیت RegExpMatch(input_range د رینج په توګه، د سټرینګ په توګه، اختیاري میچ_کیس د بولین = ریښتیا) په توګه Variant Dim arRes() د پایلو د ذخیره کولو لپاره د ویرینټ سرې په توګه Dim iInputCurRow, iInputCurCol, cntInputRows, cntInputCols As Long' د سرچینې رینج کې د اوسني قطار شاخص، د سرچینې رینج کې د اوسني کالم شاخص، د قطارونو شمیره، شمیره په تېروتنه GoTo ErrHandl RegExpMatch = arRes regex = CreateObject ( "VBScript.RegExp" ) regex.pattern = نمونه regex.Global = ریښتیني regex.MultiLine = ریښتیا که ریښتیا = match_case بیا = regex.Truxeigncase = regex. پایڅرګندونه.

    پټرن : \b[\w\.\-]+@[A-Za-z0-9]+[A-Za-z0-9\.\- ]*[A-Za-z0-9]+\.[A-Za-z]{2,24}\b

    د ښه پوهیدو لپاره چې دلته څه روان دي، راځئ چې هرې برخې ته نږدې وګورو :

    • د کارن نوم کېدای شي حروف، شمېرې، انډر سکورونه، نقطې او هایفنونه ولري. د دې په پام کې نیولو سره چې \w د کوم لیک، عدد یا انډر سکور سره سمون لري، موږ لاندې ریجیکس ترلاسه کوو: [\w\.\-]+
    • د ډومین نوم کیدای شي لوی او کوچني توري ولري، عددونه، هایفنز (مګر په لومړي یا وروستي موقعیت کې نه) او نقطې (د فرعي ډومینونو په صورت کې). ځکه چې د انډر سکورونو اجازه نه ورکول کیږي، د \w پرځای موږ د 3 مختلف کرکټر سیټونه کاروو: [A-Za-z0-9]+[A-Za-z0-9\.\-]*[A-Za-z0-9 ]+
    • د لوړې کچې ډومین د یوې نقطې څخه جوړ دی چې د لوی او کوچني تورو سره تعقیب کیږي. دا کولی شي له 2 څخه تر 24 تورو پورې ولري (تر ټولو اوږد TLD اوس مهال شتون لري): \.[A-Za-z]{2,24}

    یادونه. نمونه داسې انګیرل کیږي چې د ډومین نوم 2 یا ډیر الفانومیریک حروف لري.

    په A5 کې د اصلي متن او په A5 کې د نمونې سره، فورمول دا شکل اخلي:

    =RegExpMatch(A5, $A$2)

    25>

    یا تاسو کولی شئ یو ساده عادي وکاروئ د بریښنالیک تایید لپاره څرګندونې یا د کوچني یا لوی حروف سیټ سره:

    بطره : \b[\w\.\-]+@[a-z0-9]+[a- z0-9\.\-]*[a-z0-9]+\[a-z]{2,24}\b

    مګر خپل فارمول قضیه غیر حساس کړئ:

    =RegExpMatch(A5, $A$2, FALSE)

    د ایکسل IF فارمول د میچ ریجیکس سره

    د دې حقیقت له امله چې دننه او دودیزفنکشنونه په ښه توګه پرمخ ځي، هیڅ شی شتون نلري چې تاسو یې په یوه فورمول کې یوځای کارولو څخه منع کړي.

    د یو څه بیرته راګرځولو یا محاسبه کولو لپاره که چیرې یو منظم بیان سره سمون ولري او بل څه چې سره سمون نه لري، د دودیز RegExpMatch داخل کړئ د IF په منطقي متن کې فعالیت:

    IF(RegExpMatch(…), [value_if_true], [value_if_false])

    د مثال په توګه، که په A5 کې یو تار یو معتبر بریښنالیک پته ولري، تاسو کولی شئ "هو" بیرته راستانه کړئ؛ که نه نو "نه".

    =IF(RegExpMatch(A5, $A$2,), "Yes", "No")

    شمیر کړئ که چیرې ریجیکس سره سمون ولري

    ځکه چې اصلي ایکسل افعال د منظم بیان ملاتړ نه کوي، دا دی په مستقیم ډول د COUNTIS یا COUNTIFS فعالیت کې د ریجیکس ایښودل ممکن ندي. خوشبختانه، تاسو کولی شئ دا فعالیت زموږ د دودیز فعالیت په کارولو سره تقلید کړئ.

    فرض کړئ چې تاسو د تلیفون شمیرو سره سمون کولو لپاره یو ریجیکس کارولی دی او پایلې یې په B کالم کې تولیدوي. د دې لپاره چې معلومه کړئ چې څومره حجرې د تلیفون شمیرې لري، تاسو یوازې اړتیا لرئ په B5:B9 کې د ریښتیني ارزښتونو شمیرلو لپاره. او دا د معیاري COUNTIF فارمول په کارولو سره په اسانۍ سره ترسره کیدی شي:

    =COUNTIF(B5:B9, TRUE)

    27>

    ایا ستاسو په کاري پاڼه کې کوم اضافي کالمونه نه غواړئ؟ کومه خبره نده. په پام کې نیولو سره چې زموږ دودیز فنکشن کولی شي په یو وخت کې ډیری حجرې پروسس کړي او د Excel SUM کولی شي ارزښتونه په یو صف کې اضافه کړي، دلته هغه څه دي چې تاسو یې کوئ:

    • RegExpMatch ته د رینج حواله وړاندې کړئ، نو دا بیرته راستنیږي د ریښتینو او غلطو ارزښتونو لړۍ.
    • د منطقي ارزښتونو د جبري کولو لپاره دوه ګونی منفي (--) وکاروئ اوصفر.
    • د SUM فنکشن ترلاسه کړئ ترڅو په پایله کې 1's او 0's اضافه کړئ.

    =SUM(--RegExpMatch(A5:A9, $A$2))

    د Regex سمون د الټیمیټ سویټ سره

    زموږ د الټیمیټ سویټ کارونکي کولی شي د دوی کاري کتابونو کې د VBA کوډ اضافه کولو پرته څلور پیاوړې Regex افعال وکاروي ځکه چې دوی د اضافې نصبولو پرمهال په اسانۍ سره په Excel کې مدغم شوي. زموږ دودیز فعالیتونه د معیاري .NET RegEx انجن لخوا پروسس کیږي او د بشپړ ځانګړتیا لرونکي کلاسیک منظم بیانونو ملاتړ کوي.

    د دودیز RegexMatch فنکشن کارولو څرنګوالی

    فرض کړئ چې تاسو د الټیمیټ سویټ وروستۍ نسخه نصب کړې ده ( 2021.4 یا وروسته)، تاسو کولی شئ په دوه ساده ګامونو کې د Regex میچ فورمول جوړ کړئ:

    1. په Ablebits Data ټب کې، په متن ګروپ کې، کلیک وکړئ 8 د منبع تارونه.
    2. خپل نمونه دننه کړئ.
    3. د میچ انتخاب غوره کړئ.
    4. د دې لپاره چې پایلې د فورمول په توګه ولرئ، نه د ارزښتونو، غوره کړئ د فورمول په توګه داخل کړئ چیک باکس.
    5. د میچ تڼۍ کلیک وکړئ.
    6. یوه شیبه وروسته، AblebitsRegexMatch فنکشن ستاسو د ډیټا ښي خوا ته په نوي کالم کې داخلیږي.

      په لاندې سکرین شاټ کې، فنکشن چک کوي چې ایا په کالم A کې تارونه 7 عدد لري شمېرې یا نه.

      لارښوونې:

      • tion کیدای شي داخل شي مستقیم په حجره کې د معیاري Insert Function د ډیالوګ بکس له لارې، چیرته چې دا د AblebitsUDFs لاندې طبقه بندي کیږي. په جلا حجره کې. د دې لپاره، یوازې د دویم دلیل لپاره د حجرې حواله وکاروئ.
      • په ډیفالټ، فنکشن کیس حساس دی. د قضیې غیر حساس میچ کولو لپاره، د (؟i) بڼه وکاروئ.

      د نورو معلوماتو لپاره، مهرباني وکړئ د AblebitsRegexMatch فنکشن وګورئ.

      دا څنګه په Excel کې د منظم بیان سمون کول دي. زه ستاسو د لوستلو لپاره مننه کوم او په راتلونکې اونۍ کې زموږ په بلاګ کې تاسو سره لیدو ته سترګې په لار یم!

      د موجود ډاونلوډونه

      د ایکسل ریجیکس میچ مثالونه (.xlsm فایل)

      Ultimate Suite 14- ورځ په بشپړه توګه فعاله نسخه (.exe فایل)

    که cntInputRows=input_range.Rows.Count cntInputCols=input_range.Columns.Count ReDim arRes(1 to cntInputRows, 1 to cntInputCols) د iInputCurRow = 1 د cntInputRows لپاره .Cells(iInputCurRow, iInputCurCol.Value) بل بل RegExpMatch = arRes Exit Function ErrHandl: RegExpMatch = CVErr(xlErrValue) پای فنکشن

    د VBA ایډیټر کې کوډ پیسټ کړئ، او ستاسو نوی فنکشن RegExp E د کارولو لپاره چمتو دی. که تاسو د VBA سره ډیر تجربه نه لرئ، دا لارښود ممکن ګټور وي: څنګه په Excel کې د VBA کوډ داخل کړئ.

    یادونه. د کوډ داخلولو وروسته، په یاد ولرئ چې خپل فایل د میکرو فعال کاري کتاب (.xlsm) په توګه خوندي کړئ.

    RegExpMatch ترکیب

    د RegExpMatch فنکشن چک کوي چې ایا د سرچینې تار کومه برخه د منظم بیان سره سمون لري. پایله د بولین ارزښت دی: ریښتیا که لږترلږه یوه لوبه وموندل شي ، که نه نو غلط.

    زموږ دودیز فعالیت 3 دلیلونه لري - لومړی دوه اړین دي او وروستی یې اختیاري دی:

    RegExpMatch(متن , pattern, [match_case])

    چیرې:

    • متن (اړین دی) - د لټون کولو لپاره یو یا څو تارونه. د سیل یا رینج حوالې په توګه چمتو کیدی شي.
    • بطره (اړین) - د سمون لپاره منظم بیان. کله چې په مستقیم ډول په فورمول کې کیښودل شي، یوه نمونه باید په دوه اړخیزو نرخونو کې تړل شي.
    • Match_case (اختیاري) - میچ تعریفويډول که ریښتیا وي یا پریښودل شي (ډیفالټ)، د قضیې حساس سمون ترسره کیږي؛ که غلط وي - قضیه غیر حساس.

    فنکشن د Excel 365، Excel 2021، Excel 2019، Excel 2016، Excel 2013 او Excel 2010 په ټولو نسخو کې کار کوي.

    3 شیان چې تاسو یې لرئ باید د RegExpMatch په اړه پوه شئ

    مخکې له دې چې موږ عملي محاسبې ته ورسیږو، مهرباني وکړئ لاندې ټکو ته پام وکړئ چې ځینې تخنیکي توضیحات روښانه کوي:

    1. فنکشن کولی شي یو واحد حجره پروسس کړي یا د حجرو سلسله . په وروستنۍ قضیه کې، پایلې په ګاونډیو حجرو کې د متحرک صف په بڼه، یا د سپیل رینج په بڼه بیرته راځي، لکه څنګه چې په دې مثال کې ښودل شوي.
    2. 12> په ډیفالټ، فعالیت د قضیې حساس دی. 9>. د متن قضیه له پامه غورځولو لپاره، match_case دلیل FALSE ته وټاکئ. د VBA Regexp محدودیتونو له امله، د قضیې غیر حساس نمونه (؟i) نه ملاتړ کیږي.
    3. که یو معتبر نمونه ونه موندل شي، فنکشن FALSE بیرته راګرځي؛ که د بطره ناسمه وي ، یو #VALUE! تېروتنه رامنځ ته کیږي.

    لاندې، تاسو به د ریجیکس یو څو مثالونه ومومئ چې د مظاهرې موخو لپاره رامینځته شوي. موږ نشو تضمین کولی چې زموږ نمونې به ستاسو په ریښتیني کاري پاڼو کې د پراخه ان پټ ډیټا سره بې ګناه کار وکړي. د تولید کولو دمخه، ډاډ ترلاسه کړئ چې د خپلو اړتیاو سره سم زموږ د نمونو نمونې معاینه او تنظیم کړئ.

    په Excel کې د تارونو سره میچ کولو لپاره د regex کارولو څرنګوالی

    کله چې ټول تارونه چې تاسو یې سره سمون کول غواړئ. ورته بڼه،منظم څرګندونې یو مثالی حل دی.

    فرض کړئ چې تاسو د حجرو لړۍ (A5:A9) لرئ چې د ځینو توکو په اړه مختلف توضیحات لري. تاسو غواړئ پوه شئ چې کوم حجرې SKUs لري. فرض کړئ چې هر SKU د 2 لوی حروف، یو هایفن، او 3 عددونو څخه جوړ دی، تاسو کولی شئ د لاندې بیان په کارولو سره دوی سره سمون ومومي.

    پټرن : \b[A-Z]{2}-\ d{3}\b

    چېرته چې [A-Z]{2} د A څخه تر Z پورې هر دوه لوی توري معنی لري او \d{3} معنی د 0 څخه تر 9 پورې هر 3 عددونه. \b توری یوه کلمه څرګندوي حد، په دې معنی چې SKU یوه جلا کلمه ده، او د لوی تار برخه نه ده لکه 23-MAR-2022.

    د جوړ شوي نمونې سره، موږ کولی شو د فورمول لیکلو ته لاړ شو. په لازمي ډول ، د دودیز فعالیت کارول له اصلي څخه توپیر نلري. هرڅومره ژر چې تاسو د فارمول ټایپ کول پیل کړئ ، د فنکشن نوم به په لیست کې څرګند شي چې د Excel د AutoComplete لخوا وړاندیز شوی. په هرصورت، په ډینامیک اری ایکسل (Microsoft 365 او Excel 2021) او دودیز ایکسل (2019 او زاړه نسخې) کې یو څو لنډیزونه شتون لري.

    په یوه حجره کې تار میچ کړئ

    د تار سره میچ کولو لپاره په یوه حجره کې، په لومړي دلیل کې هغه حجرې ته مراجعه وکړئ. دوهم دلیل باید یو منظم بیان ولري.

    =RegExpMatch(A5, "\b[A-Z]{2}-\d{3}\b")

    پټون هم په یو مخکیني تعریف شوي حجره کې ساتل کیدی شي، کوم چې د مطلق حواله ($A$2) سره تړل شوی:<3

    =RegExpMatch(A5, $A$2)

    په لومړي حجره کې د فورمول له ننوتلو وروسته، تاسو کولی شئ دا نورو ټولو قطارونو ته ښکته کړئ.

    دا طریقهپه ټولو ایکسل نسخو کې په ښه توګه کار کوي.

    په یوځل کې په څو حجرو کې تارونه میچ کړئ

    د یو واحد فارمول سره د ډیری تارونو سره میچ کولو لپاره، په لومړي دلیل کې د رینج حواله شامل کړئ:

    =RegExpMatch(A5:A9, "\b[A-Z]{2}-\d{3}\b")

    په Excel 365 او Excel 2021 کې چې د متحرک صفونو ملاتړ کوي ، دا پدې ډول کار کوي - تاسو فورمول په لومړي حجره کې ټایپ کړئ، Enter ووهئ، او فورمول په اوتومات ډول لاندې حجرو ته خپریږي.

    په ایکسیل 2019 او پخوا کې، دا یوازې د دودیز CSE سرې فارمول په توګه کار کوي، کوم چې په یو لړ حجرو کې داخلیږي او د Ctrl + Shift + Enter کیلي په یوځای کولو سره بشپړیږي.

    ریجیکس د شمیر سره سمون لري

    د 0 څخه تر 9 پورې د هرې یوې عدد سره سمون لپاره، په ریجیکس کې \d کرکټر وکاروئ. ستاسو په ځانګړي دنده پورې اړه لري، یو مناسب اندازه کوونکی اضافه کړئ یا یو ډیر پیچلي نمونه جوړه کړئ.

    ریجیکس د هرې شمیرې سره سمون خوري

    د هرې اوږدوالی د هرې شمیرې سره د سمون لپاره، + د مقدار سره سم د / وروسته کیږدئ. d کرکټر، کوم چې د 1 یا ډیرو شمیرو لرونکی شمیرو لټون کولو ته وايي.

    بطره : \d+

    =RegExpMatch(A5:A9, "\d+")

    ریجیکس د ځانګړي اوږدوالی د شمیر سره سمون لپاره

    که ستاسو هدف د عددي ارزښتونو سره سمون خوري چې یو ټاکلی شمیره لري، نو د مناسب مقدار کونکي سره یوځای وکاروئ.

    د مثال په توګه، د رسید شمیرو سره د سمون لپاره چې دقیقا 7 عددونه لري، تاسو به \d{7} وکاروئ. په هرصورت، مهرباني وکړئ په یاد ولرئ چې دا به د 7 سره سمون ولريلکه څنګه چې تمه کیده:

    یادښتونه:

    • نړیوال کوډونه ندي چک شوي، نو دوی ممکن شتون ولري یا نه وي.
    • په منظم بیانونو کې، \s د هر ډول سپین سپیس کرکټر لپاره ولاړ دی لکه یو ځای، ټب، د موټر بیرته راستنیدنه، یا نوې کرښه. یوازې د ځایونو ته اجازه ورکولو لپاره، [-\. ] د [-\.\s] پرځای.
    • ریجیکس د کریکټ سره نه میچ کولو لپاره

      د هغه تارونو موندلو لپاره چې یو ځانګړی کرکټر نلري، تاسو کولی شئ د منفي کرکټر ټولګي [^ ] وکاروئ چې میچ کوي هر څه چې په قوسونو کې نه وي. د مثال په توګه:

      • [^13] به د هر یو حرف سره سمون ولري چې 1 یا 3 نه وي.
      • [^1-3] به د هر یو حرف سره سمون ولري چې 1 نه وي، 2 یا 3 (د بیلګې په توګه د 1 څخه تر 3 پورې کومه عدد).

      د تلیفون شمیرو په لیست کې، فرض کړئ چې تاسو غواړئ هغه کسان ومومئ چې د هیواد کوډ نلري. په پام کې نیولو سره چې کوم نړیوال کوډ کې + نښه شامله ده، تاسو کولی شئ د [^\+] کریکټ ټولګي وکاروئ ترڅو هغه تارونه ومومئ چې جمع نښه نلري. دا مهمه ده چې پوه شئ چې پورته بیان د هر یو حرف سره سمون لري چې + نه دی. ځکه چې د تلیفون شمیره په تار کې هرچیرې کیدی شي، اړینه نده چې په پیل کې، * مقدار کوونکی د هر راتلونکی کرکټر چک کولو لپاره اضافه کیږي. د پیل ^ او پای $ اینکرز ډاډ ورکوي چې ټول تار پروسس شوی. د پایلې په توګه، موږ لاندې منظم بیان ترلاسه کوو چې وايي "په تار کې په هیڅ ځای کې د + کرکټر سره سمون نه خوري".

      پټرن :^[^\+]*$

      =RegExpMatch(A5, "^[^\+]*$")

      ریجیکس د تار سره سمون نه خوري

      که څه هم د دې لپاره کوم ځانګړي منظم بیان ترکیب شتون نلري د یو ځانګړي تار سره سمون نه خوري، تاسو کولی شئ دا چلند د منفي لید په کارولو سره تقلید کړئ.

      فرض کړئ چې تاسو غواړئ هغه تارونه ومومئ کوم چې نه لري د "lemons" کلمه. دا منظم بیان به د درملنې کار وکړي:

      بطره : ^((?!lemons).)*$

      په ښکاره ډول دلته ځینې توضیحاتو ته اړتیا ده. منفي لید مخ ته (؟! لیمو) ښیې ته ګوري ترڅو وګوري چې ایا مخکې د "لیمو" کلمه شتون نلري. که چیرې "لیمو" شتون ونلري، نو دا نقطه د کرښې ماتولو پرته د هر کرکټر سره سمون لري. پورته بیان یوازې یو چک ترسره کوي، او * مقدار کوونکی دا صفر یا ډیر ځله تکراروي، د ^ لخوا لنگر شوي تار له پیل څخه د $ لخوا لنگر شوي تار پای پورې.

      د متن قضیه له پامه غورځول، موږ دریم دلیل FALSE ته وټاکو ترڅو زموږ فعالیت قضیه غیر حساس کړي:

      =RegExpMatch(A5, $A$2, FALSE)

      23>

      لارښوونې او یادښتونه:

      • پورته ریجیکس یوازې د واحد لاین تارونو لپاره کار کوي. د ملټي لاین تارونو په صورت کې، د ^ او $ توري د ان پټ سټینګ د پیل او پای پر ځای د هرې کرښې له پیل او پای سره سمون لري، له همدې امله ریجیکس یوازې په لومړۍ کرښه کې لټون کوي.
      • د هغو تارونو سره د میچ کولو لپاره چې پیل نه کوي د ځانګړي متن سره ، یو منظم بیان وکاروئ لکه ^(?!lemons).*$
      • د تارونو سره د سمون لپاره چې پای نه لري د ځانګړي متن سره ، شامل کړئد لټون په نمونه کې د پای تار لنگر: ^((?!lemons$).)*$

      د قضیې غیر حساس میچنګ

      په کلاسیک منظم بیانونو کې، د دې لپاره ځانګړی نمونه شتون لري. د قضیې غیر حساس میچ (؟i)، کوم چې په VBA RegExp کې نه ملاتړ کیږي. د دې محدودیت د لرې کولو لپاره، زموږ دودیز فعالیت دریم اختیاري دلیل مني چې نوم یې match_case . د قضیې غیر حساس میچ کولو لپاره، په ساده ډول دا FALSE ته وټاکئ.

      راځئ چې ووایاست چې تاسو د نیټې پیژندل غواړئ لکه 1-Mar-22 یا 01-MAR-2022. د dd-mmm-yyyy او d-mm-yy شکلونو سره د سمون لپاره، موږ لاندې منظم بیان کاروو.

      بطره : \b\d{1,2}-(جنوريعددونه په تار کې هرچیرې د 10 عدد یا 100 عددي شمیرې په شمول. که دا هغه څه نه وي چې تاسو یې په لټه کې یاست، د حد کلمه \b په دواړو خواوو کې واچوئ.

      پټرن : \b\d{7}\b

      =RegExpMatch(A5:A9, "\b\d{7}\b")

      د تلیفون شمیرو سره د سمون لپاره Regex

      څنګه چې د تلیفون شمیرې په مختلفو فارمیټونو کې لیکل کیدی شي، د دوی سره سمون کول خورا پیچلي منظم بیان ته اړتیا لري.

      په لاندې ډیټاسیټ کې به موږ د 10 عددي شمیرو لټون وکړو چې په لومړیو 2 ګروپونو کې 3 عددونه او په وروستي ګروپ کې 4 عددونه لري. ګروپونه د دورې، هایفین یا ځای سره جلا کیدی شي. لومړۍ ډله کیدای شي په قوسونو کې تړل شوې وي یا نه وي.

      بطره: (\(\d{3}\)

    مایکل براون د ټیکنالوژۍ وقف شوی لیوال دی چې د سافټویر وسیلو په کارولو سره د پیچلو پروسو ساده کولو لپاره لیوالتیا لري. د ټیک صنعت کې د یوې لسیزې څخه ډیرې تجربې سره، هغه خپل مهارتونه په مایکروسافټ ایکسل او آؤټ لک کې، او همدارنګه د ګوګل شیټس او اسنادو کې لوړ کړي دي. د مایکل بلاګ د نورو سره د هغه پوهه او تخصص شریکولو ته وقف شوی دی، د تولید او موثریت د ښه کولو لپاره د تعقیب لپاره اسانه لارښوونې او لارښوونې چمتو کوي. که تاسو تجربه لرونکی مسلکي یاست یا پیل کونکی یاست ، د مایکل بلاګ د دې اړین سافټویر وسیلو څخه خورا ډیر ترلاسه کولو لپاره ارزښتناک لیدونه او عملي مشورې وړاندې کوي.