Excel-en matrize dinamikoak

Zer dira array dinamikoak

2018ko irailean, Microsoft-ek Microsoft Excel-en tresna guztiz berria gehitzen duen eguneraketa bat kaleratu zuen: Dynamic Arrays eta haiekin lan egiteko 7 funtzio berri. Gauza hauek, gehiegikeriarik gabe, errotik aldatzen dute formula eta funtzioekin lan egiteko ohiko teknika guztiak eta arduratzen dira, literalki, erabiltzaile bakoitzari.

Demagun adibide sinple bat funtsa azaltzeko.

Demagun hiri-hilabeteei buruzko datuak dituen taula sinple bat dugula. Zer gertatuko da orriaren eskuineko edozein gelaxka huts hautatzen badugu eta bertan gelaxka batekin ez, barruti batekin berehala lotzen duen formula bat sartzen badugu?

Excel-en aurreko bertsio guztietan, klik egin ondoren Sartu lehen B2 gelaxka bakarraren edukia lortuko genuke. Nola bestela?

Beno, edo posible izango litzateke barruti hau =SUM(B2:C4) bezalako batuketa-funtzio batean biltzea eta guztizko bat lortzea.

Batura primitibo bat baino eragiketa konplexuagoak behar baditugu, esate baterako, balio esklusiboak edo Top 3 ateratzea, orduan gure formula matrize formula gisa sartu beharko genuke teklatuko lasterbide bat erabiliz. Ctrl+Shift+Sartu.

Orain dena ezberdina da.

Orain, halako formula bat sartu ondoren, klik egin besterik ez dugu egin Sartu – eta ondorioz lortu berehala aipatu ditugun balio guztiak uXNUMXbuXNUMXb:

Hau ez da magia, Microsoft Excel-ek orain dituen matrize dinamiko berriak baizik. Ongi etorri mundu berrira 🙂

Array dinamikoekin lan egiteko ezaugarriak

Teknikoki, gure matrize dinamiko osoa lehen G4 gelaxkan gordetzen da, eskuinera eta beherantz beharrezko gelaxka-kopurua bere datuekin betez. Arrayko beste edozein gelaxka hautatzen baduzu, formula-barrako esteka inaktibo egongo da, "seme-alaba" gelaxka batean gaudela erakutsiz:

"Haur" gelaxka bat edo gehiago ezabatzeko saiakerak ez du ezer ekarriko - Excelek berehala kalkulatuko ditu eta beteko ditu.

Aldi berean, segurtasunez aipa genitzake "haur" gelaxka hauek beste formuletan:

Array baten lehen gelaxka kopiatzen baduzu (adibidez, G4tik F8ra), matrize osoa (bere erreferentziak) formula arruntetan dagoen norabide berean mugituko da:

Array-a mugitu behar badugu, nahikoa izango da mugitzea (saguarekin edo konbinazio batekin Ctrl+X, Ctrl+V), berriro ere, G4 lehen gelaxka nagusia bakarrik - horren ondoren, leku berri batera eramango da eta gure array osoa berriro zabalduko da.

Orriaren beste nonbait aipatu behar baduzu sortutako matrize dinamikora, orduan # karaktere berezia erabil dezakezu bere lehen gelaxkaren helbidearen ondoren:

Adibidez, orain erraz egin dezakezu goitibeherako zerrenda bat sortu den matrize dinamikoari erreferentzia egiten dion gelaxka batean:

Array dinamikoko erroreak

Baina zer gertatzen da matrizea zabaltzeko leku nahikorik ez badago edo bere bidean beste datu batzuek jada okupatutako gelaxkak badaude? Ezagutu Excel-en akats mota berri bat - #TRANSFERIOA! (#ISURKETA!):

Beti bezala, diamante horia eta harridura ikurra dituen ikonoan klik egiten badugu, arazoaren jatorriaren azalpen zehatzagoa jasoko dugu eta interferentzia-zelulak azkar aurkitu ahal izango ditugu:

