Cümlədə Mötərizənin içindəki Kəliməni Ayırmaq, 3 Ayrı Həll Yolu (+Video)

FIND

Bugün bir cümlədə mötərizənin içərisindəki kəliməni necə ayıra biləcəyimizə baxacayıq. Bu məqalədə olan nümunədə mötərizə cümlənin istənilən hissəsində və istənilən hərf uzunluğunda ola bilər ancaq, qeyd olunan funksiyalar ilk gördüyü mötərizə üzərində əməliyyat görür. Cümlə içərisində bir neçə mötərizə olma hallarını başqa məqalədə ələ alacayıq. Məsələnin həlli üçün ayrı ayrı metod təqdim olunacaq.

 

1-ci Həll Yolu (MID-FIND)

Birinci həll yolunda MID funksiyasından istifadə olunacaq.

Şəkildəki nümunədə biz əgər MID funksiyasından istifadə etsək o zaman, ikinci arqumentdə “açılış mötərizə”sinə qədər olan hissə (qırmızı ilə göstərilib) tapılır. Çünki, ikinci arqumentdə başlanğıc hissə tələb olunur. Üçüncü arqumentdə isə mötərizə içərisindəki mətnimizin neçə simvoldan ibarət olmasını yazmalıyıq. Bunun üçün isə “bağlanış mötərizəsi”ndən (göy rəngdə göstərilib) “açılış mötərizə”sinə qədər olan hissə çıxılmalıdır. Bizim nümunəmizdə “)” simvolu 23-cü simvolda, “(” simvolu isə 18-ci simvoldadır. 23-18 riyazi əməliyyatı bizə mötərizənin içindəki mətnin uzunluğunu verəcək. Burda mötərizə simvolları “()” da hesablandığı üçün aldığımız nəticədən “1” çıxacayıq. Formula bu şəkildə olacaqdır.

=MID(A2;FIND("(";A2)+1;FIND(")";A2)-FIND("(";A2)-1)

=MID(A2;18+1;23-18-1)

Burada, “mötərizə” simvollarının sıra sayılarını tapmaq üçün FIND funksiyasından istifadə etdik (SEARCH-də istifadə edilə bilərdi). Əldə etdiyimiz nəticələri MID funksiyası içərisində istifadə edərək, dəyişkən sıralarda olan mətn uzunluğu və “mötərizə” simvollarını tapıb mətnimizə ayıra bildik.

 

2-ci Həll Yolu (LEFT-SUBSTITUTE-FIND)

İkinci həll yolunda isə, “(” simvoluna qədər olan hissi silindikdın sonra, “)” simvoluna qədər olan hissə mətndən ayrılacaq.

“(” simvoluna qədər olan hissəni silmək üçün biz əvvəlcə həmin simvola qədər olan mətni LEFT funksiyası ilə ayırıb, daha sonra isə SUBSTITUTE funksiyası ilə siləcəyik.

 

=FIND("(";A2)                                  Nəticəsi: 18 ("(" simvoluna qədər olan hissə tapıldı)

=LEFT(A2;FIND("(";A2))                         Nəticəsi: "Filtirovka 0.5lt (" (həmin isə mətn olaraq ayrıldı)

=SUBSTITUTE(A2;LEFT(A2;FIND("(";A2));"")       Nəticəsi: "1x20) zolotoy"  (LEFT ilə ayırdığımız hissə silindi)

İkinci addım olaraq biz, SUBSTITUTE ilə əldə etdiyimiz mətndən mötərizəyə qədər olan hissəni LEFT funksiyası ilə ayıracayıq. LEFT funksiyasının birinci arqumentində orijinal mətnin əvəzinə, SUBSTITUTE ilə əldə etdiyimiz mətni qeyd etməliyik. Çünki, orijanl mətndə “)” simvolu 23-cü sırada, dəyişdirilmiş mətndə isə 5-ci sıradadır. Bizə isə ilk 5 simvol lazım olduğu üçün biz SUBSTITUTE ilə əldə etdiyimiz mətndən istifadə edəcəyik. Formula bu şəkildə olacaq

=LEFT("1x20) zolotoy";FIND(")";"1x20) zolotoy")-1)

=LEFT("1x20) zolotoy";4)

"Tam Funksiya"
=LEFT(SUBSTITUTE(A2;LEFT(A2;FIND("(";A2));"");FIND(")";SUBSTITUTE(A2;LEFT(A2;FIND("(";A2));""))-1)

Biz burda, LEFT funksiyası içərisində yenə də SUBSTITUTE işlətdiyimiz üçün formulamız nisbətən uzun görsəndi amma, formulanın qurulum məntiqi sadədir. Eyni nəticəyə REPLACE funksiyasından istifadə edərək də gəlmək olur, metod eyni olduğuna görə 3-cü həll yolu kimi ayırmadım.

=LEFT(REPLACE(A2;1;FIND("(";A2);"");FIND(")";REPLACE(A2;1;FIND("(";A2);""))-1)

Burda yenə, “(” simvoluna qədər olan hissə silindi və LEFT funksiyası ilə “)” simvoluna qədər olan mətn cümlədən çıxarıldı.

 

3-cü Həll Yolu (RIGHT-REPLACE-LEN-FIND)

Digər iki metoddan istifadə edənlər üçün indi yazacağımız həll yoluna ehtiyac yoxdur ancaq, funksiyaları daha yaxşı tanımaq məqsədi ilə üçüncü həll yolunu yazacam. Burda qeyd olunan həll yolu 2-ci həll yolunun tərsidir. Yəni,

biz 2-ci həll yolunda “(” simvoluna qədər olan hissəni sildikdən sonra LEFT funksiyası ilə mətnimizi ayırdıq. Burda isə, sağdan etibarən “)” simvolundan sonrakı hissə silindikdən sonra RIGHT funksiyası ilə mətnimizi ayıracayıq. Formulamız digərlərinə nəzərən daha uzun olacaq çünki, mətnləri sağdan etibarən ayırmaq üçün əlavə funksiyadan istifadə edəcəyik.

=REPLACE(A2;FIND(")";A2);LEN(A2);"")             Nəticəsi: "Filtirovka 0.5lt (1x20"

=RIGHT("Filtirovka 0.5lt (1x20";LEN("Filtirovka 0.5lt (1x20")-FIND("(";A2))
və ya
=RIGHT("Filtirovka 0.5lt (1x20";22-18)

"Tam Funksiya"
=RIGHT(REPLACE(A2;FIND(")";A2);LEN(A2);"");LEN(REPLACE(A2;FIND(")";A2);LEN(A2);""))-FIND("(";A2))

Mətnlərin sağdan ayırma metodunu əvvəlki məqalələrin birində (Ad və Familiyanı Funksiyadan İstifadə edərək Ayırmaq) yazmışdıq. Orda qeyd olunan funksiya ilə eynidir, sadəcə olaraq xanaya referans verilmək əvəzinə burda REPLACE ilə başlayan formula qeyd olunub.

Məqalədə qeyd olunan funksiyalar haqqında ilkin məlumatları aşağıdakı linklərdən oxuya bilərsiniz

Mətn (Text) Funksiyaları (LEN, SUBSTITUTE, REPLACE, CODE, CHAR, EXACT)

Mətn Funksiyalari – Başlanğıc Səviyyə (LEFT, RIGHT, MID, FIND, SEARCH)

Ad və Familiyanı Funksiyadan İstifadə edərək Ayırmaq – 3 Ayrı Həll Yolu ilə

Məqalənin video versiyasını Youtube kanalımdan izləyə bilərsiniz

Comments:

No Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

Array Formulalar
Hesablanmış dəyərə əsasən LOOKUP verilməsi – Array (+Video)

Biz normal şərtlərdə LOOKUP verərkən sadə məntiqlə axtarılan dəyərin qarşısındakı (və ya hərhansı tərəfindəki) məlumatları əldə etmək istəyirik. Bəs müəyyən şərtlərə əsasən hesablanmış rəqəmlərin qarşısındakı məlumatları necə gətirmək olar? Bugünkü məqalədə bucür hesablamaların əsasında əldə edilən dəyərlərə görə necə LOOKUP veriləbiləcəyinə baxacayıq. Nümunə olaraq aşağıdakı cədvələ nəzər yetirək: Nümunədə hər hansı …

Array Formulalar
Şərtə görə MAX və MIN dəyərlərin tapılması – Array ilə (+Video)

Bir əvvəlki məqaləmizdə OFFSET ilə şərtə əsasən MAX və MIN rəqəmlərin tapılmasını gördük. İndi isə eyni nəticəyə Array metodu ilə gələcəyik. Array istifadəsinin OFFSET-ə nəzərən üstünlükləri: OFFSET funksiyasında şərtlərin olduğu sütun ardıcıl olmalıydı. Ancaq array istifadəsində buna ehtiyac yoxdur Şərtlərimizin sayı 2 və daha çox olarsa OFFSET ilə bunu həll …

COUNTIF
Şərtə görə MAX və MIN dəyərlərin tapılması – OFFSET ilə (+Video)

Düşünün ki, şəkildəki kimi “Bolgələr və Şəhərlər” üzrə satış rəqəmləriniz var və siz hər bir regionda ən az (MIN) və ən çox (MAX) satış rəqəmlərini əldə etmək istəyirsiniz. Biz istəyirik ki, şəkildəki cədvələ əsasən əgər “Bakı Abşeron Bölgəsi” seçərsəm bizə ən az satış olan 600 (1-ci ay üçün) və ən …