MVP logo
    Sizin Brauzer: , Versiya
Bazar, 22.10.2017, 3:04 PM
Salam Qonaq | RSS
Ana səhifə | Fayl Kataloqu | Qeydiyyat | Giriş
Saytın menyusu

Kateqoriyalar
VBA [21]
Formullar [31]
Massiv Formullar [12]
Ümumi [4]

Sorğu
Saytın hansı bölməsini daha çox maraqlı hesab edirsiniz?
Səsvermə sayı: 124

Statistika

Cəmi online: 1
Qonaqlar: 1
Userlər: 0

Müsabiqələr

Ana səhifə » Fayllar » Excel Tricks » Massiv Formullar

Mətnin ən sağ tərəfindəki sözünün əldə edilməsi qaydası (extract text)
[ Bu serverdən yüklə (9.3Kb) ] 19.09.2013, 1:51 AM
Bunu müxtəlif üsullardan istifadə edərək əldə etmək mümkündür (məsələn: formul və ya formuldan istifadə etmədən - text to column və s.)

Bunun iki üsulla həll edilməsinə baxaq. 




Hər iki formul CSE (Ctrl+Shift+Enter) ilə daxil edilir.

I.

=MID(A1,MAX((MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)= " ")*
ROW(INDIRECT("1:"&LEN(A1))))+1,LEN(A1)-MAX((MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)= " ")*ROW(INDIRECT("1:"&LEN(A1)))))

İzahı:

1. MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)= " " - formulun bu hissəsi A1 xanasındakı mətnin hər bir simvolunun boşluğa (yəni " ")  bərabər olub olmamasını müəyyən edir.
2. ROW(INDIRECT("1:"&LEN(A1))) - simvolların sayı qədər rəqəmlər ardıcıllığını əldə etməyə imkan verir.
3. Birinci və ikinci formulların hasili bizə boş olan yerlərin  sıra nömrəsini tapır.
4. MAX((MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)= " ")*ROW(INDIRECT("1:"&LEN(A1))))+1 - burada isə max() funksiyası ilə ən böyük rəqəmi tapırıq ki, sonuncu boşluğu müəyyən edə bilək.
5. İndi biz artıq bilirik ki, hansı simvoldan başlayaraq sözü çıxaracıq lakin, neçə simvol çıxaracağımızı bilmək üçün
LEN(A1)-MAX((MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)= " ")*ROW(INDIRECT("1:"&LEN(A1)))) - formulundan istifadə ediləcək. Ümumi simvolların sayından əvvəlcə müəyyən etdiyimiz başlanğıc nöqtəsini (sonnnuncu boşluğun sıra sayını) çıxırıq və nəticə hazırdır.




II.

=REPLACE(A1,1,MAX((MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)= " ")*ROW(INDIRECT("1:"&LEN(A1)))),"")
 
Burada formulun MAX((MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)= " ")*ROW(INDIRECT("1:"&LEN(A1)))) - olan hissəsi sonuncu boşluğun sıra sayını tapır və Replace() funksiyası vasitəsilə A1 xanasında 1-ci simvoldan başlayaraq sonuncu boşluğa qədər bütün hissə "" ilə əvəz edilir və nəticəmiz hazırdır.

Qeyd: Office 2013 versiyasından istifadə edənlər isə bütün bunlara ehtiyac duymurlar. Office 2013-də bu nəticəni verilmiş siyahınızın qarşısında birinci sətir üçün daxil etdiyiniz anoloji ardıcıllığa əsasən digər sətirlər üçün də artıq nəticə təklif edilmiş olur (Flash fill).
Kateqoriya: Massiv Formullar | Yükləyən: Useful
Baxış sayı: 503 | Yükləmə sayı: 84 | Ratinqi: 0.0/0
Cəmi şərhlər: 0
Ad *:
E-poçt:
Kod *:
Daxil ol

Axtar

Dost Saytlar
  • www.planetaexcel.ru
  • www.programmersforum.ru
  • www.mrexcel.com
  • www.excelworld.ru
  • www.cyberforum.ru
  • www.excelvba.ru
  • www.muhasib.az

  • Sayğac
    free counters

    Saytın məlumatlarından istifadə edərkən mənbəyə istinad zəruridir!
    MyExcelWorld © 2010 - 2017
    Site managed by uCoz
    ILK-10 Azeri Website Directory