Böyük/ kiçik hərflərə həssas VLOOKUP funksiyasının yazılması - INNAB

Böyük/ kiçik hərflərə həssas VLOOKUP funksiyasının yazılması

VLOOKUP funksiyasının ilk parametri olan axtarılan dəyər (lookup value) böyük və kiçik hərflərə həssas deyil. Məsələn, lookup value olaraq INNAB, Innab və ya innab yazmağımızdan asılı olmayaraq funksiya onları eyni məlumat kimi tanıyır və necə yazılmasından asılı olmayaraq uyğun gələn ilk dəyəri qaytarır.

Cədvələ nəzər salaq. Cədvəldə A5, A7 və A9 xanalarına eyni məlumat müxtəlif formalarda (Nuray, NURAY, nuray) yazılmışdır. E2, E3 və E4 xanalarında hər birinin topladığı müvafiq balı =VLOOKUP(D2;$A$2:$B$9;2;0) funksiyası ilə axtarmağa çalışsaq, hər üçünün nəticəsi 39 olacaq. Çünki bu funksiya hərflərin böyük və ya kiçik olmasını nəzərə almadan siyahıda ilk rast gəlinən Nuray yazısına uyğun nəticə qaytarır. Bu problemi digər funksiyaların köməyi ilə həll edərək hər birinə uyğun müvafiq nəticəni almaq mümkündür.

Bunun üçün aşağıdakı əməliyyatları ardıcıllıqla icra etmək lazımdır.

  • Axtarılan məlumatın yerləşdiyi sütunun soluna köməkçi sütun əlavə edirik.
  • Köməkçi sütuna =ROW() funksiyasını daxil edərək hər bir xananın sətir nömrəsini tapırıq.
  • F2 xanasına VLOOKUP(MAX(EXACT(E2;$A$2:$A$9)*(ROW($A$2:$A$9)));$B$2:$C$9;2;0) funksiyasını daxil edirik və həmin funksiyanı F3, F4 xanalarına da tətbiq edirik (aşağı çəkməklə). Hər bir yazılışa uyğun nəticə alınır. Funksiyanı daxil etdikdə Enter deyil, Ctrl+Shift+Enter düymələrini birlikdə sıxmaq lazımdır.

Yazdığımız funksiyanın izahı ilə tanış olaq:

  • EXACT(E2,$A$2:$A$9) – bu funksiya E2 xanasındakı məlumatı A2:A9 xanalarındakı məlumatlarla müqayisə edir. Eyni məlumatı tapdıqda TRUE, əks halda FALSE nəticəsini qaytarır. E2 xanasındakı məlumat yalnız A5 xanasındakı məlumatla eynilik təşkil etdiyindən nəticə {FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE} olacaq.
  • EXACT(E2;$A$2:$A$9)*(ROW($A$2:$A$9) – bu hissədə hər bir xana üzrə EXACT funksiyasının nəticəsi ROW funksiyasının nəticəsinə vurulur. Exceldə FALSE dəyəri 0, TRUE isə 1 olduğundan funksiya {0;0;0;1;0;0;0;0}* {2;3;4;5;6;7;8;9} əməliyyatını yerinə yetirir və nəticə {0;0;0;5;0;0;0;0} olur.
  • MAX(EXACT(E2;$A$2:$A$9)*(ROW($A$2:$A$9))) – funksiyanın bu hissəsi {0;0;0;5;0;0;0;0} nəticəsindən ən böyük rəqəmi seçir və bu halda 5 nəticəsini qaytarır.
  • Beləliklə, biz VLOOKUP funksiyası vasitəsilə B sütununda 5 dəyərini özündə saxlayan xanaya müvafiq olaraq C sütununda axtarış aparırıq.

1 Response

  1. Salam.men sizin sayenizde daha cox melumat elemisem ve buna gorede her birinize tesekur edirem.amma vido derslik kimi olsa idi daha super olardi mence

Bir cavab yazın

Sizin e-poçt ünvanınız dərc edilməyəcəkdir. Gərəkli sahələr * ilə işarələnmişdir