Excel: gjeni dhe zëvendësoni vlera të shumta në të njëjtën kohë

  • Shperndaje Kete
Michael Brown

Në këtë tutorial, ne do të shikojmë disa mënyra për të gjetur dhe zëvendësuar shumë fjalë, vargje ose karaktere individuale, në mënyrë që të zgjidhni atë që i përshtatet më mirë nevojave tuaja.

Si kërkojnë zakonisht njerëzit në Excel? Kryesisht, duke përdorur Find & Zëvendësoni funksionin, i cili funksionon mirë për vlera të vetme. Por, çka nëse keni dhjetëra apo edhe qindra artikuj për të zëvendësuar? Sigurisht, askush nuk do të donte t'i bënte të gjitha ato zëvendësime manualisht një nga një, dhe më pas t'i bënte të gjitha përsëri kur të dhënat ndryshojnë. Për fat të mirë, ka disa metoda më efektive për të bërë zëvendësimin masiv në Excel, dhe ne do t'i hetojmë secilën prej tyre në detaje.

    Gjeni dhe zëvendësoni vlera të shumta me SUBSTITUTE të mbivendosur

    Mënyra më e lehtë për të gjetur dhe zëvendësuar hyrje të shumta në Excel është duke përdorur funksionin SUBSTITUTE.

    Logjika e formulës është shumë e thjeshtë: ju shkruani disa funksione individuale për të zëvendësuar një vlerë të vjetër me një të re . Dhe më pas, i lidhni ato funksione njëri në tjetrin, në mënyrë që çdo SUBSTITUTE pasues të përdorë daljen e SUBSTITUTE-it të mëparshëm për të kërkuar vlerën tjetër.

    SUBSTITUTE(SUBSTITUTE(SUBSTITUTE( tekst, teksti i vjetër1, teksti i ri1), teksti i vjetër2, teksti i ri2), teksti i vjetër3, teksti i ri3)

    Në listën e vendndodhjeve në A2:A10, supozoni se dëshironi të zëvendësoni emrat e shkurtuar të shteteve (si p.sh. FR , UK dhe USA ) me të plotëFunksioni MassReplace do të funksionojë vetëm në librin e punës në të cilin keni futur kodin. Nëse nuk jeni të sigurt se si ta bëni këtë saktë, ju lutemi ndiqni hapat e përshkruar në Si të futni kodin VBA në Excel.

    Pasi të shtohet kodi në librin tuaj të punës, funksioni do të shfaqet në formulën intellisense - vetëm emri i funksionit, jo argumentet! Megjithatë, besoj se nuk është gjë e madhe të kujtosh sintaksën:

    MassReplace(gama_input, gjetja_range, diapazoni_zëvendësues)

    Ku:

    • Rapja_Input - diapazoni i burimit ku ju doni të zëvendësoni vlerat.
    • Gjeni_rangun - karakteret, vargjet ose fjalët për të kërkuar.
    • Zëvendësoni_rangun - karakteret, vargjet, ose fjalë për të zëvendësuar me.

    Në Excel 365, për shkak të mbështetjes për vargje dinamike, kjo funksionon si një formulë normale, e cila duhet të futet vetëm në qelizën e sipërme (B2):

    =MassReplace(A2:A10, D2:D4, E2:E4)

    Në Excel paradinamik, kjo funksionon si një formulë e stilit të vjetër të grupit CSE: ju zgjidhni të gjithë gamën e burimit (B2:B10), shkruani formulë dhe shtypni njëkohësisht tastet Ctrl + Shift + Enter për ta përfunduar atë.

    Avantazhet : një alternativë e mirë për një funksion të personalizuar LAMBDA në Excel 2019 , Excel 2016 dhe versionet e mëparshme

    Të këqijat : libri i punës duhet të ruhet si një skedar .xlsm i aktivizuar me makro

    Zëvendësohet në masë në Excel me makro VBA

    Nëse ju pëlqen makina çiftëzimi i detyrave të zakonshme me makro, pastaj jumund të përdorë kodin e mëposhtëm VBA për të gjetur dhe zëvendësuar vlera të shumta në një gamë.

    Sub BulkReplace() Dim Rng As Range, SourceRng As Range, ReplaceRng As Range On Gabim Rifillo Tjetra Set SourceRng = Application.InputBox( "Të dhënat e burimit: " , "Bulk Replace" , Application.Selection.Address, Type :=8) Err.Clear if Not SourceRng Is Nothing then Set ReplaceRng = Application.InputBox( "Replace range:" , "Bulk Replace" , Type :=8) Gabim.Pastro nëse nuk ReplaceRng nuk është asgjë, atëherë Application.ScreenUpdating = False për çdo Rng në ReplaceRng.Columns(1).Qelizat SourceRng.Replace what:=Rng.Value, zëvendësimi:=Rng.Offset(0, 1).Vlera Next Application.ScreenUpdating = Fundi i vërtetë If End If End Sub

    Për të përdorur makron menjëherë, mund të shkarkoni mostrën e librit tonë të punës që përmban kodin. Ose mund të futni kodin në librin tuaj të punës.

    Si të përdorni makro

    Përpara se të ekzekutoni makron, shkruani vlerat e vjetra dhe të reja në dy kolona ngjitur siç tregohet në imazhin më poshtë ( C2:D4).

    Dhe më pas, zgjidhni të dhënat tuaja burimore, shtypni Alt + F8 , zgjidhni makro BulkReplace dhe kliko Run .

    Meqë burimi i burimit është zgjedhur paraprakisht, thjesht verifikoni referencën dhe klikoni OK:

    Pas kësaj, zgjidhni rangun e zëvendësimit dhe kliko OK:

    U krye!

    Përparësitë : konfiguroni një herë, ripërdoreni në çdo kohë

    Dëmtimet : makro duhet të ekzekutohet me çdo të dhënëndryshim

    Gjeni dhe zëvendësim i shumëfishtë në Excel me mjetin Substring

    Në shembullin e parë, përmenda se SUBSTITUTE i ndërlidhur është mënyra më e lehtë për të zëvendësuar vlera të shumta në Excel. E pranoj se kam gabuar. Suite jonë Ultimate i bën gjërat edhe më të lehta!

    Për të bërë zëvendësimin masiv në fletën tuaj të punës, shkoni te skeda Ablebits Data dhe kliko Mjetet e nënvargut > Replace Substrings .

    Do të shfaqet kutia e dialogut Replace Substrings duke ju kërkuar të përcaktoni vargun Burimi dhe <1 Vargu>Nënvargjet .

    Me dy vargjet e zgjedhura, klikoni butonin Zëvendëso dhe gjeni rezultatet në një kolonë të re të futur në të djathtë të të dhënave origjinale. Po, është kaq e lehtë!

    Këshillë. Përpara se të klikoni Zëvendëso , ka një gjë të rëndësishme që duhet të merrni parasysh - kutia Ndjeshme ndaj shkronjave të vogla . Sigurohuni që ta zgjidhni nëse dëshironi t'i trajtoni shkronjat e mëdha dhe të vogla si karaktere të ndryshme. Në këtë shembull, ne shënojmë këtë opsion sepse ne duam vetëm të zëvendësojmë vargjet me shkronja të mëdha dhe të lëmë të paprekura nënvargjet si "fr", "uk" ose "ak" brenda fjalëve të tjera.

    Nëse jeni kurioz të dini se cilat operacione të tjera me shumicë mund të kryhen në vargje, shikoni veglat e tjera të nënstringut të përfshira në Suite tonë Ultimate. Ose edhe më mirë, shkarkoni versionin e vlerësimit më poshtë dhe provojeni!

    Kështu mund të gjeni dhe zëvendësonishumë fjalë dhe karaktere në të njëjtën kohë në Excel. Ju falënderoj që lexoni dhe shpresoj t'ju shohim në blogun tonë javën tjetër!

    Shkarkime të disponueshme

    Gjeni dhe zëvendësoni shumë në Excel (skedari .xlsm)

    Ultimate Suite 14 -Versioni plotësisht funksional ditor (skedari .exe)

    emrat.

    Për ta bërë këtë, futni vlerat e vjetra në D2:D4 dhe vlerat e reja në E2:E4 siç tregohet në pamjen e mëposhtme të ekranit. Dhe më pas, vendosni formulën e mëposhtme në B2 dhe shtypni Enter:

    =MultiReplace(A2:A10, D2, E2)

    …dhe do t'i kryeni të gjitha zëvendësimet menjëherë:

    Keni parasysh se qasja e mësipërme funksionon vetëm në Excel 365 që mbështet vargje dinamike.

    Në versionet paradinamike të Excel 2019, Excel 2016 dhe më të hershme, formula duhet të jetë shkruar për qelizën më të lartë (B2), dhe më pas kopjohet në qelizat e mëposhtme:

    =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, $D$2, $E$2), $D$3, $E$3), $D$4, $E$4)

    Ju lutemi, kushtoni vëmendje që, në këtë rast, ne mbyllim vlerat e zëvendësimit me referenca absolute të qelizave, kështu që ato nuk do të zhvendosen kur kopjojnë formulën poshtë.

    Shënim. Funksioni SUBSTITUTE është ndjeshëm ndaj shkronjave të vogla , që do të thotë se duhet të shkruani vlerat e vjetra ( tekst_i_vjetër ) në të njëjtën shkronjë siç shfaqen në të dhënat origjinale.

    Sado e lehtë që mund të jetë, kjo metodë ka një pengesë të rëndësishme - kur keni dhjetëra artikuj për të zëvendësuar, funksionet e ndërlidhura bëhen mjaft të vështira për t'u menaxhuar.

    Përparësitë : e lehtë -për të zbatuar; mbështetet në të gjitha versionet e Excel

    Dëmtimet : më mirë të përdoret për një numër të kufizuar vlerash gjetje/zëvendësimi

    Kërko dhe zëvendëso hyrje të shumta me XLOOKUP

    Në situatën kur kërkoni të zëvendësoni të gjithë përmbajtjen e qelizës , jo pjesën e saj, funksioni XLOOKUP është i dobishëm.

    Le të bëjmëthoni se keni një listë të vendeve në kolonën A dhe synoni të zëvendësoni të gjitha shkurtesat me emrat e plotë përkatës. Ashtu si në shembullin e mëparshëm, ju filloni me futjen e artikujve "Gjeni" dhe "Zëvendësoni" në kolona të veçanta (përkatësisht D dhe E), dhe më pas vendosni këtë formulë në B2:

    =XLOOKUP(A2, $D$2:$D$4, $E$2:$E$4, A2)

    E përkthyer nga gjuha Excel në gjuhën njerëzore, ja çfarë bën formula:

    Kërko për vlerën A2 (vlera_lookup) në D2:D4 (grupi_kërkues) dhe kthe një përputhje nga E2:E4 (array_kthimi). Nëse nuk gjendet, tërhiqeni vlerën origjinale nga A2.

    Klikoni dy herë mbi dorezën e mbushjes për të kopjuar formulën në qelizat e mëposhtme dhe rezultati nuk do t'ju mbajë të prisni:

    Meqenëse funksioni XLOOKUP është i disponueshëm vetëm në Excel 365, formula e mësipërme nuk do të funksionojë në versionet e mëparshme. Sidoqoftë, mund ta imitoni lehtësisht këtë sjellje me një kombinim të IFERROR ose IFNA dhe VLOOKUP:

    =IFNA(VLOOKUP(A2, $D$2:$E$4, 2, FALSE), A2)

    Shënim. Ndryshe nga SUBSTITUTE, funksionet XLOOKUP dhe VLOOKUP janë jo të ndjeshme ndaj shkronjave , që do të thotë se ata kërkojnë vlerat e kërkimit duke injoruar shkronjat. Për shembull, formula jonë do të zëvendësonte FR dhe fr me Francë .

    Përparësitë : përdorim i pazakontë i funksioneve të zakonshme; funksionon në të gjitha versionet e Excel-it

    Të metat : funksionon në nivel qelize, nuk mund të zëvendësojë një pjesë të përmbajtjes së qelizës

    Zëvendësimi i shumëfishtë duke përdorur funksionin LAMBDA rekurziv

    Për Microsoft365 abonentë, Excel ofron një funksion të veçantë që lejon krijimin e funksioneve të personalizuara duke përdorur një gjuhë tradicionale të formulës. Po, po flas për LAMBDA. E bukura e kësaj metode është se ajo mund të shndërrojë një formulë shumë të gjatë dhe komplekse në një formulë shumë kompakte dhe të thjeshtë. Për më tepër, ju lejon të krijoni funksionet tuaja që nuk ekzistojnë në Excel, diçka që më parë ishte e mundur vetëm me VBA.

    Për informacion të detajuar rreth krijimit dhe përdorimit të funksioneve të personalizuara LAMBDA, ju lutemi shikoni këtë tutorial: Si për të shkruar funksionet LAMBDA në Excel. Këtu, ne do të diskutojmë disa shembuj praktikë.

    Përparësitë : rezultati është një funksion elegant dhe jashtëzakonisht i thjeshtë për t'u përdorur, pavarësisht nga numri i çifteve zëvendësuese

    Të metat : disponohet vetëm në Excel 365; specifike për librin e punës dhe nuk mund të ripërdoret nëpër libra të ndryshëm pune

    Shembulli 1. Kërkoni dhe zëvendësoni shumë fjalë / vargje njëherësh

    Për të zëvendësuar shumë fjalë ose tekst në të njëjtën kohë, ne kemi krijuar një porosi Funksioni LAMBDA, i quajtur MultiReplace , i cili mund të marrë një nga këto forma:

    =LAMBDA(text, old, new, IF(old"", MultiReplace(SUBSTITUTE(text, old, new), OFFSET(old, 1, 0), OFFSET(new, 1, 0)), text))

    Ose

    =LAMBDA(text, old, new, IF(old="", text, MultiReplace(SUBSTITUTE(text, old, new), OFFSET(old, 1, 0), OFFSET(new, 1, 0))))

    Të dyja janë rekursive funksionet që e quajnë veten. Dallimi është vetëm në mënyrën se si vendoset pika e daljes.

    Në formulën e parë, funksioni IF kontrollon nëse lista vjetër nuk është bosh (e vjetër""). Nëse TRUE, thirret funksioni MultiReplace . Nëse FALSE, funksionie kthen tekstin formën e tij aktuale dhe del.

    Formula e dytë përdor logjikën e kundërt: nëse vjetër është bosh (old=""), atëherë kthehu tekst dhe dil; përndryshe telefononi MultiReplace .

    Pjesa më e ndërlikuar është arritur! Ajo që ju mbetet të bëni është të emërtoni funksionin MultiReplace në Menaxherin e Emrave, siç tregohet në pamjen e mëposhtme të ekranit. Për udhëzimet e hollësishme, ju lutemi shihni Si të emërtoni një funksion LAMBDA.

    Pasi funksioni të marrë një emër, mund ta përdorni atë si çdo funksion tjetër të integruar.

    Cilën nga dy variacionet e formulës që zgjidhni, nga këndvështrimi i përdoruesit fundor, sintaksa është aq e thjeshtë sa kjo:

    MultiReplace(tekst, i vjetër, i ri)

    Ku:

    • Teksti - të dhënat burimore
    • E vjetra - vlerat për të gjetur
    • E re - vlerat që duhen zëvendësuar me

    Duke marrë pak më tej shembullin e mëparshëm, le të zëvendësojmë jo vetëm shkurtesat e shteteve, por edhe shkurtesat e shtetit. Për këtë, shkruani shkurtesat ( vlerat e vjetra ) në kolonën D që fillojnë në D2 dhe emrat e plotë ( vlerat e reja ) në kolonën E duke filluar në E2.

    Në B2, futni funksionin MultiReplace:

    =MultiReplace(A2:A10, D2, E2)

    Shtypni Enter dhe shijoni rezultatet :)

    Si funksionon kjo formulë

    Idja për të kuptuar formulën është të kuptuarit e rekursionit. Kjo mund të duket e ndërlikuar, por parimi është mjaft i thjeshtë. Me secilinpërsëritje, një funksion rekurziv zgjidh një shembull të vogël të një problemi më të madh. Në rastin tonë, funksioni MultiReplace kalon nëpër vlerat e vjetra dhe të reja dhe, me çdo lak, kryen një zëvendësim:

    MultiReplace (SUBSTITUTE(text, old, new), OFFSET(old, 1, 0), OFFSET(new, 1, 0))

    Ashtu si me funksionet e ndërlidhura SUBSTITUTE, rezultati i SUBSTITUTE-it të mëparshëm bëhet parametri text për SUBSTITUTE tjetër. Me fjalë të tjera, në çdo thirrje pasuese të MultiReplace , funksioni SUBSTITUTE nuk përpunon vargun origjinal të tekstit, por daljen e thirrjes së mëparshme.

    Për të trajtuar të gjithë artikujt në <1 Lista>e vjetër , fillojmë me qelizën më të lartë dhe përdorim funksionin OFFSET për të lëvizur 1 rresht poshtë me çdo ndërveprim:

    OFFSET(old, 1, 0)

    E njëjta gjë bëhet edhe për Lista e re :

    OFFSET(new, 1, 0)

    Gjëja kryesore është të sigurohet një pikë daljeje për të parandaluar që thirrjet rekursive të vazhdojnë përgjithmonë. Bëhet me ndihmën e funksionit IF - nëse qeliza vjetër është bosh, funksioni i kthen tekst formën e tij aktuale dhe del:

    =LAMBDA(text, old, new, IF(old="", text, MultiReplace(…)))

    ose

    =LAMBDA(text, old, new, IF(old"", MultiReplace(…), text))

    Shembulli 2. Zëvendësoni karaktere të shumta në Excel

    Në parim, funksioni MultiReplace i diskutuar në shembullin e mëparshëm mund të trajtoni edhe karakteret individuale, me kusht që çdo karakter i vjetër dhe i ri të futet në një qelizë të veçantë, tamam si emrat e shkurtuar dhe të plotë në pamjet e mësipërme të ekranit.

    Nëse preferoni të vendosni të vjetrënkarakteret në një qelizë dhe karakteret e reja në një qelizë tjetër, ose shkruani ato drejtpërdrejt në formulë, më pas mund të krijoni një funksion tjetër të personalizuar, të quajtur ReplaceChars , duke përdorur një nga këto formula:

    =LAMBDA(text, old_chars, new_chars, IF(old_chars"", ReplaceChars(SUBSTITUTE(text, LEFT(old_chars), LEFT(new_chars)), RIGHT(old_chars, LEN(old_chars)-1), RIGHT(new_chars, LEN(new_chars)-1)), text))

    Ose

    =LAMBDA(text, old_chars, new_chars, IF(old_chars="", text, ReplaceChars(SUBSTITUTE(text, LEFT(old_chars), LEFT(new_chars)), RIGHT(old_chars, LEN(old_chars)-1), RIGHT(new_chars, LEN(new_chars)-1))))

    Mos harroni të emërtoni funksionin tuaj të ri Lambda në Menaxherin e Emrave si zakonisht:

    Dhe funksioni juaj i ri i personalizuar është gati për përdorim:

    ReplaceChars(tekst, karaktere të vjetra, karaktere të reja)

    Ku:

    • Tekst - vargjet origjinale
    • E vjetër - karakteret për të kërkuar
    • E re - karakteret për t'u zëvendësuar me

    Për t'i dhënë një test në terren, le të bëjmë diçka që kryhet shpesh në të dhënat e importuara - të zëvendësojmë thonjëzat inteligjente dhe apostrofat inteligjente me thonjëza të drejta dhe apostrofa të drejta.

    Së pari, futim thonjëzat inteligjente dhe apostrofën inteligjente në D2, thonjëzat e drejta dhe apostrofën e drejtë në E2 , duke i ndarë personazhet me hapësira për lexueshmëri më të mirë. (Meqë ne përdorim të njëjtin ndarës në të dy qelizat, ai nuk do të ketë ndonjë ndikim në rezultat - Excel thjesht do të zëvendësojë një hapësirë ​​me një hapësirë.)

    Pas kësaj, futim këtë formulë në B2:

    =ReplaceChars(A2:A4, D2, E2)

    Dhe merrni saktësisht rezultatet që po kërkonim:

    Është gjithashtu e mundur të shkruani karakteret drejtpërdrejt në formulë. Në rastin tonë, thjesht mos harroni të "kopjoni" thonjëzat e drejtpërdrejta si kjo:

    =ReplaceChars(A2:A4, "“ ” ’", """ "" '")

    Si funksionon kjo formulë

    ReplaceChars funksioni qarkullon nëpër vargjet shkronjat_të vjetra dhe shkronjat e reja dhe bën një zëvendësim në të njëjtën kohë duke filluar nga karakteri i parë në të majtë. Kjo pjesë kryhet nga funksioni SUBSTITUTE:

    SUBSTITUTE(text, LEFT(old_chars), LEFT(new_chars))

    Me çdo përsëritje, funksioni RIGHT heq një karakter nga e majta e të dy karaktereve old_charts dhe vargjet new_chars , kështu që LEFT mund të marrë çiftin tjetër të karaktereve për zëvendësim:

    ReplaceChars(SUBSTITUTE(text, LEFT(old_chars), LEFT(new_chars)), RIGHT(old_chars, LEN(old_chars)-1), RIGHT(new_chars, LEN(new_chars)-1))

    Para çdo thirrjeje rekursive, funksioni IF vlerëson vargun chars_old . Nëse nuk është bosh, funksioni thërret veten. Sapo të zëvendësohet karakteri i fundit, procesi i përsëritjes përfundon, formula i kthen tekst formën e tij aktuale dhe del.

    Shënim. Për shkak se funksioni SUBSTITUTE i përdorur në formulat tona kryesore është i ndjeshëm ndaj shkronjave të vogla , të dyja Lambdat ( MultiReplace dhe ReplaceChars ) trajtojnë shkronjat e mëdha dhe të vogla si karaktere të ndryshme.

    Gjeni dhe zëvendësoni masivisht me UDF

    Në rast se funksioni LAMBDA nuk është i disponueshëm në Excel, mund të shkruani një funksion të përcaktuar nga përdoruesi për shumë-zëvendësim në një mënyrë tradicionale duke përdorur VBA.

    Për të dalluar UDF nga funksioni MultiReplace i përcaktuar nga LAMBDA, do ta emërtojmë ndryshe, të themi MassReplace . Kodi i funksionit është si më poshtë:

    Funksioni MassReplace(InputRng si varg, FindRng si varg, ReplaceRng si varg) si variant () DimarRes() Si varg variant 'për të ruajtur rezultatet Dim arSearchReplace(), sTmp Si varg 'array ku të ruhen çiftet e gjet/zëvendësimit, varg i përkohshëm Dim iFindCurRow, cntFindRows As Long' indeksi i rreshtit aktual të grupit SearchReplace, numëro i rreshtave Dim iInputCurRow, iInputCurCol, cntInputRows, cntInputCols Për sa kohë 'indeksi i rreshtit aktual në intervalin e burimit, indeksi i kolonës aktuale në intervalin burimor, numri i rreshtave, numri i kolonave cntInputRows = InputRng.Rreshtat.Numërimi i hyrjes cnt .Columns.Count cntFindRows = FindRng.Rows.Count ReDim arRes(1 Për cntInputRows, 1 për cntInputCols) ReDim arSearchReplace(1 Për cntFindRows, 1 për 2) 'përgatitja e grupit të çifteve find/zevendeso arRes1ReplaceurCRonde për iFi iFindCurRow, 1) = FindRng.Cells(iFindCurRow, 1).Vlera arSearchReplace(iFindCurRow, 2) = ReplaceRng.Cells(iFindCurRow, 1).Value Next 'Kërkimi dhe zëvendësimi në diapazonin e burimit Për iInput1RowsurC 1 Në cntInputCols sTm p = InputRng.Cells(iInputCurRow, iInputCurCol).Vlera 'Zëvendësimi i të gjitha çifteve të gjetjes/zëvendësimit në secilën qelizë Për iFindCurRow = 1 Për të cntFindRows sTmp = Replace(sTmp, arSearchReplace(iFindCurRow, arReplaceTjetërCurRow, 1) (iInputCurRow, iInputCurCol) = sTmp Next Next MassReplace = Funksioni i Fundit arRes

    Ashtu si funksionet e përcaktuara nga LAMBDA, UDF-të janë gjerë në librin e punës . Kjo do të thotë se

    Michael Brown është një entuziast i përkushtuar i teknologjisë me një pasion për thjeshtimin e proceseve komplekse duke përdorur mjete softuerike. Me më shumë se një dekadë përvojë në industrinë e teknologjisë, ai ka përmirësuar aftësitë e tij në Microsoft Excel dhe Outlook, si dhe Google Sheets dhe Docs. Blogu i Michael është i përkushtuar ndaj ndarjes së njohurive dhe ekspertizës së tij me të tjerët, duke ofruar këshilla dhe mësime të thjeshta për t'u ndjekur për të përmirësuar produktivitetin dhe efikasitetin. Pavarësisht nëse jeni një profesionist me përvojë apo fillestar, blogu i Michael ofron njohuri të vlefshme dhe këshilla praktike për të përfituar sa më shumë nga këto mjete softuerike thelbësore.