Paskutinis žodis

Paprasta, iš pirmo žvilgsnio, problema su neakivaizdžiu sprendimu: ištraukite paskutinį žodį iš teksto eilutės. Na, arba, bendruoju atveju, paskutinis fragmentas, atskirtas duotu skiriamuoju ženklu (tarpu, kableliu ir pan.) Kitaip tariant, reikia atlikti atvirkštinę paiešką (nuo pabaigos iki pradžios) eilutėje duotą simbolį ir ištraukite visus simbolius jo dešinėje .

Pažvelkime į tradiciškai kelis pasirinkimo būdus: formules, makrokomandas ir Power Query.

1 metodas. Formulės

Kad būtų lengviau suprasti formulės esmę ir mechaniką, pradėkime šiek tiek nuo tolo. Pirma, padidinkime tarpų tarp žodžių skaičių mūsų šaltinio tekste iki, pavyzdžiui, iki 20 vienetų. Tai galite padaryti naudodami pakeitimo funkciją. PAKEITIMAS (PAKEIT.) ir tam tikro simbolio kartojimo N kartų funkcija – Kartojimo (REPT):

Paskutinis žodis

Dabar naudodami funkciją nupjauname 20 simbolių nuo gauto teksto pabaigos TEISĖ (Teisingai):

Paskutinis žodis

Darosi šilčiau, tiesa? Belieka pašalinti papildomus tarpus naudojant funkciją TRIM (APKARPYTI) ir problema bus išspręsta:

Paskutinis žodis

Angliškoje versijoje mūsų formulė atrodys taip:

=TRIM(RIGHT(PAKEITIMAS(A1;» «;REPT(» «;20));20))

Tikiuosi, aišku, kad iš principo nebūtina įterpti tiksliai 20 tarpų – tiks bet koks skaičius, jei jis bus didesnis nei ilgiausio žodžio ilgis šaltinio tekste.

Ir jei šaltinio tekstą reikia skaidyti ne tarpu, o kitu skyriklio ženklu (pavyzdžiui, kableliu), tada mūsų formulę reikės šiek tiek pataisyti:

Paskutinis žodis

2 metodas. Makro funkcija

Paskutinio žodžio ar fragmento ištraukimo iš teksto užduotis taip pat gali būti išspręsta naudojant makrokomandas, būtent „Visual Basic“ parašant atvirkštinės paieškos funkciją, kuri atliks tai, ko mums reikia – ieškos nurodytos poeilutės eilutėje priešinga kryptimi – nuo pabaigos į pradžią.

Paspauskite spartųjį klavišą Kitas+F11 arba mygtuką "Visual Basic" kortelė ryškalas (Programuotojas)Norėdami atidaryti makrokomandų rengyklę. Tada per meniu pridėkite naują modulį Įterpimas – modulis ir nukopijuokite ten šį kodą:

 Funkcija LastWord(txt kaip eilutė, neprivaloma atskyrimas kaip eilutė = " ", pasirinktinai n kaip sveikasis skaičius = 1) kaip eilutė arFragments = Split(txt, delim) LastWord = arFragments(UBound(arFragments) - n + 1) Pabaigos funkcija  

Dabar galite išsaugoti darbaknygę (formatu su makrokomandomis!) ir naudoti sukurtą funkciją tokia sintaksė:

=Paskutinis žodis(txt ; delim ; n)

kur

  • txt – langelis su šaltinio tekstu
  • atriboti – skyriklio simbolis (numatytasis – tarpas)
  • n – koks žodis turėtų būti ištrauktas iš galo (pagal nutylėjimą – pirmasis iš galo)

Paskutinis žodis

Ateityje atlikus bet kokius šaltinio teksto pakeitimus, mūsų makrokomandos funkcija bus perskaičiuota, kaip ir bet kuri standartinė „Excel“ lapo funkcija.

3 metodas. Power Query

„Power Query“ yra nemokamas „Microsoft“ priedas, skirtas importuoti duomenis į „Excel“ iš beveik bet kokio šaltinio ir paversti atsisiųstus duomenis bet kokia forma. Šio priedo galia ir šaunumas yra tokie dideli, kad „Microsoft“ pagal numatytuosius nustatymus įdiegė visas jo funkcijas „Excel 2016“. „Excel 2010–2013“ „Power Query“ galima nemokamai atsisiųsti iš čia.

Mūsų užduotis atskirti paskutinį žodį ar fragmentą per nurodytą skyriklį naudojant Power Query yra išspręsta labai lengvai.

Pirmiausia paverskime duomenų lentelę išmaniąja lentele naudodami sparčiuosius klavišus. "Ctrl"+T arba komandas Pagrindinis – formatuoti kaip lentelę (Pagrindinis – formatuoti kaip lentelę):

Paskutinis žodis

Tada sukurtą „išmaniąją lentelę“ įkeliame į „Power Query“ naudodami komandą Iš stalo/asortimento (Iš lentelės / diapazono) kortelė Duomenys (jei turite Excel 2016) arba skirtuke „Power Query“ (jei turite Excel 2010–2013):

Paskutinis žodis

Atsidariusiame užklausų rengyklės lange skirtuke Transformacija (Transformacija) pasirinkti komandą Padalintas stulpelis – pagal skyriklį (Padalyti stulpelį – pagal skyriklį) o tada belieka nustatyti skyriklio simbolį ir pasirinkti parinktį Dešinysis skyriklisnukirpti ne visus žodžius, o tik paskutinį:

Paskutinis žodis

Spustelėję OK paskutinis žodis bus atskirtas į naują stulpelį. Nereikalingą pirmąjį stulpelį galima pašalinti dešiniuoju pelės mygtuku spustelėjus jo antraštę ir pasirinkus pašalinti (Ištrinti). Taip pat galite pervardyti likusį lentelės antraštės stulpelį.

Rezultatus galima įkelti atgal į lapą naudojant komandą Pagrindinis puslapis – Uždaryti ir įkelti – Uždaryti ir įkelti į… (Pagrindinis – Uždaryti ir įkelti – Uždaryti ir įkelti į…):

Paskutinis žodis

Ir kaip rezultatas, mes gauname:

Paskutinis žodis

Taip – ​​pigu ir linksma, be formulių ir makrokomandų, beveik neliečiant klaviatūros 🙂

Jei pradinis sąrašas ateityje pasikeis, užteks dešiniuoju pelės mygtuku spustelėti arba naudoti spartųjį klavišą "Ctrl"+Kitas+F5 atnaujinti mūsų prašymą.


  • Lipniojo teksto padalijimas į stulpelius
  • Teksto analizė ir analizavimas naudojant reguliariąsias išraiškas
  • Pirmųjų žodžių ištraukimas iš teksto naudojant funkciją SUBSTITUTE

Palikti atsakymą