Antzeko erroreak gertatuko dira matrizea orritik ateratzen bada edo bateratutako gelaxka bat jotzen badu. Oztopoa kentzen baduzu, dena berehala zuzenduko da hegan.

Array dinamikoak eta taula adimendunak

Matrize dinamikoak teklatuko lasterbide batek sortutako taula "adimentsu" batera seinalatzen badu Ctrl+T edo Hasiera - Taula gisa formatu (Hasiera — Taula gisa formatu), orduan bere kalitate nagusia ere heredatuko du - tamaina automatikoa.

Datu berriak beheko aldean edo eskuinean gehitzean, Taula adimenduna eta barruti dinamikoa ere automatikoki luzatuko dira:

Hala ere, muga bat dago: ezin dugu barruti dinamikoko erreferentziarik erabili forumuletan taula adimendun baten barruan:

Matrize dinamikoak eta Excel beste ezaugarri batzuk

Ados, diozu. Hau guztia interesgarria eta dibertigarria da. Ez da beharrezkoa, lehen bezala, formula eskuz luzatzea jatorrizko barrutiaren lehenengo gelaxkaren erreferentziarekin behera eta eskuinera eta hori guztia. Eta hori da guztia?

Ez da nahiko.

Array dinamikoak ez dira Excel-en beste tresna bat. Orain Microsoft Excel-en bihotzean (edo garunean) sartuta daude, bere kalkulu-motorra. Horrek esan nahi du ezagutzen ditugun Excel formulak eta funtzioek orain matrize dinamikoekin lan egitea onartzen dutela. Ikus ditzagun adibide batzuk gertatu diren aldaketen sakontasunaren ideia bat emateko.

irauli

Barruti bat transposatzeko (errenkadak eta zutabeak trukatzeko) Microsoft Excel-ek beti izan du funtzio integratua TRANSP (TRANSPOSITZEA). Hala ere, erabiltzeko, lehenik eta behin emaitzen barrutia behar bezala hautatu behar duzu (adibidez, sarrera 5×3ko tartea bazen, orduan 3×5 hautatu behar duzu), ondoren sartu funtzioa eta sakatu tekla. konbinazioa Ctrl+Shift+Sartu, array formula moduan bakarrik funtzionatu zezakeelako.

Orain gelaxka bat hauta dezakezu, formula bera sartu bertan eta egin klik normalean Sartu - matrize dinamikoak dena egingo du berez:

Biderketa taula

Hau da Excel-en array formulen onurak ikusteko eskatu zidatenean eman nuen adibidea. Orain, Pitagorasen taula osoa kalkulatzeko, nahikoa da lehenengo B2 gelaxkan zutik egotea, bertan bi matrize biderkatzen dituen formula bat sartu (1..10 zenbakien multzo bertikala eta horizontala) eta klik egin besterik ez dago. Sartu:

Itsatsi eta kasuen bihurketa

Arrayak biderkatu ez ezik, & (ampersand) operadore estandarrarekin itsatsi daitezke. Demagun bi zutabeetatik izena eta abizena atera behar ditugula eta jatorrizko datuetan jauzi-kasuaren kasua zuzendu behar dugula. Hau matrize osoa osatzen duen formula labur batekin egiten dugu, eta gero funtzioa aplikatzen diogu PROPNACH (EGOKIA)erregistroa txukuntzeko:

Ondorioa Top 3

Demagun zenbaki sorta bat dugula, nondik hiru emaitzak atera nahi ditugula, beheranzko ordenan antolatuz. Orain hau formula bakarrarekin egiten da eta, berriro ere, inolako gabe Ctrl+Shift+Sartu lehen bezala:

Emaitzak zutabe batean ez, errenkadan jarri nahi badituzu, nahikoa da formula honetako bi puntuak (lerro-bereizlea) puntu eta koma batekin ordezkatzea (elementu-bereizlea lerro baten barruan). Excel-en ingelesezko bertsioan, bereizle hauek puntu eta koma dira, hurrenez hurren.

