Son söz

Sadə, ilk baxışdan aydın olmayan bir həlli olan problem: mətn sətirindən son sözü çıxarın. Yaxşı və ya ümumi halda, verilmiş bir ayırıcı simvolla (boşluq, vergül və s.) ayrılmış sonuncu fraqment, Başqa sözlə, bir sətirdə əks axtarış (sondan əvvələ) həyata keçirmək lazımdır. verilmiş xarakter və sonra onun sağındakı bütün simvolları çıxarın.

Ənənəvi olaraq seçim etməyin bir neçə yoluna baxaq: düsturlar, makrolar və Power Query vasitəsilə.

Metod 1. Düsturlar

Düsturun mahiyyətini və mexanikasını başa düşməyi asanlaşdırmaq üçün bir az uzaqdan başlayaq. Əvvəlcə mənbə mətnimizdəki sözlər arasındakı boşluqların sayını, məsələn, 20 ədədə qədər artıraq. Bunu dəyişdirmə funksiyası ilə edə bilərsiniz. Substitute (ƏVƏZİNƏ) və verilmiş simvolun N dəfə təkrarlanması funksiyası – TƏKRARLAMAQ (REPT):

Son söz

İndi funksiyadan istifadə edərək yaranan mətnin sonundan 20 simvolu kəsdik SAĞ (SAĞ):

Son söz

Getdikcə istiləşir, elə deyilmi? Funksiyadan istifadə edərək əlavə boşluqları silmək qalır TRIM (TRIM) və problem həll olunacaq:

Son söz

İngilis versiyasında düsturumuz belə görünəcək:

=KESİN(SAĞ(ƏVƏZİNƏ(A1;" «;REPT(» «;20));20))

Ümid edirəm ki, prinsipcə tam olaraq 20 boşluq əlavə etmək lazım olmadığı aydındır - mənbə mətnindəki ən uzun sözün uzunluğundan çox olduğu müddətdə istənilən rəqəm yerinə yetiriləcəkdir.

Və mənbə mətni boşluqla deyil, başqa bir ayırıcı simvolla (məsələn, vergüllə) bölmək lazımdırsa, düsturumuzu bir az düzəltmək lazımdır:

Son söz

Metod 2. Makro funksiyası

Mətndən son sözü və ya fraqmenti çıxarmaq vəzifəsi də makrolardan istifadə etməklə həll edilə bilər, yəni Visual Basic-də bizə lazım olanı yerinə yetirəcək əks axtarış funksiyasının yazılması - əks istiqamətdə sətirdə verilmiş alt sətirin axtarışı - sondan başlanğıca.

Klaviatura qısa yolunu basın Dayandırmaq+F11 və ya düymə Visual Basic nişanı geliştirici (İnkişaf etdirici)makro redaktorunu açmaq üçün. Sonra menyu vasitəsilə yeni modul əlavə edin Daxil et - Modul və aşağıdakı kodu oraya kopyalayın:

 Funksiya LastWord(txt Sətir kimi, Könüllü olaraq ayırma Sətir kimi = " ", Könüllü n Tam Ədəd = 1) Sətir kimi arFragments = Split(txt, delim) LastWord = arFragments(UBound(arFragments) - n + 1) Funksiyanı bitir  

İndi siz iş kitabını (makro-aktiv formatda!) saxlaya və yaradılmış funksiyanı aşağıdakı sintaksisdə istifadə edə bilərsiniz:

=Son Söz(txt; delim; n)

hara

  • txt – mənbə mətni olan xana
  • ayırmaq — ayırıcı simvol (standart — boşluq)
  • n – sonundan hansı söz çıxarılmalıdır (standart olaraq – sondan birinci)

Son söz

Gələcəkdə mənbə mətnində hər hansı dəyişiklik olduqda, bizim makro funksiyamız hər hansı bir standart Excel vərəq funksiyası kimi tez bir zamanda yenidən hesablanacaq.

Metod 3. Power Query

Güc sorğusu demək olar ki, hər hansı bir mənbədən Excel-ə məlumat idxal etmək və sonra yüklənmiş məlumatları istənilən formaya çevirmək üçün Microsoft-dan pulsuz əlavədir. Bu əlavənin gücü və sərinliyi o qədər böyükdür ki, Microsoft bütün xüsusiyyətlərini standart olaraq Excel 2016-da qurmuşdur. Excel 2010-2013 Power Query üçün buradan pulsuz yükləyə bilərsiniz.

Power Query istifadə edərək verilən ayırıcı vasitəsilə son sözü və ya fraqmenti ayırmaq vəzifəmiz çox asanlıqla həll olunur.

Əvvəlcə verilənlər cədvəlimizi klaviatura qısa yollarından istifadə edərək ağıllı cədvələ çevirək. Ctrl+T və ya əmrlər Ev - Cədvəl kimi formatlayın (Ev - Cədvəl kimi format):

Son söz

Sonra yaradılan “ağıllı masa”nı əmrdən istifadə edərək Power Query-ə yükləyirik Cədvəldən/aralıqdan (Cədvəldən/aralıqdan) nişanı Tarix (Excel 2016 varsa) və ya nişanda Güc sorğusu (Excel 2010-2013 varsa):

Son söz

Açılan sorğu redaktoru pəncərəsində, nişanda Transformasiya (çevir) komanda seçin Ayrılmış Sütun - Ayırıcı ilə (Bölünmüş Sütun - Ayırıcı ilə) və sonra ayırıcı simvolu təyin etmək və seçimi seçmək qalır Ən sağ ayırıcıbütün sözləri deyil, yalnız sonuncunu kəsmək:

Son söz

Klikdən sonra OK son söz yeni sütuna ayrılacaq. Lazımsız birinci sütunu onun başlığına sağ tıklayıp seçməklə silmək olar Aradan qaldırılması (Sil). Cədvəl başlığında qalan sütunun adını da dəyişə bilərsiniz.

Nəticələr əmrdən istifadə edərək vərəqə geri yüklənə bilər Əsas səhifə — Bağlayın və Yükləyin — Bağlayın və Yükləyin… (Ev - Bağla və Yüklə - Bağla və Yüklə...):

Son söz

Və nəticədə əldə edirik:

Son söz

Bu kimi - ucuz və şən, düsturlar və makrolar olmadan, demək olar ki, klaviaturaya toxunmadan 🙂

Orijinal siyahı gələcəkdə dəyişərsə, sağ klikləmək və ya klaviatura qısa yolundan istifadə etmək kifayətdir Ctrl+Dayandırmaq+F5 sorğumuzu yeniləyin.


  • Yapışqan mətnin sütunlara bölünməsi
  • Normal ifadələrlə mətnin təhlili və təhlili
  • Əvəz etmə funksiyası ilə mətndən ilk sözlərin çıxarılması

Cavab yaz