Mündəricat
Bu dərslikdə siz Excel-də INDEX-in ən səmərəli istifadələrini nümayiş etdirən bir sıra düstur nümunələri tapa bilərsiniz.
Gücləri tez-tez qiymətləndirilməyən və lazımınca istifadə olunmayan bütün Excel funksiyaları arasında, INDEX mütləq ilk 10-luqda yer alacaq. Bu arada bu funksiya ağıllı, çevik və çox yönlüdür.
Beləliklə, Excel-də INDEX funksiyası nədir? Əsasən, INDEX düsturu verilmiş massiv və ya diapazondan xana istinadını qaytarır. Başqa sözlə, siz diapazondakı elementin yerini bildiyiniz (və ya hesablaya bildiyiniz) və həmin elementin faktiki dəyərini əldə etmək istədiyiniz zaman INDEX-dən istifadə edirsiniz.
Bu, bir qədər mənasız səslənə bilər, lakin bir dəfə Siz İNDEKS funksiyasının real potensialını dərk edirsinizsə, o, iş vərəqlərinizdəki məlumatları hesablamaq, təhlil etmək və təqdim etmək üsulunuzda mühüm dəyişikliklər edə bilər.
Excel INDEX funksiyası - sintaksis və əsas istifadələr
Excel-də INDEX funksiyasının iki versiyası var - massiv forması və istinad forması. Hər iki forma Microsoft Excel 365 - 2003-ün bütün versiyalarında istifadə oluna bilər.
INDEX massiv forması
INDEX massivi forması sıraya əsaslanan diapazonda və ya massivdə müəyyən elementin dəyərini qaytarır. və göstərdiyiniz sütun nömrələri.
INDEX(massiv, sətir_num, [sütun_num])- massiv - xanalar diapazonu, adlandırılmış diapazon və ya cədvəldir.
- sətir_num - dəyərin qaytarılacağı massivdəki sıra nömrəsidir. Əgər sətir_numu olarsadəyəri qaytarır, lakin bu düsturda istinad operatoru (:) onu istinadı qaytarmağa məcbur edir). $A$1 bizim başlanğıc nöqtəmiz olduğundan, düsturun yekun nəticəsi $A$1:$A$9 diapazonudur.
Aşağıdakı ekran görüntüsü dinamik düşmə yaratmaq üçün belə İndeks düsturundan necə istifadə edə biləcəyinizi nümayiş etdirir. aşağı siyahı.
İpucu. Dinamik olaraq yenilənmiş açılan siyahı yaratmağın ən asan yolu cədvəl əsasında adlandırılmış siyahı yaratmaqdır. Bu halda, Excel cədvəlləri özlüyündə dinamik diapazonlar olduğundan heç bir mürəkkəb düsturlara ehtiyacınız olmayacaq.
Asılı açılan siyahılar yaratmaq üçün INDEX funksiyasından da istifadə edə bilərsiniz və aşağıdakı dərslik addımları izah edir: Excel-də kaskadlı açılan siyahı yaratmaq.
5. INDEX / MATCH ilə güclü Vlookups
Şaquli axtarışların yerinə yetirilməsi - INDEX funksiyasının həqiqətən parladığı yer budur. Əgər siz Excel VLOOKUP funksiyasından istifadə etməyə cəhd etmisinizsə, siz onun çoxsaylı məhdudiyyətlərini yaxşı bilirsiniz, məsələn, axtarış sütununun solundakı sütunlardan dəyərləri çəkə bilməmək və ya axtarış dəyəri üçün 255 simvol məhdudiyyəti kimi.
INDEX / MATCH əlaqəsi bir çox cəhətdən VLOOKUP-dan üstündür:
- Sol baxışlarla bağlı problem yoxdur.
- Axtarış dəyərinin ölçüsünə məhdudiyyət yoxdur.
- Çeşidləmə yoxdur. tələb olunur (Təxmini uyğunluğu olan VLOOKUP axtarış sütununun artan qaydada çeşidlənməsini tələb edir).
- Siz yenilənmədən cədvələ sütunlar daxil edə və silə bilərsiniz.hər bir əlaqəli düstur.
- Və sonuncu, lakin ən azı, INDEX / MATCH birdən çox Vlookups kimi Excel-i yavaşlatmır.
Siz INDEX / MATCH-dən aşağıdakı şəkildə istifadə edirsiniz :
=INDEX ( -dən dəyəri qaytarmaq üçün sütun, (MATCH ( axtarma dəyəri , axtamaq üçün sütun , 0))Üçün məsələn, mənbə cədvəlimizi çevirsək, Planet Adı ən sağ sütuna çevrilsin, INDEX / MATCH düsturu yenə də sol sütundan heç bir maneə olmadan uyğun dəyəri alır.
Ətraflı məsləhətlər və düstur nümunəsi üçün lütfən, Excel INDEX / MATCH təlimatına baxın.
6. Aralıqlar siyahısından 1 diapazon əldə etmək üçün Excel INDEX düsturu
Excel-də İNDEKS funksiyasının digər ağıllı və güclü istifadəsi diapazonlar siyahısından bir diapazon əldə etmək bacarığıdır.
Fərz edək ki, hər birində fərqli sayda elementdən ibarət bir neçə siyahınız var. İnanın və ya yox, tək bir düsturla hər hansı seçilmiş diapazonda orta hesabla və ya dəyərləri cəmləyə bilərsiniz.
İlk olaraq siz yaradırsınız. e hər siyahı üçün adlandırılmış diapazon; qoy bu misalda PlanetsD və MoonsD olsun:
Ümid edirəm yuxarıdakı şəkil silsilələrin adlarının arxasında duran səbəbləri izah edir : ) BTW, Moons cədvəli tamamlanmaqdan çox uzaqdır, Günəş Sistemimizdə 176 məlum təbii peyk var, təkcə Yupiterdə hazırda 63 var və saymaqda davam edir. Bu misal üçün mən təsadüfi 11 seçdim, yaxşı... bəlkə də təsadüfi deyil -ən gözəl adları olan aylar : )
Lütfən, INDEX düsturumuza qayıdaq. PlanetsD -nin 1 diapazonunuz və MoonsD diapazonunuz 2-dir və B1 xanası diapazonun nömrəsini qoyduğunuz yerdir, siz aşağıdakı İndeks düsturundan istifadə edə bilərsiniz. seçilmiş adlandırılmış diapazon:
=AVERAGE(INDEX((PlanetsD, MoonsD), , , B1))
Zəhmət olmasa, diqqət yetirin ki, biz indi İNDEKS funksiyasının İstinad formasından istifadə edirik və sonuncu arqumentdəki (sahə_num) rəqəm düsturun hansı diapazona keçdiyini bildirir. seçin.
Aşağıdakı skrinşotda sahə_num (B1 xanası) 2-yə təyin edilib, ona görə də düstur Ayların orta diametrini hesablayır, çünki MoonsD diapazonu 2-ci yerdədir istinad arqumentində.
Birdən çox siyahı ilə işləyirsinizsə və əlaqəli nömrələri yadda saxlamaq istəmirsinizsə, bunu sizin üçün etmək üçün daxili IF funksiyasından istifadə edə bilərsiniz. :
=AVERAGE(INDEX((PlanetsD, MoonsD), , , IF(B1="planets", 1, IF(B1="moons", 2))))
ƏGƏR funksiyasında siz istifadəçilərinizin nömrələr əvəzinə B1 xanasına yazmasını istədiyiniz bəzi sadə və yaddaqalan siyahı adlarından istifadə edirsiniz. Lütfən, bunu nəzərə alın, formulun düzgün işləməsi üçün B1-dəki mətn IF-in parametrlərində olduğu kimi tam olaraq eyni olmalıdır (büyük hərflərə həssas deyil), əks halda İndeks düsturunuz #VALUE xətası yaradacaq.
Formulu daha da istifadəçi dostu etmək üçün, orfoqrafik səhvlərin qarşısını almaq üçün əvvəlcədən təyin edilmiş adlarla açılan siyahı yaratmaq üçün Data Validation-dan istifadə edə bilərsiniz.səhv çaplar:
Nəhayət, İNDEKS düsturunuzu tamamilə mükəmməl etmək üçün onu istifadəçiyə açılan siyahıdan element seçməyi təklif edəcək IFERROR funksiyasına əlavə edə bilərsiniz. hələ heç bir seçim edilməmişdirsə:
=IFERROR(AVERAGE(INDEX((PlanetsD, MoonsD), , , IF(B1="planet", 1, IF(B1="moon", 2)))), "Please select the list!")
Excel-də İNDEKS düsturlarından belə istifadə edirsiniz. Ümid edirəm ki, bu nümunələr sizə iş vərəqlərinizdə INDEX funksiyasının potensialından istifadə etməyin bir yolunu göstərdi. Oxuduğunuz üçün təşəkkür edirik!
buraxılmış, sütun_num tələb olunur. - sütun_num - dəyəri qaytarmaq üçün sütun nömrəsidir. Sütun_numu buraxılıbsa, sətir_num tələb olunur.
Məsələn, =INDEX(A1:D6, 4, 3)
düsturu C4 xanasındakı dəyər olan A1:D6 diapazonunda 4-cü sətir və 3-cü sütunun kəsişməsindəki dəyəri qaytarır. .
INDEX düsturunun real verilənlər üzərində necə işləməsi haqqında təsəvvür əldə etmək üçün lütfən, aşağıdakı nümunəyə nəzər salın:
Sətrə daxil olmaq əvəzinə və düsturdakı sütun nömrələri ilə daha universal bir düstur əldə etmək üçün xana istinadlarını təmin edə bilərsiniz: =INDEX($B$2:$D$6, G2, G1)
Beləliklə, bu İNDEKS düsturu G2-də göstərilən məhsul nömrəsinin kəsişməsindəki maddələrin sayını qaytarır (sətir_num). ) və həftə nömrəsi G1 xanasına daxil edilmişdir (sütun_num).
İpucu. Massiv arqumentində nisbi istinadlar (B2:D6) əvəzinə mütləq istinadların ($B$2:$D$6) istifadəsi formulun digər xanalara köçürülməsini asanlaşdırır. Alternativ olaraq, diapazonu cədvələ çevirə bilərsiniz ( Ctrl + T ) və ona cədvəl adı ilə müraciət edə bilərsiniz.
INDEX massiv forması - yadda saxlanmalı şeylər
- Əgər massiv arqumenti yalnız bir sətir və ya sütundan ibarətdirsə, siz müvafiq sətir_num və ya sütun_num arqumentini təyin edə və ya göstərməyə bilərsiniz.
- Əgər massiv arqumentinə birdən çox sətir daxildirsə və sətir_num buraxılıbsa və ya 0-a təyin edilibsə, INDEX funksiyası bütün sütunun massivini qaytarır. Eynilə, əgər massiv birdən çox ehtiva edirsəsütun və sütun_num arqumenti buraxılıb və ya 0-a təyin edilibsə, INDEX düsturu bütün sətri qaytarır. Budur, bu davranışı nümayiş etdirən düstur nümunəsi.
- Sətrin_num və sütun_num arqumentləri massivdəki xanaya istinad etməlidir; əks halda, İNDEKS düsturu #REF! xəta.
INDEX istinad forması
Excel İNDEX funksiyasının istinad forması göstərilən sətir və sütunun kəsişməsində xana istinadını qaytarır.
INDEX(istinad, sətir_num) , [sütun_num], [sahə_num] )- istinad - bir və ya bir neçə diapazondur.
Əgər birdən çox diapazon daxil edirsinizsə, aralıqları vergüllə ayırın və istinad arqumentini mötərizələrə daxil edin, məsələn (A1:B5, D1:F5).
Əgər istinaddakı hər diapazon yalnız bir sətir və ya sütun, müvafiq sətir_num və ya sütun_num arqumenti isteğe bağlıdır.
- sətir_num - xana arayışının qaytarılacağı diapazondakı sıra nömrəsi, massivə bənzəyir forma.
- sütun_num - xana arayışını qaytarmaq üçün sütun nömrəsi də massiv forması ilə eyni şəkildə işləyir.
- sahə_num - an İstinad arqumentindən hansı diapazondan istifadə ediləcəyini təyin edən isteğe bağlı parametr. Buraxıldıqda, INDEX düsturu istinadda sadalanan birinci diapazon üçün nəticəni qaytaracaq.
Məsələn, =INDEX((A2:D3, A5:D7), 3, 4, 2)
düsturu D7 xanasının dəyərini qaytarır.ikinci sahədə 3-cü cərgənin və 4-cü sütunun kəsişməsi (A5:D7).
İNDEKS arayış forması - yadda saxlanacaq şeylər
- Əgər sətir_num və ya sütun_num arqumenti sıfıra (0) təyin edilir, INDEX düsturu müvafiq olaraq bütün sütun və ya sətir üçün istinadı qaytarır.
- Əgər hər iki sətir_num və sütun_num buraxılıbsa, INDEX funksiyası göstərilən sahəni qaytarır. sahə_num arqumenti.
- Bütün _sayı arqumentləri (sətir_num, sütun_num və sahə_num) istinaddakı xanaya istinad etməlidir; əks halda, İNDEKS düsturu #REF! xəta.
İndiyə qədər müzakirə etdiyimiz İNDEKS düsturlarının hər ikisi çox sadədir və yalnız konsepsiyanı göstərir. Sizin real düsturlarınız çox güman ki, bundan daha mürəkkəbdir, ona görə də gəlin Excel-də INDEX-in bir neçə ən səmərəli istifadəsini araşdıraq.
Excel-də INDEX funksiyasından necə istifadə etmək olar - formula nümunələri
Bəlkə də orada Excel INDEX-in öz-özlüyündə praktiki istifadəsi çox deyil, lakin MATCH və ya COUNTA kimi digər funksiyalarla birlikdə o, çox güclü düsturlar yarada bilər.
Mənbə məlumatı
Bütün INDEX düsturlarımız (sonuncu istisna olmaqla), biz aşağıdakı məlumatları istifadə edəcəyik. Rahatlıq üçün o, MənbəData adlı cədvəldə təşkil edilmişdir.
Cədvəllərdən və ya adlandırılmış diapazonlardan istifadə düsturlar yarada bilər. bir az daha uzun, lakin bu, həm də onları əhəmiyyətli dərəcədə daha çevik və daha yaxşı oxunaqlı edir. İstənilən İNDEKSİ tənzimləmək üçüniş vərəqləriniz üçün düsturdan istifadə etmək üçün yalnız bir adı dəyişdirməlisiniz və bu, tam olaraq daha uzun düstur uzunluğunu tamamlayır.
Əlbəttə, əgər istəyirsinizsə, adi diapazonlardan istifadə etməyə heç nə mane olmur. Bu halda siz sadəcə olaraq cədvəl adını SourceData müvafiq diapazon arayışı ilə əvəz edirsiniz.
1. Siyahıdan N-ci elementin alınması
Bu, INDEX funksiyasının əsas istifadəsi və ən sadə düsturdur. Siyahıdan müəyyən elementi əldə etmək üçün sadəcə =INDEX(range, n)
yazmalısınız, burada aralıq xanalar diapazonu və ya adlandırılmış diapazondur, n isə almaq istədiyiniz elementin mövqeyidir.
Excel cədvəlləri ilə işləyərkən siçan vasitəsilə sütunu seçə bilərsiniz və Excel düsturda sütunun adını cədvəlin adı ilə birlikdə çəkəcək:
Verilmiş cərgənin və sütunun kəsişməsindəki xananın dəyərini əldə etmək üçün siz hər ikisini təyin etdiyiniz yeganə fərqlə eyni yanaşmadan istifadə edirsiniz - sıra nömrəsi və sütun nömrəsi. Əslində, biz INDEX massiv formasını müzakirə edərkən belə bir düsturu artıq görmüsünüz.
Və daha bir misal. Nümunə cədvəlimizdə Günəş sistemində 2-ci ən böyük planeti tapmaq üçün cədvəli Diametr sütununa görə çeşidləyirsiniz və aşağıdakı İNDEKS düsturundan istifadə edirsiniz:
=INDEX(SourceData, 2, 3)
-
Array
bu misalda cədvəl adı və ya diapazon arayışıdır, MənbəData . -
Row_num
2-dir, çünki siz ikinci elementi axtarırsınızsiyahıda, 2-ci -
Column_num
3-dür, çünki Diametr cədvəldə 3-cü sütundur.
Əgər siz planetin diametri deyil, ad, sütun_numunu 1-ə dəyişin. Və təbii olaraq, aşağıdakı ekran görüntüsündə göstərildiyi kimi, formulanızı daha çox yönlü etmək üçün sətir_sayı və/və ya sütun_num arqumentlərində xana istinadından istifadə edə bilərsiniz:
2. Bir sətir və ya sütundakı bütün dəyərləri əldə etmək
Bir xananı əldə etməkdən başqa, İNDEKS funksiyası bütün sətir və ya sütun -dən dəyərlər massivini qaytara bilir. . Müəyyən bir sütundan bütün dəyərləri əldə etmək üçün sətir_num arqumentini buraxmalı və ya onu 0-a təyin etməlisiniz. Eynilə, bütün sətri əldə etmək üçün sütun_numunda boş dəyər və ya 0 keçirməlisiniz.
Belə INDEX düsturları çətin ki öz-özünə istifadə oluna bilər, çünki Excel düsturla qaytarılan dəyərlər massivini tək xanaya sığdıra bilmir və siz #VALUE! əvəzinə səhv. Bununla belə, INDEX-i SUM və ya AVERAGE kimi digər funksiyalarla birlikdə istifadə etsəniz, möhtəşəm nəticələr əldə edəcəksiniz.
Məsələn, Günəş sistemində planetin orta temperaturunu hesablamaq üçün aşağıdakı düsturdan istifadə edə bilərsiniz:
=AVERAGE(INDEX(SourceData, , 4))
Yuxarıdakı düsturda sütun_num arqumenti 4-dür, çünki cədvəlimizdə 4-cü sütunda Temperatur var. sətir_num parametri buraxılıb.
Oxşar şəkildə siz minimum və maksimumu tapa bilərsiniz.temperaturlar:
=MAX(INDEX(SourceData, , 4))
=MIN(INDEX(SourceData, , 4))
Və ümumi planet kütləsini hesablayın (Kütlə cədvəldə 2-ci sütundur):
=SUM(INDEX(SourceData, , 2))
Praktik nöqteyi-nəzərdən yuxarıdakı düsturdakı INDEX funksiyası artıqdır. Siz sadəcə olaraq =AVERAGE(range)
və ya =SUM(range)
yaza və eyni nəticələri əldə edə bilərsiniz.
Real data ilə işləyərkən bu funksiya data təhlili üçün istifadə etdiyiniz daha mürəkkəb düsturların bir hissəsi kimi faydalı ola bilər.
3. INDEX-dən digər funksiyalarla (SUM, AVERAGE, MAX, MIN) istifadə
Əvvəlki nümunələrdən siz elə təəssürat yarada bilərsiniz ki, INDEX düsturu dəyərləri qaytarır, lakin reallıq odur ki, istinad qaytarır. dəyəri olan xanaya. Və bu nümunə Excel İNDEKSİ funksiyasının əsl mahiyyətini nümayiş etdirir.
İNDEKS düsturunun nəticəsi istinad olduğu üçün biz ondan dinamik diapazon yaratmaq üçün digər funksiyalar daxilində istifadə edə bilərik. Qarışıq səslənir? Aşağıdakı düstur hər şeyi aydınlaşdıracaq.
Fərz edək ki, sizdə A1:A10 xanalarındakı dəyərlərin orta qiymətini qaytaran =AVERAGE(A1:A10)
düsturunuz var. Aralığı birbaşa düsturda yazmaq əvəzinə, A1 və ya A10 və ya hər ikisini aşağıdakı kimi İNDEKS funksiyaları ilə əvəz edə bilərsiniz:
=AVERAGE(A1 : INDEX(A1:A20,10))
Yuxarıdakı düsturların hər ikisi eyni şeyi verəcəkdir. nəticə, çünki INDEX funksiyası A10 xanasına da istinad qaytarır (sətir_num 10-a təyin edilib, sütun_num buraxılıb). Fərq ondadır ki, diapazon AVERAGE / INDEX düsturu dinamikdir,və siz INDEX-də sətir_num arqumentini dəyişdikdən sonra AVERAGE funksiyası tərəfindən işlənmiş diapazon dəyişəcək və düstur fərqli nəticə verəcək.
Görünür, INDEX düsturunun marşrutu həddən artıq mürəkkəb görünür, lakin onun praktik tətbiqləri var. , aşağıdakı nümunələrdə göstərildiyi kimi.
Nümunə 1. Siyahıdakı ən yaxşı N elementin ortasını hesablayın
Tutaq ki, sistemimizdəki N ən böyük planetin orta diametrini bilmək istəyirsiniz. . Beləliklə, cədvəli Diametr sütunu üzrə ən böyüyündən kiçiyə doğru çeşidləyirsiniz və aşağıdakı Orta / İndeks düsturundan istifadə edirsiniz:
=AVERAGE(C5 : INDEX(SourceData[Diameter], B1))
Nümunə 2. Göstərilən iki element arasında maddələri cəmləyin
Düsturunuzda yuxarı və aşağı sərhəd elementlərini müəyyən etmək istəyirsinizsə, birinci və ikinci elementi qaytarmaq üçün iki İNDEX funksiyasından istifadə etməlisiniz. istədiyiniz son element.
Məsələn, aşağıdakı düstur B1 və B2 xanalarında göstərilən iki element arasında Diametr sütunundakı dəyərlərin cəmini qaytarır:
=SUM(INDEX(SourceData[Diameter],B1) : INDEX(SourceData[Diameter], B2))
4. Dinamik diapazonlar və açılan siyahılar yaratmaq üçün İNDEKS düsturu
Tez-tez baş verdiyi kimi, siz iş vərəqində məlumatları təşkil etməyə başladığınız zaman sonda neçə girişiniz olacağını bilməyə bilərsiniz. Tamamlanmış kimi görünən planetlərimiz cədvəlində vəziyyət belə deyil, amma kim bilir...
Hər halda, verilmiş sütunda dəyişən elementlərin sayı varsa, deyin ki, A1-dən A n ,məlumatı olan bütün xanaları özündə birləşdirən dinamik adlandırılmış diapazon yaratmaq istəyə bilərsiniz. Bununla, siz yeni elementlər əlavə etdiyiniz və ya mövcud olanların bəzilərini sildiyiniz zaman diapazonun avtomatik tənzimlənməsini istəyirsiniz. Məsələn, hazırda 10 elementiniz varsa, adlandırılmış diapazonunuz A1:A10-dur. Yeni qeyd əlavə etsəniz, adlandırılmış diapazon avtomatik olaraq A1:A11-ə qədər genişlənir və fikrinizi dəyişib həmin yeni əlavə edilmiş məlumatları silsəniz, diapazon avtomatik olaraq A1:A10-a qayıdır.
Bunun əsas üstünlüyü yanaşma ondan ibarətdir ki, siz onların düzgün diapazonlara istinad etmələrini təmin etmək üçün iş kitabınızdakı bütün düsturları daim yeniləməli deyilsiniz.
Dinamik diapazonu müəyyən etməyin bir yolu Excel OFFSET funksiyasından istifadə etməkdir:
=OFFSET(Sheet_Name!$A$1, 0, 0, COUNTA(Sheet_Name!$A:$A), 1)
Digər mümkün həll yolu Excel INDEX-dən COUNTA ilə birlikdə istifadə etməkdir:
=Sheet_Name!$A$1:INDEX(Sheet_Name!$A:$A, COUNTA(Sheet_Name!$A:$A))
Hər iki düsturda A1 siyahının birinci elementini və yaradılan dinamik diapazonu ehtiva edən xanadır. hər iki düsturla eyni olacaq.
Fərq yanaşmalardadır. OFFSET funksiyası başlanğıc nöqtəsindən müəyyən sayda sətir və/yaxud sütunla hərəkət edərkən, INDEX müəyyən sətir və sütunun kəsişməsində xana tapır. Hər iki düsturda istifadə edilən COUNTA funksiyası maraq sütununda boş olmayan xanaların sayını alır.
Bu misalda, A sütununda 9 boş olmayan xana var, ona görə də COUNTA 9-u qaytarır. Nəticə etibarilə, INDEX, A sütununda (adətən INDEX) son istifadə olunan xana olan $A$9 qaytarır.