Excel-də dinamik massivlər

Dinamik massivlər nədir

2018-ci ilin sentyabrında Microsoft Microsoft Excel-ə tamamilə yeni alət əlavə edən yeniləmə buraxdı: Dinamik massivlər və onlarla işləmək üçün 7 yeni funksiya. Bu şeylər, mübaliğəsiz, düsturlar və funksiyalarla işləmək üçün bütün adi texnikanı kökündən dəyişdirir və hər bir istifadəçini narahat edir.

Mahiyyəti izah etmək üçün sadə bir nümunəyə nəzər salın.

Tutaq ki, bizdə şəhər-aylar haqqında məlumatlar olan sadə bir cədvəl var. Vərəqin sağındakı hər hansı bir boş xananı seçsək və ona bir xana ilə deyil, dərhal diapazonla əlaqələndirən düstur daxil etsək nə olacaq?

Excel-in bütün əvvəlki versiyalarında, üzərinə kliklədikdən sonra Daxil edin biz yalnız bir ilk B2 xanasının məzmununu alacaqdıq. Başqa necə?

Yaxşı, yoxsa bu diapazonu =SUM(B2:C4) kimi bir növ toplama funksiyasına bağlamaq və bunun üçün ümumi nəticə əldə etmək olardı.

Əgər bizə ibtidai məbləğdən daha mürəkkəb əməliyyatlar lazımdırsa, məsələn, unikal dəyərlər və ya Top 3 çıxarmaq, onda klaviatura qısa yolundan istifadə edərək düsturumuzu massiv düsturu kimi daxil etməli olardıq. Ctrl+ÜstKrkt+Daxil edin.

İndi hər şey fərqlidir.

İndi belə bir formula daxil etdikdən sonra sadəcə klikləyə bilərik Daxil edin – və nəticədə istinad etdiyimiz xNUMXbuXNUMXb bütün dəyərləri dərhal əldə edin:

Bu sehr deyil, Microsoft Excel-in indi malik olduğu yeni dinamik massivlərdir. Yeni dünyaya xoş gəldiniz 🙂

Dinamik massivlərlə işin xüsusiyyətləri

Texniki olaraq, bütün dinamik massivimiz ilk G4 xanasında saxlanılır, lazımi sayda xanaları öz məlumatları ilə sağa və aşağıya doldurur. Massivdə hər hansı digər xana seçsəniz, düstur çubuğundakı keçid qeyri-aktiv olacaq və “uşaq” xanalardan birində olduğumuzu göstərəcək:

Bir və ya daha çox "uşaq" hüceyrəni silmək cəhdi heç bir nəticə verməyəcək - Excel dərhal onları yenidən hesablayacaq və dolduracaq.

Eyni zamanda, bu "uşaq" hüceyrələrə digər düsturlarda etibarlı şəkildə müraciət edə bilərik:

Massivin ilk xanasını (məsələn, G4-dən F8-ə) kopyalasanız, bütün massiv (onun istinadları) adi düsturlarda olduğu kimi eyni istiqamətdə hərəkət edəcək:

Massivi köçürməli olsaq, o zaman hərəkət etmək kifayət edər (siçan və ya birləşmə ilə Ctrl+X, Ctrl+V), yenə yalnız ilk əsas xana G4 – ondan sonra o, yeni yerə köçürüləcək və bütün massivimiz yenidən genişlənəcək.

Yaradılmış dinamik massiv vərəqdə başqa bir yerə istinad etmək lazımdırsa, onun aparıcı xanasının ünvanından sonra xüsusi simvol # (“funt”) istifadə edə bilərsiniz:

Məsələn, indi siz asanlıqla yaradılmış dinamik massivə istinad edən xanada açılan siyahı yarada bilərsiniz:

Dinamik massiv xətaları

Bəs massivi genişləndirmək üçün kifayət qədər yer yoxdursa və ya onun yolunda artıq başqa məlumatlar tərəfindən işğal edilmiş hüceyrələr varsa nə baş verir? Excel-də tamamilə yeni növ səhvlərlə tanış olun - #transfer! (#TÖK!):

Həmişə olduğu kimi, sarı almaz və nida işarəsi olan ikona vursaq, problemin mənbəyi haqqında daha ətraflı izahat alacağıq və müdaxilə edən hüceyrələri tez tapa bilərik:

