Turinys
Dėl revoliucinio "Excel 365" skaičiavimo variklio atnaujinimo masyvų formulės tapo labai paprastos ir suprantamos visiems, o ne tik super naudotojams. Mokomojoje programoje paaiškinama naujųjų "Excel" dinaminių masyvų sąvoka ir parodoma, kaip dėl jų darbo lentelės taps efektyvesnės ir jas bus daug lengviau sukurti.
"Excel" masyvų formulės visada buvo laikomos guru ir formulių ekspertų prerogatyva. Jei kas nors pasako: "Tai galima padaryti naudojant masyvų formulę", daugelis naudotojų iš karto reaguoja: "O ar nėra kito būdo?".
Dinaminių masyvų įvedimas yra ilgai lauktas ir labai sveikintinas pokytis. Dinaminių masyvų formulės yra tai, ką kiekvienas "Excel" naudotojas gali suprasti ir su malonumu kurti dėl jų gebėjimo dirbti su keliomis reikšmėmis paprastai, be jokių triukų ir gudrybių.
"Excel" dinaminiai masyvai
Dinaminiai masyvai tai keičiamo dydžio masyvai, kurie automatiškai apskaičiuoja ir grąžina vertes į kelis langelius pagal formulę, įvestą viename langelyje.
Per daugiau nei 30 metų "Microsoft Excel" patyrė daugybę pokyčių, tačiau vienas dalykas išliko pastovus - viena formulė, viena ląstelė. Net ir naudojant tradicines masyvų formules reikėjo įvesti formulę kiekvienoje ląstelėje, kurioje norite, kad būtų rodomas rezultatas. Naudojant dinaminius masyvus ši taisyklė nebegalioja. Dabar bet kuri formulė, grąžinanti reikšmių masyvą, automatiškai išsilieja į kaimynines ląstelės.langelių, nespaudžiant Ctrl + Shift + Enter ir neatliekant jokių kitų veiksmų. Kitaip tariant, dirbti su dinaminiais masyvais tampa taip pat paprasta, kaip ir su vienu langeliu.
Leiskite šią sąvoką iliustruoti labai paprastu pavyzdžiu. Tarkime, jums reikia padauginti dvi skaičių grupes, pavyzdžiui, apskaičiuoti skirtingas procentines dalis.
Prieš dinamines "Excel" versijas toliau pateikta formulė veiktų tik pirmoje ląstelėje, nebent ją įvestumėte keliose ląstelėse ir paspaustumėte Ctrl + Shift + Enter, kad formulė taptų masyvo formule:
=A3:A5*B2:D2
Dabar pažiūrėkite, kas nutiks, jei tą pačią formulę naudosite "Excel 365" programoje. Įveskite ją tik į vieną langelį (mūsų atveju B3), paspauskite klavišą Enter... ir iš karto rezultatai užpildys visą langelį:
Kelių langelių užpildymas viena formule vadinamas išsiliejimas , o užpildytas ląstelių intervalas vadinamas išsiliejimo intervalu.
Svarbu atkreipti dėmesį į tai, kad naujausias atnaujinimas - tai ne tik naujas būdas tvarkyti masyvus "Excel" programoje. Iš tikrųjų tai yra esminis viso skaičiavimo variklio pakeitimas. Naudojant dinaminius masyvus, "Excel" funkcijų biblioteka papildyta naujomis funkcijomis, o esamos pradėjo veikti greičiau ir efektyviau. Galiausiai nauji dinaminiai masyvai turėtų visiškaipakeiskite senamadiškas masyvo formules, kurios įvedamos naudojant spartųjį klavišą Ctrl + Shift + Enter.
"Excel" dinaminių masyvų prieinamumas
Dinaminiai masyvai buvo pristatyti 2018 m. "Microsoft Ignite" konferencijoje ir 2020 m. sausio mėn. išleisti "Office 365" prenumeratoriams. Šiuo metu jie prieinami "Microsoft 365" prenumeratos ir "Excel 2021".
Šiose versijose palaikomi dinaminiai masyvai:
- "Excel 365", skirta "Windows
- "Mac" skirta "Excel 365
- "Excel 2021
- "Excel 2021 for Mac
- "Excel", skirta "iPad
- "Excel" "iPhone
- "Excel" "Android" planšetiniams kompiuteriams
- "Excel", skirta "Android" telefonams
- "Excel" žiniatinkliui
"Excel" dinaminės masyvo funkcijos
Į "Excel 365" įdiegtos 6 naujos funkcijos, kurios savotiškai apdoroja masyvus ir išveda duomenis į ląstelių intervalą. Išvestis visada yra dinamiška - pasikeitus šaltinio duomenims, rezultatai atnaujinami automatiškai. Iš čia ir grupės pavadinimas - dinaminių masyvų funkcijos .
Šios naujosios funkcijos lengvai atlieka daugybę užduočių, kurios tradiciškai laikomos sunkiai įveikiamais riešutais. Pavyzdžiui, jomis galima pašalinti dublikatus, išskirti ir suskaičiuoti unikalias reikšmes, išfiltruoti tuščias vietas, generuoti atsitiktinius sveikuosius ir dešimtainius skaičius, rūšiuoti didėjančia arba mažėjančia tvarka ir dar daugiau.
Toliau rasite trumpą kiekvienos funkcijos aprašymą ir nuorodas į išsamias pamokas:
- UNIQUE - iš įvairių ląstelių ištraukia unikalius elementus.
- FILTRAS - filtruoja duomenis pagal jūsų nustatytus kriterijus.
- Rūšiuoti - surūšiuoja ląstelių intervalą pagal nurodytą stulpelį.
- SORTBY - surūšiuoja ląstelių intervalą pagal kitą intervalą arba masyvą.
- RANDARRAY - generuoja atsitiktinių skaičių masyvą.
- SEQUENCE - generuoja nuosekliųjų skaičių sąrašą.
- TEXTSPLIT - suskirsto eilutes pagal nurodytą skirtuką stulpeliuose ir (arba) eilutėse.
- TOCOL - konvertuokite masyvą arba intervalą į vieną stulpelį.
- TOROW - transformuokite diapazoną arba masyvą į vieną eilutę.
- WRAPCOLS - paverčia eilutę arba stulpelį į 2D masyvą pagal nurodytą reikšmių skaičių eilutėje.
- WRAPROWS - pertvarko eilutę arba stulpelį į 2D masyvą pagal nurodytą reikšmių skaičių kiekviename stulpelyje.
- TAKE - iš masyvo pradžios arba pabaigos ištraukia nurodytą skaičių gretimų eilučių ir (arba) stulpelių.
Be to, yra du modernūs populiarių "Excel" funkcijų pakaitalai, kurie oficialiai nepriklauso grupei, tačiau naudoja visus dinaminių masyvų privalumus:
XLOOKUP - tai galingesnis VLOOKUP, HLOOKUP ir LOOKUP įpėdinis, galintis ieškoti tiek stulpeliuose, tiek eilutėse ir grąžinti kelias reikšmes.
XMATCH - tai universalesnė funkcijos MATCH įpėdinė, galinti atlikti vertikalią ir horizontalią paiešką ir grąžinti nurodyto elemento santykinę padėtį.
"Excel" dinaminės masyvo formulės
Šiuolaikinėse "Excel" versijose dinaminių masyvų elgsena yra giliai integruota ir tampa natūralia visos funkcijos net ir tos, kurios iš pradžių nebuvo sukurtos darbui su masyvais. Paprasčiau tariant, bet kuriai formulei, grąžinančiai daugiau nei vieną reikšmę, "Excel" automatiškai sukuria keičiamo dydžio intervalą, į kurį išvedami rezultatai. Dėl šios galimybės esamos funkcijos dabar gali atlikti stebuklus!
Toliau pateiktuose pavyzdžiuose parodytos naujos dinaminių masyvų formulės ir dinaminių masyvų poveikis esamoms funkcijoms.
1 pavyzdys. Nauja dinaminio masyvo funkcija
Šiame pavyzdyje parodyta, kiek greičiau ir paprasčiau galima rasti sprendimą naudojant "Excel" dinaminių masyvų funkcijas.
Norėdami iš stulpelio išgauti unikalių reikšmių sąrašą, tradiciškai naudojate sudėtingą CSE formulę, pavyzdžiui, šią. Dinaminėje "Excel" programoje jums tereikia pagrindinės UNIQUE formulės:
=UNIKALUS(B2:B10)
Į bet kurį tuščią langelį įveskite formulę ir paspauskite Enter. "Excel" iš karto ištraukia visas skirtingas sąrašo reikšmes ir išveda jas į ląstelių intervalą, prasidedantį nuo langelio, kuriame įvedėte formulę (mūsų atveju - D2). Pasikeitus šaltinio duomenims, rezultatai perskaičiuojami ir atnaujinami automatiškai.
2 pavyzdys. Kelių dinaminių masyvų funkcijų derinimas vienoje formulėje
Jei užduoties neįmanoma atlikti viena funkcija, suriškite kelias funkcijas! Pavyzdžiui, norėdami filtruoti duomenis pagal sąlygą ir išdėstyti rezultatus pagal abėcėlę, apjuoskite FILTER funkciją SORT taip:
=SORT(FILTER(A2:C13, B2:B13=F1, "Nėra rezultatų"))
Kai A2:C13 yra šaltinio duomenys, B2:B13 yra tikrintinos reikšmės, o F1 yra kriterijus.
3 pavyzdys. Naujų dinaminių masyvų funkcijų naudojimas kartu su esamomis funkcijomis
Kadangi "Excel 365" įdiegtas naujasis skaičiavimo mechanizmas gali lengvai paversti įprastas formules masyvais, niekas netrukdo derinti naujų ir senų funkcijų.
Pavyzdžiui, norėdami suskaičiuoti, kiek unikalių reikšmių yra tam tikrame intervale, į seną gerą COUNTA įterpkite dinaminio masyvo funkciją UNIQUE:
=COUNTA(UNIQUE(B2:B10))
4 pavyzdys. Esamos funkcijos palaiko dinaminius masyvus
Jei senesnėje "Excel 2016" arba "Excel 2019" versijoje, pvz., "Excel 2016" arba "Excel 2019", TRIM funkcijai pateiksite ląstelių intervalą, ji grąžins vieną pirmosios ląstelės rezultatą:
=TRIM(A2:A6)
Dinaminėje "Excel" programoje ta pati formulė apdoroja visus langelius ir grąžina kelis rezultatus, kaip parodyta toliau:
5 pavyzdys. VLOOKUP formulė kelioms reikšmėms grąžinti
Kaip visi žino, VLOOKUP funkcija skirta grąžinti vieną reikšmę pagal nurodytą stulpelio indeksą. Tačiau "Excel 365" programoje galite pateikti stulpelių numerių masyvą ir grąžinti kelių stulpelių atitikmenis:
=VLOOKUP(F1, A2:C6, {1,2,3}, FALSE)
6 pavyzdys. Paprasta TRANSPOSE formulė
Ankstesnėse "Excel" versijose funkcijos TRANSPOSE sintaksė nepalikdavo vietos klaidoms. Norint pasukti duomenis darbalapyje, reikėjo suskaičiuoti pradinius stulpelius ir eilutes, pasirinkti tiek pat tuščių langelių, bet pakeisti jų orientaciją (didžiuliams darbalapiams tai buvo protu nesuvokiama operacija!), įvesti TRANSPOSE formulę pasirinktame intervale ir paspausti Ctrl + Shift + Enter, kad ją teisingai užbaigtumėte. Fui!
Dinaminėje "Excel" programoje tiesiog įveskite formulę į kairiausią išvesties intervalo langelį ir paspauskite Enter:
=TRANSPOZICIJA(A1:B6)
Atlikta!
Išsiliejimo diapazonas - viena formulė, kelios ląstelės
Svetainė išsiliejimo diapazonas tai ląstelių intervalas, kuriame yra dinaminės masyvo formulės grąžinamos vertės.
Pasirinkus bet kurį ląstelės išsiliejimo diapazono langelį, atsiranda mėlynas apvadas, rodantis, kad viskas, kas jame yra, apskaičiuota pagal viršutiniame kairiajame langelyje esančią formulę. Jei ištrinsite pirmajame langelyje esančią formulę, visi rezultatai dings.
Išsiliejimo diapazonas yra tikrai puikus dalykas, kuris labai palengvina "Excel" naudotojų gyvenimą. Anksčiau, naudodami CSE masyvų formules, turėdavome spėlioti, į kiek langelių jas kopijuoti. Dabar tiesiog įveskite formulę į pirmąjį langelį ir leiskite "Excel" pasirūpinti visa kita.
Pastaba. Jei kiti duomenys blokuoja išsiliejimo diapazoną, atsiranda klaida #SPILL. Pašalinus trukdančius duomenis, klaida išnyks.
Daugiau informacijos rasite "Excel" išsiliejimo diapazone.
Išsiliejimo diapazono nuoroda (simbolis #)
Norėdami nurodyti išsiliejimo intervalą, po viršutinio kairiojo langelio adreso įrašykite hash žymę arba svaro simbolį (#).
Pavyzdžiui, norėdami sužinoti, kiek atsitiktinių skaičių sugeneruota pagal A2 formulę RANDARRAY, funkcijai COUNTA pateikite nuorodą į išsiliejimo intervalą:
=COUNTA(A2#)
Norėdami sudėti išsiliejimo diapazono reikšmes, naudokite:
=SUMA(A2#)
Patarimai:
- Jei norite greitai rasti nuorodą į išsiliejimo intervalą, tiesiog pelės mygtuku pažymėkite visas mėlyno langelio viduje esančias ląsteles ir "Excel" sukurs išsiliejimo nuorodą už jus.
- Skirtingai nei įprasta diapazono nuoroda, išsiliejimo diapazono nuoroda yra dinaminė ir automatiškai reaguoja į diapazono dydžio keitimą.
- Išgauti unikalias vertes: tradicinės formulės
- Skaičiuoti unikalias ir skirtingas reikšmes: tradicinės formulės
- Rūšiuoti stulpelius pagal abėcėlę: tradicinės formulės
- Dinaminė "Excel kuri visiškai palaiko dinaminius masyvus, funkcijas ir formules. Šiuo metu tai tik "Excel 365" ir "Excel 2021".
- "Excel" palikimas , dar vadinamą tradicine arba priešdinamine "Excel", kurioje palaikomos tik Ctrl + Shift + Enter masyvo formulės. Tai "Excel 2019", "Excel 2016", "Excel 2013" ir ankstesnės versijos.
- Dinaminė masyvo formulė įvedama vienoje ląstelėje ir užbaigiama įprastu klavišo Enter paspaudimu. Norėdami užbaigti senamadišką masyvo formulę, turite paspausti Ctrl + Shift + Enter .
- Naujos masyvų formulės automatiškai išsilieja į daugelį langelių. CSE formulės turi būti nukopijuotos į langelių intervalą, kad būtų grąžinami keli rezultatai.
- Dinaminių masyvų formulių išvesties dydis automatiškai keičiasi, kai keičiasi šaltinio diapazono duomenys. CSE formulės sutrumpina išvestį, jei grąžinimo sritis yra per maža, ir grąžina klaidas papildomuose langeliuose, jei grąžinimo sritis yra per didelė.
- Dinaminio masyvo formulę galima lengvai redaguoti vienoje ląstelėje. Norėdami keisti CSE formulę, turite pasirinkti ir redaguoti visą diapazoną.
- CSE formulių intervale negalima ištrinti ir įterpti eilučių - pirmiausia reikia ištrinti visas esamas formules. Naudojant dinaminius masyvus eilučių įterpimas ar ištrynimas nėra problema.
- "Excel" #SPILL klaida - priežastys ir pataisymai
- Kaip ištaisyti klaidą #SPILL! naudojant VLOOKUP, INDEX MATCH, SUMIF
Išsamesnės informacijos rasite skyriuje Išsiliejimo diapazono operatorius.
Netiesioginis susikirtimas ir @ simbolis
Dinaminėje "Excel" matricoje yra dar vienas svarbus formulės kalbos pokytis - įvestas simbolis @, vadinamas numanomos sankirtos operatorius .
"Microsoft Excel" programoje, netiesioginė sankryža tai formulės elgesys, kai daug reikšmių sumažinama iki vienos reikšmės. Senojoje "Excel" programoje ląstelėje galėjo būti tik viena reikšmė, todėl tai buvo numatytoji elgsena ir tam nereikėjo jokio specialaus operatoriaus.
Naujojoje "Excel" programoje visos formulės pagal numatytuosius nustatymus laikomos masyvo formulėmis. Netiesioginės sankirtos operatorius naudojamas siekiant išvengti masyvo elgsenos, jei nenorite, kad ji būtų naudojama konkrečioje formulėje. Kitaip tariant, jei norite, kad formulė grąžintų tik vieną reikšmę, prieš funkcijos pavadinimą įrašykite @, ir tradicinėje "Excel" programoje ji elgsis kaip ne masyvo formulė.
Jei norite pamatyti, kaip tai veikia praktiškai, pažvelkite į toliau pateiktą ekrano nuotrauką.
C2 langelyje yra dinaminė masyvo formulė, kurios rezultatai išsilieja į daugelį langelių:
=UNIQUE(A2:A9)
E2 funkcijai priešdėliu @ yra nurodomas netiesioginės sankirtos simbolis. Dėl to grąžinama tik pirmoji unikali reikšmė:
=@UNIKALUS(A2:A9)
Daugiau informacijos rasite skyriuje "Implicit intersection in Excel".
"Excel" dinaminių masyvų privalumai
Neabejotinai dinaminiai masyvai yra vienas geriausių "Excel" patobulinimų per pastaruosius metus. Kaip ir kiekviena nauja funkcija, jie turi stipriųjų ir silpnųjų pusių. Mūsų laimei, naujųjų "Excel" dinaminių masyvų formulių stipriosios pusės yra pribloškiančios!
Paprasta ir galingesnė
Dinaminiai masyvai leidžia kurti galingesnes formules daug paprastesniu būdu. Pateikiame keletą pavyzdžių:
Gimtoji visoms formulėms
Dinaminėje "Excel" programoje nereikia rūpintis, kurios funkcijos palaiko masyvus, o kurios ne. Jei formulė gali grąžinti kelias reikšmes, ji tai padarys pagal numatytuosius nustatymus. Tai taip pat taikoma aritmetinėms operacijoms ir senosioms funkcijoms, kaip parodyta šiame pavyzdyje.
Įdėtos dinaminių masyvų funkcijos
Norėdami išspręsti sudėtingesnes užduotis, galite laisvai derinti naujas "Excel" dinaminių masyvų funkcijas arba naudoti jas kartu su senosiomis, kaip parodyta čia ir čia.
Santykinės ir absoliutinės nuorodos yra mažiau svarbios
Taikant principą "viena formulė, daug reikšmių", nereikia užrakinti intervalų su ženklu $, nes techniškai formulė yra tik vienoje ląstelėje. Taigi dažniausiai nesvarbu, ar naudoti absoliučiąsias, santykines, ar mišriąsias ląstelės nuorodas (tai visada kėlė painiavą nepatyrusiems naudotojams) - dinaminio masyvo formulė vis tiek duos teisingus rezultatus!
Dinaminių masyvų apribojimai
Nauji dinaminiai masyvai yra puikus dalykas, tačiau, kaip ir bet kurios kitos naujos funkcijos atveju, yra keletas įspėjimų ir aplinkybių, kurias turėtumėte žinoti.
Rezultatų negalima rūšiuoti įprastu būdu
Dinaminės masyvo formulės grąžinamo išsiliejimo intervalo negalima rūšiuoti naudojant "Excel" funkciją "Rūšiuoti". Bet koks toks bandymas baigsis " Negalima keisti masyvo dalies " klaida. Norėdami rezultatus išdėstyti nuo mažiausio iki didžiausio arba atvirkščiai, dabartinę formulę apgaubkite SORT funkcija. Pavyzdžiui, taip galite filtruoti ir rūšiuoti vienu metu.
Negalima ištrinti jokios reikšmės išsiliejimo diapazone
Nė vienos iš išsiliejimo intervalo reikšmių negalima ištrinti dėl tos pačios priežasties: negalima keisti masyvo dalies. Toks elgesys yra tikėtinas ir logiškas. Taip veikia ir tradicinės CSE masyvų formulės.
nepalaikomi "Excel" lentelėse
Ši funkcija (ar klaida?) yra gana netikėta. Dinaminių masyvų formulės neveikia iš "Excel" lentelių, tik iš įprastų intervalų. Jei bandysite konvertuoti išsiliejimo intervalą į lentelę, "Excel" tai padarys. Tačiau vietoj rezultatų matysite tik #SPILL! klaidą.
Nedirbkite su "Excel Power Query
Dinaminių masyvų formulių rezultatų negalima įkelti į "Power Query". Tarkime, jei bandysite sujungti du ar daugiau išsiliejimo intervalų naudodami "Power Query", tai nepavyks.
Dinaminiai masyvai ir tradicinės CSE masyvų formulės
Įdiegus dinaminius masyvus, galime kalbėti apie dviejų tipų "Excel":
Savaime suprantama, kad dinaminiai masyvai visais atžvilgiais pranašesni už CSE masyvų formules. Nors tradicinės masyvų formulės išsaugotos dėl suderinamumo, nuo šiol rekomenduojama naudoti naująsias.
Štai esminiai skirtumai:
Atgalinis suderinamumas: dinaminiai masyvai senojoje "Excel" programoje
Kai senojoje "Excel" programoje atidarote darbalapį, kuriame yra dinaminio masyvo formulė, ji automatiškai paverčiama į įprastinę masyvo formulę, uždaromą į {skliaustinius skliaustelius}. Kai vėl atidarote darbalapį naujojoje "Excel" programoje, skliausteliai bus pašalinti.
Senesnėje "Excel" programoje naujosios dinaminių masyvų funkcijos ir išsiliejimo diapazono nuorodos turi priešdėlį _xlfn, kuris rodo, kad ši funkcija nepalaikoma. Išsiliejimo diapazono nuorodos ženklas (#) pakeičiamas funkcija ANCHORARRAY.
Pavyzdžiui, štai kaip UNIQUE formulė rodoma "Excel 2013 :
Dauguma dinaminių masyvų formulių (bet ne visos!) ir toliau rodys savo rezultatus senojoje "Excel" programoje, kol jų nepakeisite. Redaguojant formulę, ji iš karto nutraukiama ir rodoma viena ar daugiau #NAME? klaidos reikšmių.
Neveikia "Excel" dinaminių masyvų formulės
Priklausomai nuo funkcijos, naudojant neteisingą sintaksę arba neteisingus argumentus gali atsirasti įvairių klaidų. Toliau pateikiamos 3 dažniausiai pasitaikančios klaidos, su kuriomis galite susidurti naudodami bet kurią dinaminio masyvo formulę.
#SPILL! klaida
Kai dinaminis masyvas grąžina kelis rezultatus, bet kažkas blokuoja išsiliejimo diapazoną, atsiranda #SPILL! klaida.
Norėdami ištaisyti klaidą, tiesiog turite išvalyti arba ištrinti visus išsiliejimo intervalo langelius, kurie nėra visiškai tušti. Norėdami greitai pastebėti visus trukdančius langelius, spustelėkite klaidos indikatorių, tada spustelėkite Pasirinkite trukdančias ląsteles .
Šią klaidą gali lemti ne tik netuščias išsiliejimo diapazonas, bet ir kelios kitos priežastys. Daugiau informacijos žr:
#REF! klaida
Kadangi išorinių nuorodų tarp sąsiuvinių palaikymas yra ribotas, dinaminėms lentelėms reikia, kad abu failai būtų atidaryti. Jei šaltinio sąsiuvinis yra uždarytas, rodoma #REF! klaida.
#NAME?
Jei bandote naudoti dinaminės matricos funkciją senesnėje "Excel" versijoje, atsiranda klaida #NAME? Nepamirškite, kad naujosios funkcijos prieinamos tik "Excel 365" ir "Excel 2021".
Jei ši klaida pasirodo palaikomose "Excel" versijose, dar kartą patikrinkite funkcijos pavadinimą probleminiame langelyje. Tikėtina, kad jis klaidingai įrašytas :)
Štai kaip naudoti dinaminius masyvus "Excel" programoje. Tikimės, kad jums patiks ši fantastiška nauja funkcija! Bet kokiu atveju, dėkoju, kad skaitėte, ir tikiuosi, kad kitą savaitę susitiksime mūsų tinklaraštyje!