Акыркы сөз

Жөнөкөй, бир караганда, түшүнүксүз чечим менен көйгөй: тексттин саптарынан акыркы сөздү чыгарып алуу. Ооба, же, жалпы учурда, акыркы фрагмент, берилген бөлүүчү белги менен бөлүнгөн (бостук, үтүр ж. берилген белгини чыгарып, андан кийин анын оң жагындагы бардык символдорду чыгарыңыз.

Келгиле, тандоонун салттуу бир нече жолдорун карап көрөлү: формулалар, макростор жана Power Query аркылуу.

Метод 1. Формулалар

Формуланын маңызын жана механикасын түшүнүүнү жеңилдетүү үчүн бир аз алыстан баштайлы. Биринчиден, баштапкы текстибиздеги сөздөрдүн ортосундагы боштуктардын санын, мисалы, 20 бөлүккө чейин көбөйтөлү. Сиз муну алмаштыруу функциясы менен кыла аласыз. АЛМАШТЫРУУ (АЛМАШТЫРУУ) жана берилген символду N-жолу кайталоо функциясы – REPEAT (REPT):

Акыркы сөз

Эми функциянын жардамы менен пайда болгон тексттин аягынан 20 символду кесип салдык УКУГУ (ОҢ):

Акыркы сөз

Күн жылып баратат, туурабы? Функцияны колдонуу менен кошумча боштуктарды алып салуу калды кесүү (ТРИМ) жана маселе чечилет:

Акыркы сөз

Англисче версиясында биздин формула мындай болот:

=TRIM(ОҢ(ОРДУ(A1;" ";REPT(" ";20));20))

Принцибинде так 20 боштук киргизүүнүн кажети жок экени түшүнүктүү деп үмүттөнөм – бул баштапкы тексттеги эң узун сөздүн узундугунан көп болсо, каалаган сан аткарылат.

Ал эми баштапкы текстти боштук менен эмес, башка бөлүүчү белги менен (мисалы, үтүр менен) бөлүү керек болсо, анда биздин формулабызды бир аз оңдоо керек болот:

Акыркы сөз

Метод 2. Макрофункция

Тексттен акыркы сөздү же фрагментти алуу тапшырмасын макростордун жардамы менен чечсе болот, атап айтканда, Visual Basic программасында тескери издөө функциясын жазуу, ал бизге керектүү нерсени аткарат - карама-каршы багытта сапта берилген субсапты издөө - аягына чейин башта.

Баскычтоптун жарлыгын басыңыз Alt+F11 же баскыч Visual Basic табулатура иштеп (Иштеп чыгуучу)макро редакторду ачуу үчүн. Андан кийин меню аркылуу жаңы модулду кошуңуз Кыстаруу – модуль жана ал жерде төмөнкү кодду көчүрүү:

 Функция LastWord(txt сап катары, кошумча делим сап катары = " ", кошумча n бүтүн сан = 1) сап катары arFragments = Бөлүнүү(txt, delim) LastWord = arFragments(UBound(arFragments) - n + 1) Аяктоочу функция  

Эми сиз иш китебин сактап (макрокоштурулган форматта!) жана түзүлгөн функцияны төмөнкү синтаксисте колдоно аласыз:

=АкыркыСөз(txt; делим; n)

кайда

  • TXT – баштапкы тексти бар уяча
  • делим — бөлүүчү символ (демейки — боштук)
  • n – аягынан кайсы сөздү алуу керек (демейки боюнча – аягынан биринчи)

Акыркы сөз

Келечекте баштапкы текстте кандайдыр бир өзгөрүүлөр болгондо, биздин макро функциябыз Excel барагынын бардык стандарттык функциялары сыяктуу эле тез арада кайра эсептелинет.

Метод 3. Power Query

күч суроо дээрлик бардык булактан Excelге маалыматтарды импорттоо жана андан кийин жүктөлүп алынган маалыматтарды каалаган формага которуу үчүн Microsoftтун акысыз кошумчасы. Бул кошумчанын күчү жана салкындыгы ушунчалык чоң болгондуктан, Microsoft өзүнүн бардык мүмкүнчүлүктөрүн демейки боюнча Excel 2016га курган. Excel 2010-2013 Power Query үчүн бул жерден бекер жүктөп алса болот.

Power Query аркылуу акыркы сөздү же фрагментти берилген бөлгүч аркылуу бөлүү милдети абдан оңой чечилет.

Биринчиден, келгиле, баскычтоптун жарлыктарын колдонуп, маалымат таблицабызды акылдуу таблицага айландыралы. Ctrl+T же буйруктар Башкы бет – Таблица катары форматтоо (Башкы бет — Таблица катары формат):

Акыркы сөз

Андан кийин биз түзүлгөн "акылдуу үстөлдү" буйрукту колдонуп Power Queryге жүктөйбүз Таблицадан/диапазондон (Таблицадан/диапазондон) табулатура маалыматтар (эгер сизде Excel 2016 болсо) же өтмөктө күч суроо (эгерде сизде Excel 2010-2013 болсо):

Акыркы сөз

Ачылган суроо редакторунун терезесинде, өтмөктө кайра (Трансформация) команда тандоо Бөлүнүүчү тилке – Бөлүүчү боюнча (Бөлүнүүчү тилке — бөлүүчү боюнча) андан кийин бөлүүчү белгини коюу жана параметрди тандоо калды Эң оң бөлгүчбардык сөздөрдү эмес, акыркысын гана кесип:

Акыркы сөз

Кийин басуу боюнча OK акыркы сөз жаңы тилкеге ​​бөлүнөт. Керексиз биринчи тилкени анын башын оң баскыч менен чыкылдатып, тандоо менен алып салса болот жок кылуу (Жок кылуу). Ошондой эле таблицанын башындагы калган тилкенин атын өзгөртсөңүз болот.

Натыйжаларды буйрукту колдонуу менен кайра баракчага жүктөсө болот Башкы бет — Жабуу жана жүктөө — Жабуу жана жүктөө… (Башкы бет — Жабуу жана жүктөө — Жабуу жана жүктөө...):

Акыркы сөз

Натыйжада, биз:

Акыркы сөз

Бул сыяктуу - арзан жана шайыр, формуласыз жана макроссуз, дээрлик клавиатурага тийбей туруп 🙂

Эгерде баштапкы тизме келечекте өзгөрсө, анда ал оң баскычты чыкылдатуу же баскычтоптун жарлыгын колдонуу жетиштүү болот Ctrl+Alt+F5 өтүнүчүбүздү жаңыртыңыз.


  • Жабышкак текстти тилкелерге бөлүү
  • Текстти туруктуу сөз айкаштары менен талдоо жана талдоо
  • SUBSTITUTE функциясы менен тексттен биринчи сөздөрдү чыгарып алуу

Таштап Жооп