Massiv vərəqdən kənara çıxdıqda və ya birləşdirilmiş xanaya dəydikdə oxşar xətalar baş verəcək. Əgər maneəni aradan qaldırsanız, hər şey dərhal tez düzəldiləcəkdir.

Dinamik massivlər və ağıllı masalar

Dinamik massiv klaviatura qısayolu ilə yaradılmış “ağıllı” cədvələ işarə edirsə Ctrl+T və ya Ev - Cədvəl kimi formatlayın (Ev - Cədvəl kimi format), onda o, həm də əsas keyfiyyətini - avtomatik ölçüləri miras alacaq.

Aşağıya və ya sağa yeni məlumat əlavə edərkən, ağıllı masa və dinamik diapazon da avtomatik olaraq uzanacaq:

Bununla belə, bir məhdudiyyət var: biz ağıllı masa daxilində forumlarda dinamik diapazondan istifadə edə bilmərik:

Dinamik massivlər və digər Excel xüsusiyyətləri

Yaxşı, deyirsən. Bütün bunlar maraqlı və gülməlidir. Əvvəlki kimi, orijinal diapazonun ilk xanasına istinad edərək düsturu əl ilə uzatmağa ehtiyac yoxdur, aşağı və sağa və bütün bunlar. Və hamısı budur?

Tam olaraq deyil.

Dinamik massivlər Excel-də sadəcə başqa bir alət deyil. İndi onlar Microsoft Excel-in ürəyinə (və ya beyninə) – onun hesablama mühərrikinə yerləşdirilib. Bu o deməkdir ki, indi bizə tanış olan digər Excel düsturları və funksiyaları da dinamik massivlərlə işləməyi dəstəkləyir. Baş verən dəyişikliklərin dərinliyi haqqında fikir vermək üçün bir neçə nümunəyə nəzər salaq.

Transpose

Aralığı köçürmək üçün (sətirləri və sütunları dəyişdirmək) Microsoft Excel həmişə daxili funksiyaya malikdir TRANSP (TRANSPOS). Bununla belə, ondan istifadə etmək üçün əvvəlcə nəticələr üçün diapazonu düzgün seçməlisiniz (məsələn, giriş 5×3 diapazonu idisə, onda siz 3×5 seçmiş olmalısınız), sonra funksiyanı daxil edin və düyməni basın. birləşmə Ctrl+ÜstKrkt+Daxil edin, çünki o, yalnız massiv formul rejimində işləyə bilərdi.

İndi sadəcə bir xana seçə, eyni düsturu daxil edib normal üzərinə klikləyə bilərsiniz Daxil edin – dinamik massiv hər şeyi özü edəcək:

Vurma cədvəli

Excel-də massiv düsturlarının faydalarını vizuallaşdırmaq istənildikdə verdiyim nümunə budur. İndi bütün Pifaqor cədvəlini hesablamaq üçün ilk B2 xanasında dayanmaq kifayətdir, oraya iki massivi (şaquli və üfüqi rəqəmlər dəsti 1..10) çarpan bir düstur daxil edin və sadəcə vurun. Daxil edin:

Yapıştırma və qutunun çevrilməsi

Massivləri nəinki çoxaltmaq, həm də standart operator & (ampersand) ilə birlikdə yapışdırmaq olar. Tutaq ki, iki sütundan ad və soyad çıxarmalı və orijinal məlumatda atlama halını düzəltməliyik. Biz bunu bütün massivi təşkil edən bir qısa düsturla edirik və sonra funksiyanı ona tətbiq edirik PROPNACH (UYĞUN)reyestri səliqəyə salmaq üçün:

Nəticə Top 3

Tutaq ki, bizdə ilk üç nəticəni əldə etmək istədiyimiz bir dəstə ədəd var, onları azalan ardıcıllıqla düzüb. İndi bu, bir düsturla və yenə də heç bir olmadan edilir Ctrl+ÜstKrkt+Daxil edin əvvəlki kimi:

Nəticələrin sütunda deyil, sıra ilə yerləşdirilməsini istəyirsinizsə, bu düsturdakı iki nöqtəni (sətir ayırıcı) nöqtəli vergüllə (bir sətir daxilində element ayırıcı) əvəz etmək kifayətdir. Excel-in ingilis versiyasında bu ayırıcılar müvafiq olaraq nöqtəli vergül və vergüldür.