VLOOKUP hainbat zutabe erauzten ditu aldi berean

Funtzioak VPR (VLOOKUP) orain balioak ez bakar batetik atera ditzakezu, baina hainbat zutabetatik aldi berean - zehaztu haien zenbakiak (nahi duzun ordenan) array gisa funtzioaren hirugarren argumentuan:

OFFSET funtzioa matrize dinamiko bat itzultzen du

Datuak aztertzeko funtzio interesgarri eta erabilgarrienetako bat (VLOOKUP ondoren) funtzioa da BOTATZEA (OFFSET), eta horri eskaini nion garai batean nire liburuko kapitulu oso bat eta hemen artikulu bat. Funtzio hau ulertzeko eta menperatzeko zailtasuna beti izan da ondorioz datu-sorta (barrutia) bat itzultzen zuela, baina ezin izan genuen ikusi, Excel-ek oraindik ez baitzekien matrizeekin nola funtzionatzen duen kutxatik kanpo.

Orain arazo hau iraganean dago. Ikusi nola orain, formula bakarra eta OFFSET-ek itzultzen duen matrize dinamiko bat erabiliz, produktu jakin baterako errenkada guztiak atera ditzakezun edozein taula ordenatuetatik:

Ikus ditzagun bere argudioei:

  • A1 - hasierako gelaxka (erreferentzia puntua)
  • ПОИСКПОЗ(F2;A2:A30;0) – hasierako gelaxkatik beherako desplazamenduaren kalkulua – aurkitutako lehen azara.
  • 0 – “leihoa” eskuinera desplazatzea hasierako gelaxkarekiko
  • СЧЁТЕСЛИ(A2:A30;F2) – Itzulitako “leihoaren” altueraren kalkulua – aza dagoen lerro kopurua.
  • 4 — “leihoaren” tamaina horizontalean, hau da, 4 zutabe atera

Array dinamikoetarako funtzio berriak

Funtzio zaharretan matrize dinamikoaren mekanismoa onartzeaz gain, hainbat funtzio guztiz berri gehitu dira Microsoft Excel-era, array dinamikoekin lan egiteko bereziki zorroztuta. Bereziki, hauek dira:

  • GRADE (ORDENATU) – Sarrera-barrutia ordenatzen du eta irteeran matrize dinamiko bat sortzen du
  • SORTPO (ORDENATU) - Barruti bat beste batetik balioen arabera ordenatu dezake
  • FILTER (IRAGAZKI) – zehaztutako baldintzak betetzen dituzten iturburu-barrutiko errenkadak lortzen ditu
  • UNIK (BAKARRA) - Balio bereziak ateratzen ditu barruti batetik edo bikoiztuak kentzen ditu
  • SLMASIBOA (RANDARRAY) – Tamaina jakin bateko ausazko zenbakien array bat sortzen du
  • JAIOTZEA (SEKUENTZIA) — urratsa emandako zenbaki-segida batetik array bat osatzen du

Horiei buruz gehiago - pixka bat geroago. Aparteko artikulu bat (eta ez bat) merezi dute azterketa gogoetatsurako 🙂

Ondorioak

Goian idatzitako guztia irakurri baduzu, uste dut dagoeneko konturatu zarela gertatu diren aldaketen tamainaz. Excel-en hainbeste gauza orain errazagoa, errazagoa eta logikoagoa egin daiteke. Aitortu behar dut apur bat harrituta nagoela orain zenbat artikulu zuzendu beharko diren hemen, gune honetan eta nire liburuetan, baina prest nago hori egiteko arin-arin.

