Oxirgi so'z

Oddiy, birinchi qarashda, noaniq yechimga ega muammo: matn qatoridan oxirgi so'zni ajratib oling. Xo'sh, yoki, umumiy holda, oxirgi bo'lak, berilgan ajratuvchi belgi (bo'shliq, vergul va boshqalar) bilan ajratilgan, Boshqacha qilib aytganda, bir satrda teskari qidiruvni (oxidan boshiga) amalga oshirish kerak. berilgan belgi va keyin uning o'ng tomonidagi barcha belgilarni chiqarib oling.

Keling, an'anaviy ravishda tanlashning bir nechta usullarini ko'rib chiqaylik: formulalar, makroslar va Power Query orqali.

1-usul. Formulalar

Formulaning mohiyati va mexanikasini tushunishni osonlashtirish uchun keling, biroz uzoqdan boshlaylik. Birinchidan, manba matnimizdagi so‘zlar orasidagi bo‘shliqlar sonini, masalan, 20 tagacha ko‘paytiraylik. Buni almashtirish funksiyasi bilan qilishingiz mumkin. Substitut (O'RNISHA) va berilgan belgini N marta takrorlash funktsiyasi - REPEAT (REPT):

Oxirgi so'z

Endi biz funktsiya yordamida olingan matn oxiridan 20 ta belgini kesib tashladik deportatsiya (To'g'ri):

Oxirgi so'z

Havo isib bormoqda, to'g'rimi? Funktsiyadan foydalanib, qo'shimcha bo'shliqlarni olib tashlash qoladi TRIM (TRIM) va muammo hal qilinadi:

Oxirgi so'z

Inglizcha versiyada bizning formulamiz quyidagicha ko'rinadi:

=TRIM(O'NG(O'RNISH(A1;" ";REPT(" ";20));20))

Umid qilamanki, printsipial jihatdan aniq 20 ta bo'sh joy qo'yish shart emas - har qanday raqam, agar u manba matnidagi eng uzun so'zning uzunligidan ko'p bo'lsa, bajariladi.

Va agar manba matnni bo'sh joy bilan emas, balki boshqa ajratuvchi belgi bilan (masalan, vergul bilan) bo'lish kerak bo'lsa, unda bizning formulamiz biroz tuzatilishi kerak bo'ladi:

Oxirgi so'z

2-usul. Makro funksiyasi

Matndan oxirgi so'z yoki fragmentni olish vazifasini makroslar yordamida ham hal qilish mumkin, ya'ni Visual Basic-da bizga kerak bo'lgan narsani bajaradi - qarama-qarshi yo'nalishdagi satrda berilgan pastki qatorni qidirish - dan teskari qidirish funksiyasini yozish. oxirigacha.

Klaviatura yorlig'ini bosing Alt+F11 yoki tugma Visual Basic tab dasturchi (ishlab chiquvchi)makro muharririni ochish uchun. Keyin menyu orqali yangi modul qo'shing Qo'shish - modul va u erda quyidagi kodni nusxalash:

 Funktsiya LastWord(txt satr sifatida, ixtiyoriy chegara sifatida String = " ", ixtiyoriy n Butun son = 1) String sifatida arFragments = Split(txt, delim) LastWord = arFragments(UBound(arFragments) - n + 1) Funktsiyani tugatish  

Endi siz ishchi kitobni saqlashingiz mumkin (makros-faol formatda!) va yaratilgan funksiyadan quyidagi sintaksisda foydalanishingiz mumkin:

=Oxirgi soʻz(txt ; chegara; n)

qayerda

  • txt – manba matnli katak
  • chekka — ajratuvchi belgi (standart — boʻsh joy)
  • n - qaysi so'z oxiridan olinishi kerak (sukut bo'yicha - oxiridan birinchi)

Oxirgi so'z

Kelajakda manba matnidagi har qanday o'zgarishlar bilan bizning so'l funksiyamiz Excel varaqlarining har qanday standart funksiyasi kabi tezda qayta hisoblab chiqiladi.

3-usul. Power Query

Quvvat so'rovi deyarli har qanday manbadan Excelga ma'lumotlarni import qilish va keyin yuklab olingan ma'lumotlarni istalgan shaklga aylantirish uchun Microsoft-dan bepul qo'shimcha hisoblanadi. Ushbu plaginning kuchi va salqinligi shunchalik ajoyibki, Microsoft o'zining barcha xususiyatlarini sukut bo'yicha Excel 2016 da o'rnatgan. Excel 2010-2013 Power Query uchun bu yerdan bepul yuklab olish mumkin.

Power Query yordamida oxirgi so'z yoki fragmentni berilgan ajratuvchi orqali ajratish vazifamiz juda oson hal qilinadi.

Birinchidan, klaviatura yorliqlari yordamida ma'lumotlar jadvalimizni aqlli jadvalga aylantiramiz. Ctrl+T yoki buyruqlar Bosh sahifa - Jadval sifatida formatlash (Uy — Jadval sifatida formatlash):

Oxirgi so'z

Keyin yaratilgan “aqlli jadval”ni buyruq yordamida Power Query-ga yuklaymiz Jadvaldan/diapazondan (Jadvaldan/diapazondan) tab ma'lumotlar (agar sizda Excel 2016 bo'lsa) yoki yorliqda Quvvat so'rovi (agar sizda Excel 2010-2013 bo'lsa):

Oxirgi so'z

Ochilgan so'rovlar muharriri oynasida, yorliqda O'tkazish (O'zgartirish) jamoani tanlang Ajratish ustuni - cheklovchi bo'yicha (Ustunni ajratish - ajratuvchi bo'yicha) va keyin ajratuvchi belgini o'rnatish va variantni tanlash qoladi Eng o'ng chegaralovchibarcha so'zlarni emas, balki faqat oxirgisini kesish uchun:

Oxirgi so'z

Tugmasini bosgandan so'ng OK oxirgi so'z yangi ustunga ajratiladi. Keraksiz birinchi ustunni uning sarlavhasini o'ng tugmasini bosib, tanlash orqali olib tashlash mumkin O'chiring (O'chirish). Bundan tashqari, jadval sarlavhasidagi qolgan ustun nomini o'zgartirishingiz mumkin.

Natijalar buyruq yordamida yana varaqqa yuklanishi mumkin Bosh sahifa — Yopish va yuklash — Yopish va yuklash… (Uy — Yopish va yuklash — Yopish va yuklash…):

Oxirgi so'z

Va natijada biz quyidagilarni olamiz:

Oxirgi so'z

Bu kabi - arzon va quvnoq, formulalar va makrolarsiz, deyarli klaviaturaga tegmasdan 🙂

Kelajakda asl ro'yxat o'zgarsa, sichqonchaning o'ng tugmachasini bosish yoki klaviatura yorliqlaridan foydalanish kifoya qiladi Ctrl+Alt+F5 so'rovimizni yangilang.


  • Yopishqoq matnni ustunlarga bo'lish
  • Muntazam iboralar bilan matnni tahlil qilish va tahlil qilish
  • SUBSTITUTE funktsiyasi bilan matndan birinchi so'zlarni ajratib olish

Leave a Reply