MVP logo
    Your browser: , Version
Saturday, 27.04.2024, 3:24 AM
Hello! Guest | Group Guest | RSS
Home | Fayl Kataloqu | Profile  | Login
Saytın menyusu

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

Sorğu
"Excel"in hansı versiyasını istifadə edirsiniz?
Səsvermə sayı: 572

Statistika

Total online: 1
Guests: 1
Users: 0

Müsabiqələr


Rəqəmlərin mətndən ayrılması (Extract numbers)
[ Download from this server (14.0 Kb) ]29.07.2011, 4:59 PM
Bəzən verilmiş mətndən yalnız rəqəmlərin çıxarılması (extract numbers) məsələsilə rastlaşırıq. Buyurun bu əməliyyatın hər bir mərhələsilə ardıcıl tanış ola bilərsiniz.
(Massiv funksiyasıdır "Ctrl+Shift+Enter"-lə daxil edilir!)
1.ROW(INDIRECT("1:"&LEN(A7))) - (I) mətnin simvollarını birincisindən sonuncusuna kimi ardıcıl düzür
2.MID(A7;ROW(INDIRECT("1:"&LEN(A7)));1) (II) bu bütün simvolları bir-bir ayırır
3.--MID(A7;ROW(INDIRECT("1:"&LEN(A7)));1) (III) bu bütün simvolları 1-ə vurur (hərf olanlar error göstərəcək)
4.ISNUMBER(--MID(A7;ROW(INDIRECT("1:"&LEN(A7)));1)) (IV) burada rəqəmlərin məntiqi yoxlama ardıcıllığını alırıq
5.ISNUMBER(--MID(A7;ROW(INDIRECT("1:"&LEN(A7)));1))*ROW(INDIRECT("1:"&LEN(A7))) (V) və burada isə
həmən rəqəmə çevirilmiş məntiqi ardıcıllıq simvolların uyğun sıra sayına vurulur.
"False" olanlar uyğun sıra sayına vurularkən sıfır nəticəsini verir digərləri isə 1-ə vurulduqları üçün
("True" olanlar) öz sıra saylarını saxlamış olurlar.
6.LARGE(ISNUMBER(--MID(A7;ROW(INDIRECT("1:"&LEN(A7)));1))*ROW(INDIRECT("1:"&LEN(A7)));
ROW(INDIRECT("1:"&LEN(A7)))) (VI) sıra sayları ən böyükdən başlayaraq siralayır
7.LARGE(ISNUMBER(--MID(A7;ROW(INDIRECT("1:"&LEN(A7)));1))*ROW(INDIRECT("1:"&LEN(A7)));
ROW(INDIRECT("1:"&LEN(A7))))+1 (VII) burada "+1" yazılışı "Error" lardan yan keçmək üçündür (MID("TEXT";0;1)=ERROR olduğu üçün)
8.MID(0&A7;LARGE(ISNUMBER(--MID(A7;ROW(INDIRECT("1:"&LEN(A7)));1))*ROW(INDIRECT("1:"&LEN(A7)));
ROW(INDIRECT("1:"&LEN(A7))))+1;1) (VIII) "0&A7" - burada mətnin əvvəlinə sıfır isə on a görə birləşdirilir ki, (VI) nəticəmizdəki alınan 1-ləri
(burada- {14;13;12;9;7;6;5;1;1;1;1;1;1}) sıfıra çevriləcək. Çünki birinci yerdə sıfır dayanıb. Bu cür nəticəni əldə
edilməsi bizə növbəti mərhələdə lazım olacaq.
9. (VIII)-ci mərhələ bizə {"9";"6";"8";"5";"3";"2";"1";"0";"0";"0";"0";"0";"0"} nəticəsini verir.
Göründüyü kimi artıq bu nəticəmizdə "9"-u təklik, "6"-nı onluq "8"-i yüzlük və s... kimi nəzərə alaraq uygun
olaraq 1-ə, 10-a 100-ə və s vurub
toplamaqla "1235869"-i yəni tələb olunan nəticəni almış olarıq.(IX)
10.MID(0&A7;LARGE(ISNUMBER(--MID(A7;ROW(INDIRECT("1:"&LEN(A7)));1))*ROW(INDIRECT("1:"&LEN(A7)));
ROW(INDIRECT("1:"&LEN(A7))))+1;1)*POWER(10;ROW(INDIRECT("1:"&LEN(A7)))-1) burada "POWER(10;ROW(INDIRECT("1:"&LEN(A7)))-1)" olan hissə {1;10;100;1000;10000;100000;1000000;10000000;100000000;1000000000;10000000000;
100000000000;1000000000000} nəticəsi isə uyğun olaraq "9"-a, "6"-ya, "8"-ə və s vurulur
sonda isə bu rəqəmləri cəmləmək lazım gəlir və budur nəticəmiz artıq hazırdır.



Code
SUM(MID(0&A7;LARGE(ISNUMBER(--MID(A7;ROW(INDIRECT("1:"&LEN(A7)));1))*ROW(INDIRECT("1:"&LEN(A7)));
ROW(INDIRECT("1:"&LEN(A7))))+1;1)*POWER(10;ROW(INDIRECT("1:"&LEN(A7)))-1))

Həmçinin vizual olaraq buradan baxa bilərsiniz.
Category: Massiv Formullar | Added by: Useful
Views: 1107 | Downloads: 146 | Rating: 0.0/0
Total comments: 0
Register to add comments
[ Register | Login ]
Login

Search

Useful Sites
  • www.planetaexcel.ru
  • www.programmersforum.ru
  • www.mrexcel.com
  • www.excelworld.ru
  • www.cyberforum.ru
  • www.excelvba.ru
  • www.muhasib.az

  • Visitors
    free counters


    MyExcelWorld © 2024
    Site managed by uCoz