Birdən çox sütunu çıxaran VLOOKUP

Funksiyaları VPR (BAXIN) indi siz dəyərləri birdən deyil, eyni anda bir neçə sütundan götürə bilərsiniz – sadəcə onların nömrələrini (istənilən ardıcıllıqla) funksiyanın üçüncü arqumentində massiv kimi göstərin:

OFFSET funksiyası dinamik massivi qaytarır

Məlumatların təhlili üçün ən maraqlı və faydalı (VLOOKUP-dan sonra) funksiyalardan biri funksiyadır SƏRƏNCAM (OFSET), kitabımın bir fəslini və burada bir məqaləni bir dəfə həsr etmişəm. Bu funksiyanı başa düşmək və mənimsəməkdə çətinlik həmişə olub ki, o, nəticədə verilənlər massivini (diapazonunu) qaytarıb, lakin biz bunu görə bilmirdik, çünki Excel hələ də qutudan kənar massivlərlə işləməyi bilmirdi.

İndi bu problem keçmişdə qalıb. İndi görün, bir düsturdan və OFFSET tərəfindən qaytarılan dinamik massivdən istifadə edərək, istənilən çeşidlənmiş cədvəldən verilmiş məhsul üçün bütün sətirləri çıxara bilərsiniz:

Gəlin onun arqumentlərinə nəzər salaq:

  • A1 - başlanğıc xanası (istinad nöqtəsi)
  • ПОИСКПОЗ(F2;A2:A30;0) – başlanğıc hüceyrədən aşağı – ilk tapılan kələmə keçidin hesablanması.
  • 0 – “pəncərənin” başlanğıc xanaya nisbətən sağa sürüşməsi
  • СЧЁТЕСЛИ(A2:A30;F2) – qaytarılan “pəncərənin” hündürlüyünün hesablanması – kələm olan sətirlərin sayı.
  • 4 — üfüqi olaraq “pəncərənin” ölçüsü, yəni 4 sütunun çıxması

Dinamik massivlər üçün yeni funksiyalar

Köhnə funksiyalarda dinamik massiv mexanizmini dəstəkləməklə yanaşı, Microsoft Excel-ə dinamik massivlərlə işləmək üçün xüsusi olaraq kəskinləşdirilmiş bir neçə tamamilə yeni funksiyalar əlavə edilmişdir. Xüsusilə bunlardır:

  • GRADE (NÖV) – giriş diapazonunu çeşidləyir və çıxışda dinamik massiv yaradır
  • SORTPO (SORTBY) – bir diapazonu digərindən dəyərlərə görə çeşidləyə bilər
  • FILTER (FİLTRE) – müəyyən şərtlərə cavab verən mənbə diapazonundan sətirləri götürür
  • UNİK (UNİKAL) – diapazondan unikal dəyərlər çıxarır və ya dublikatları silir
  • SLMASSIVE (RANDARRAY) – verilmiş ölçülü təsadüfi ədədlər massivi yaradır
  • DOĞAN SONRA (ardıcıllıq) — verilmiş addımla ədədlər ardıcıllığından massiv əmələ gətirir

Onlar haqqında daha çox - bir az sonra. Düşüncəli araşdırma üçün ayrı bir məqaləyə (bir deyil) dəyərdir 🙂

Nəticələr

Əgər siz yuxarıda yazılanların hamısını oxumusunuzsa, deməli, siz artıq baş verən dəyişikliklərin miqyasını dərk edirsiniz. Excel-də bir çox şeyi indi daha asan, asan və daha məntiqli etmək olar. Etiraf etməliyəm ki, indi burada, bu saytda və kitablarımda nə qədər məqalənin düzəldilməli olacağına görə bir az şoka düşdüm, amma bunu yüngül ürəklə etməyə hazıram.

