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

Array Formulalar

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ı bir müəssisənin əmək haqqı hərəkətləri (jurnalı) göstərilib. Həmin cədvələ əsasən aşağıdakı sualların cavablarını tapmaq istəyirik

  1. Ən az (və ya ən çox) əmək haqqı alan kimdir?
  2. Satış departamentində (və ya digər departamentlər) ən çox əmək haqqı alan kimdir?
  3. Vəzifəsi “Analitik” olan və beşinci ayda ən çox əmək haqqı alan hansı departamentin işçisidir? və s.

Qeyd olunan suallar əvvəlcə dəyərin tapılmasını tələb edir. Daha sonra isə, həmin hesablanan dəyərin əsasında LOOKUP veriləcəkdır. Hesablamalar əsasən “ən az” (MIN) və “ən çox” (MAX) dəyərləri üzərindən aparılacaq.

Bir şərtə əsasən hesablanan MAX və MIN dəyərləri üzərindən LOOKUP

Misal üçün, vəzifəsi “Analitik” olan hansı əməkdaş ən az əmək haqqı alır? Bu sualda bir şərtə əsasən minimum dəyər tapılır. Daha sonra isə həmin dəyərə əsasən LOOKUP verilir.

Qeyd: Şərtə əsasən MAX və MIN dəyərlərinin tapılması “Şərtə görə MAX və MIN dəyərlərin tapılması – Array ilə” adlı məqalədə ətraflı izah olunub.

İlk mərhələ, şərtimizə uyğun siyahının (array) yaradılmasıdır. Bu funksiyada, əgər “vəzifə” sütunundakı sətrlər “Analitik” kəliməsinə bərabərdirsə rəqəmləri gətir, deyilsə “” işarələrini gətir şəklində qurulub.

=IF(C2:C201="Analitik";E2:E201;"")

“F9” ilə funksiyanın nəticəsinə baxaq

={"";"";"";"";"";"";"";1020;"";"";"";1782;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";1709;"";"";"";1074;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";1257;"";"";"";1646;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";1211;"";"";"";1291;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";1449;"";"";"";1644;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";1702;"";"";"";1105;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";1400;"";"";"";1447;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";1331;"";"";"";1499;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";1472;"";"";"";1352;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";1650;"";"";"";1422;"";"";"";"";"";"";"";""}

Funksiya harda “Analitik” kəliməsini tapdısa qarşısındakı rəqəmi gətirdi. İndi isə həmin rəqəmlərin içərisində MIN rəqəmi tapırıq.

=MIN(IF(C2:C201="Analitik";E2:E201;""))        "Nəticə: 1020"

Əlimizdə artıq MIN dəyər var. Indi isə, həmin MIN dəyərin siyahının neçənci sətrində olduğunu tapmalıyıq. Bunun üçün isə MATCH funksiyasından istifadə ediləcək.

=MATCH(MIN(IF(C2:C201="Analitik";E2:E201;""));IF(C2:C201="Analitik";E2:E201;"");0)     "Nəticə: 8"

MATCH funksiyasının ikinci argumentində yenə də IF ilə əldə etdiyimiz siyahını (array) istifadə etdik. Çünki, həmin MIN dəyər başqa vəzifələr qarşısında da ola bilər.

Son olaraq “Ad – Soyad” sütunuda MATCH ilə əldə etdiyimiz sətr nömrəsini INDEX içərisində istifadə edərək həmin şəxsin kim olduğunu tapırıq.

=INDEX(B2:B201;MATCH(MIN(IF(C2:C201="Analitik";E2:E201;""));IF(C2:C201="Analitik";E2:E201;"");0))

Funksiyanı yekunlaşdırdıqdan sonra “Ctrl+Shift+Enter” bərabər klikləyirik.

İki və daha çox şərtə əsasən hesablanan MAX və MIN dəyərlər üzərindən LOOKUP

Misal üçün, May ayında müdirlər arasında ən çox əmək haqqı alan hansı departamentdə işləyir? Bu nümunədə iki şərtə əsasən MAX dəyər tapılır; ay və müdir, daha sonra isə INDEX ilə departament adı tapılır.

Yenə də ilk əvvəl şərtə əsasən siyahını yaradırıq.

=IF((C2:C201="Müdir")*(MONTH(D2:D201)=5);E2:E201;"")

İki şərti tanıtmaq üçün IF funksiyasının ilk argumentində (C2:C201=”Müdir”)*(MONTH(D2:D201)=5) əməliyyatı aparıldı. Yəni, həm vəzifə “Müdir” olmalıdır və həm də beşınci ay olmalıdır. Funksiyanın nəticəsi bu şəkildədir.

={"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";4715;"";4652;4928;"";"";4411;"";"";"";"";"";"";"";"";3665;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";""}

İndi isə həmin rəqəmlərin ən böyük olanını tapacayıq.

=MAX(IF((C2:C201=G5)*(MONTH(D2:D201)=5);E2:E201;""))  "Nəticə: 4928"

Əldə etdiyimiz dəyər həmin siyahıda neçənci sıradadır?

=MATCH(MAX(IF((C2:C201=G5)*(MONTH(D2:D201)=5);E2:E201;""));IF((C2:C201=G5)*(MONTH(D2:D201)=5);E2:E201;"");0)

Həmin sıra sayına əsasən departament sütununa INDEX tətbiq olunacaq.

=INDEX(A2:A201;MATCH(MAX(IF((C2:C201=G5)*(MONTH(D2:D201)=5);E2:E201;""));IF((C2:C201=G5)*(MONTH(D2:D201)=5);E2:E201;"");0))

İstənilən şərt sayısını eyni metodu istifadə edərək hesablama apara bilərsiniz. Məqalədə istifadə oluna bütün funskiyalar üçün “Ctrl+Shift+Enter” tətbiq olunur, çünki hamısı “Array” formuladır.

 

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 …

Array Formulalar
Array ilə Çoxlu Sütun və Sətrə Əsasən Məlumatların Gətirilməsi, 4-cü həll yolu (+Video)

Excelin ən maraqlı tərəflərindən birisi də o dur ki, məsələ və problemləri fərqli-fərqli yollardan həll etmək mümkündür. İndiyə qədər yazılan məqalələrdə bunu “iki və daha çox sütunlara əsasən məlumatların gətirilməsi” mövzusunda göstərməyə çalışdıq. Bu başlıq altında 3 ayrı həll yolu göstərildi. Bir çox zaman, bu həll yollarının bir-birlərində üstün və zəif …