Şərtə görə MAX və MIN dəyərlərin tapılması – Array ilə (+Video)
- By : Elnur Isayev
- Category : Array Formulalar, IF, İləri, INDEX, MATCH, MAX, MIN
- Tags: Şərtə əsasən MAX və MIN hesablaması
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 eləmək çox çətindir (və ya mümkün deyil). Ancaq array, şərtlərin çox olduğu vəziyyətdə də, məsələni rahatlıqla həll edir.
Yenə də əvvəlcə dəyərlərlərimiz ay seçimindən asılı etməyəcəyik və sadəcə bir sütuna əsasən hesablama aparacayıq.
Şərtə əsasən MAX və MIN rəqəmlərinin tapılması
Əsas məntiq, bölgə seçiminin “Bölgə” sütunundakı məlumatlarla eyni olub olmaması yoxlanacaq və əgər eynidirsə qarşısındakı rəqəmləri əldə edəcəyik. Bunun üçün IF funksiyasından istifadə edirik.
=IF(J2=A2:A31;C2:C31;"")
Bu funksiyanın nəticəsi:
{"";"";"";1700;"";"";800;"";"";"";"";"";"";"";300;"";"";"";"";"";1800;2000;1700;"";"";"";"";"";1600;""}
Bölgə sütunundakı hansı sətr seçimdəki bölgəyə (Qərb bölgəsi) bərabərdisə qarşısındakı rəqəmi gətirdi, deyilsə üçüncü arqumentdəki “” işarələrini gətirdi.
İndi isə, əldə etdiyimiz rəqəmlərin ən böyük və ən kiçik dəyərlərini tapmaq üçün funksiyanı MAX və MIN funksiyasında istifadə edəcəyik
"Ən kiçik dəyəri tapmaq üçün" =MIN(IF(J2=A2:A31;C2:C31;"")) "Ən böyük dəyəri tapmaq üçün" =MAX(IF(J2=A2:A31;C2:C31;""))
Funksiyanı yekunlaşdırdıqdan sonra “Ctrl+SHift+Enter” kliklənir.
Bölgə və ay seçimlərinə əsasən MAX və MIN rəqəmlərinin tapılması
Burda isə, əlavə olaraq ay seçiminə əsasən həmin aydakı MAX və MIN dəyərlərini tapmalıyıq. Yəni, IF funksiyasının ikinci arqumentində elə bir funksiya yazmalıyıq ki, ay seçimi dəyişdiyi zaman bizim rəqəmlərimiz dəyişsin.
=INDEX(C2:G31;0;MATCH(J3;C1:G1;0))
Qeyd olunan funksiya, ay seçimi dəyiçdiyi zaman həmin aydakı dəyərlərin hamısını gətirir. Şəkildəki kimi 3-cü ay olarsa funksiyanın nəticəsi belə olacaq
{800;700;1700;1200;1300;300;500;700;300;2000;1100;800;400;1400;200;1400;2000;500;400;600;1100;2000;1600;1200;1400;1500;5400;800;1700;1500}
Yaradılan bu funksiyanı IF funksiyasının ikinci arqumentində “C2:C31” əvəzinə istifadə edəcəyik.
"Ən kiçik dəyəri tapmaq üçün" =MIN(IF(J2=A2:A31;INDEX(C2:G31;0;MATCH(J3;C1:G1;0));"")) Ən böyük dəyəri tapmaq üçün =MAX(IF(J2=A2:A31;INDEX(C2:G31;0;MATCH(J3;C1:G1;0));""))
Məsələ ilə əlaqəli olan digər məqalələr:
- Array Formulalar – Giriş
- Dəyişkən Sütunlara Əsasən Şərti Toplama. 1-ci Həll Yolu
- Məntiq Funksiyaları – IF,AND,OR,IFERROR