Emaitzak laburbilduz, pros matrize dinamikoak, honako hau idatz dezakezu:

  • Konbinazioaz ahaztu dezakezu Ctrl+Shift+Sartu. Excel-ek orain ez du desberdintasunik ikusten "formula arruntak" eta "matrize-formulak" artean eta modu berean tratatzen ditu.
  • Funtzioari buruz SUMPRODUCT (PRODUKTU BURUZKOA), lehenago matrize formulak gabe sartzeko erabiltzen zena Ctrl+Shift+Sartu ahaztu ere egin dezakezu, orain nahikoa erraza da SUM и Sartu.
  • Taula adimendunak eta funtzio ezagunak (BURTU, IF, VLOOKUP, SUMIFS, etab.) orain matrize dinamikoak guztiz edo partzialki onartzen dituzte.
  • Atzerako bateragarritasuna dago: Excel-en bertsio zahar batean matrize dinamikoekin lan-liburu bat irekitzen baduzu, array-formula bihurtuko dira (giltza kizkurrekin) eta "estilo zaharrean" lanean jarraituko dute.

Zenbaki batzuk aurkitu ditu kenak:

  • Ezin dituzu errenkada, zutabe edo gelaxka indibidualak ezabatu array dinamiko batetik, hau da, entitate bakar gisa bizi da.
  • Ezin duzu ordenatu matrize dinamiko bat ohiko moduan Datuak – Ordenatzea (Datuak — Ordenatu). Orain funtzio berezi bat dago horretarako. GRADE (ORDENATU).
  • Barruti dinamiko bat ezin da mahai adimendun bihurtu (baina barruti dinamiko bat egin dezakezu mahai adimendun batean oinarrituta).

Jakina, hau ez da amaiera, eta ziur nago Microsoft-ek etorkizunean mekanismo hau hobetzen jarraituko duela.

Non deskargatu dezaket?

Eta azkenik, galdera nagusia 🙂

Microsoft-ek Excel-en matrize dinamikoen aurrebista iragarri eta erakutsi zuen 2018ko irailean hitzaldi batean. Su. Hurrengo hilabeteetan, funtzio berriak probatu eta martxan jarri ziren, lehenik katuak Microsoften beraren langileak, eta ondoren Office Insiders-en zirkuluko probatzaile boluntarioetan. Aurten, matrize dinamikoak gehitzen dituen eguneratzea pixkanaka Office 365eko harpidedun arruntetara zabaltzen hasi zen. Esate baterako, abuztuan bakarrik jaso nuen nire Office 365 Pro Plus (Hilabeteko xedea) harpidetzarekin.

Zure Excel-ek oraindik ez badu matrize dinamikorik, baina haiekin lan egin nahi baduzu, aukera hauek daude:

  • Office 365 harpidetza baduzu, eguneratze hau zuregana iritsi arte itxaron dezakezu. Hau zenbateraino gertatzen den eguneratzeak zure Bulegoan bidaltzen diren maiztasunaren araberakoa da (urtean behin, sei hilean behin, hilean behin). PC korporatibo bat baduzu, zure administratzaileari eska diezaiokezu eguneraketak maizago deskargatzeko konfiguratzeko.
  • Office Insiders-en probako boluntario horien zerrendan sar zaitezke; orduan lehena izango zara ezaugarri eta funtzio berri guztiak jasotzen (baina Excel-en akatsak areagotzeko aukera dago, noski).
  • Harpidetzarik ez baduzu, baina Excel-en kutxa bakarreko bertsio bat, orduan Office eta Excel-en hurrengo bertsioa 2022an argitaratu arte itxaron beharko duzu, gutxienez. Bertsio horien erabiltzaileek segurtasun-eguneratzeak eta akatsen konponketak baino ez dituzte jasotzen, eta "ongarri" berri guztiak Office 365-eko harpidedunei bakarrik doaz. Tristea baina egia 🙂

Nolanahi ere, zure Excel-en matrize dinamikoak agertzen direnean - artikulu honen ondoren, horretarako prest egongo zara 🙂

  • Zer dira array formulak eta nola erabili Excel-en
  • Leiho (barrutia) batuketa OFFSET funtzioa erabiliz
  • Excel-en taula bat transposatzeko 3 modu

Utzi erantzun bat