Nəticələri yekunlaşdıraraq, üstünlüklər dinamik massivlər üçün aşağıdakıları yaza bilərsiniz:

  • Kombinasiyanı unuda bilərsiniz Ctrl+ÜstKrkt+Daxil edin. Excel indi "adi düsturlar" və "massiv düsturları" arasında heç bir fərq görmür və onlara eyni şəkildə yanaşır.
  • Funksiya haqqında SUMPRODUCT (MƏHSUL), əvvəllər massiv düsturlarını daxil etmək üçün istifadə olunurdu Ctrl+ÜstKrkt+Daxil edin siz də unuda bilərsiniz – indi kifayət qədər asandır SUM и Daxil edin.
  • Ağıllı cədvəllər və tanış funksiyalar (SUM, IF, VLOOKUP, SUMIFS və s.) indi də dinamik massivləri tam və ya qismən dəstəkləyir.
  • Geriyə doğru uyğunluq var: Excel-in köhnə versiyasında dinamik massivləri olan bir iş kitabını açsanız, onlar massiv düsturlarına (qıvrımlı mötərizələrdə) çevriləcək və "köhnə üslubda" işləməyə davam edəcək.

Nömrə tapdım mənfi cəhətləri:

  • Siz dinamik massivdən ayrı-ayrı sətirləri, sütunları və ya xanaları silə bilməzsiniz, yəni o, tək obyekt kimi yaşayır.
  • Siz dinamik massivi adi şəkildə sıralaya bilməzsiniz Məlumat - Çeşidləmə (Məlumat - Çeşidləmə). İndi bunun üçün xüsusi bir funksiya var. GRADE (NÖV).
  • Dinamik diapazon ağıllı masaya çevrilə bilməz (lakin siz smart masa əsasında dinamik diapazon yarada bilərsiniz).

Əlbəttə, bu, son deyil və əminəm ki, Microsoft gələcəkdə bu mexanizmi təkmilləşdirməyə davam edəcək.

Haradan yükləyə bilərəm?

Və nəhayət, əsas sual 🙂

Microsoft ilk dəfə 2018-ci ilin sentyabrında bir konfransda Excel-də dinamik massivlərin önizləməsini elan etdi və göstərdi. Alovlandırmaq. Sonrakı bir neçə ayda hərtərəfli sınaqdan keçirildi və ilk olaraq yeni funksiyalar işə salındı cats Microsoft-un işçiləri, sonra isə Office Insider dairəsindən könüllü testçilər. Bu il dinamik massivləri əlavə edən yeniləmə tədricən adi Office 365 abunəçilərinə yayılmağa başladı. Məsələn, mən onu yalnız avqust ayında Office 365 Pro Plus (Aylıq Hədəfli) abunəliyimlə almışam.

Excel-də hələ dinamik massivlər yoxdursa, lakin siz onlarla həqiqətən işləmək istəyirsinizsə, onda aşağıdakı seçimlər var:

  • Office 365 abunəliyiniz varsa, bu yeniləmə sizə çatana qədər sadəcə gözləyə bilərsiniz. Bunun nə qədər tez baş verməsi yeniləmələrin Ofisinizə nə qədər tez-tez çatdırılmasından asılıdır (ildə bir dəfə, altı ayda bir, ayda bir dəfə). Əgər sizin korporativ kompüteriniz varsa, siz inzibatçınızdan yeniləmələri daha tez-tez endirmək üçün quraşdırmağı xahiş edə bilərsiniz.
  • Siz həmin Office Insider test könüllülərinin sıralarına qoşula bilərsiniz – onda siz bütün yeni funksiyaları və funksiyaları ilk əldə edəcəksiniz (lakin Excel-də buggy-nin artması şansı, əlbəttə ki, var).
  • Abunəliyiniz yoxdursa, ancaq Excel-in qutulu müstəqil versiyası varsa, ən azı 2022-ci ildə Office və Excel-in növbəti versiyasının buraxılmasını gözləməli olacaqsınız. Bu cür versiyaların istifadəçiləri yalnız təhlükəsizlik yeniləmələrini və səhv düzəlişlərini alır və bütün yeni "yaxşılıqlar" indi yalnız Office 365 abunəçilərinə verilir. Kədərli amma doğru 🙂

Hər halda, Excel-də dinamik massivlər görünəndə - bu məqalədən sonra siz buna hazır olacaqsınız 🙂

  • Massiv düsturları nədir və onlardan Excel-də necə istifadə olunur
  • OFFSET funksiyasından istifadə edərək pəncərə (aralıq) cəmlənməsi
  • Excel-də cədvəli köçürməyin 3 yolu

Cavab yaz