Applies To„Excel“, skirta „Microsoft 365“ „Excel“, skirta „Microsoft 365“, skirtam „Mac“ Internetinė „Excel“ „Excel 2024“ Excel 2021 Excel 2019 Excel 2016

Netiesioginis sankirtos operatorius buvo pristatytas kaip esminio "Excel" formulių kalbos naujinimo, palaikančio dinaminius masyvus, dalis. Dinaminiai masyvai suteikia "Excel" svarbią naują skaičiavimo galimybę ir funkcijas.

Išplėtota formulės kalba

"Excel" atnaujintos formulės kalba beveik identiška senai kalbai, išskyrus tai, kad ji naudoja operatorių @, kad nurodytų, kur gali kilti netiesioginė sankirta, o senoji kalba tai darė tyliai. Todėl galite pastebėti, kad @rodomas kai kuriose formulėse, kai atidaromas dinaminiame masyve "Excel". Svarbu atkreipti dėmesį, kad formulės ir toliau skaičiuos taip pat, kaip visada.  

Kas yra netiesioginė sankirta?

Netiesioginės sankirtos logika sumažina daugelį reikšmių iki vienos reikšmės. "Excel" tai darė, kad priverstų formulę grąžinti vieną reikšmę, nes langelyje gali būti tik viena reikšmė. Jei formulė grąžino vieną reikšmę, netiesioginė sankirta nieko nedarė (net jei techniškai tai buvo padaryta fone). Logika veikia taip:

  • Jei reikšmė yra viena prekė, grąžinkite prekę.

  • Jei reikšmė yra diapazonas, tada iš langelio, esančio toje pačioje eilutėje arba stulpelyje kaip formulė, grąžinama reikšmė.

  • Jei reikšmė yra masyvas, pasirinkite viršutinę kairiąją reikšmę.

Dėl dinaminių masyvų "Excel" nebėra ribojama vienos reikšmės grąžinimu iš formulių, todėl tyli netiesioginė sankirta nebereikalinga. Kai sena formulė gali nepastebimai sukelti netiesioginę sankirtą, dinaminis masyvas su įgalintu "Excel" rodo, kur ji būtų įvykusi naudojant @.  

Kodėl simbolis @? 

Simbolis @ jau naudojamas lentelės nuorodose, nurodančiose numanomą sankirtą. Atkreipkite dėmesį į šią formulę lentelėje =[@Column1]. Čia @ nurodo, kad formulė turi naudoti numanomą sankirtą, kad gautų tos pačios eilutės reikšmę iš [1stulpelis].  

Ar galite pašalinti @? 

Dažnai galite. Tai priklauso nuo to, ką formulė pateikia į dešinę nuo @: 

  • Jei ji pateikia vieną reikšmę (dažniausiai pasitaikanti reikšmė), pašalinus @, niekas nepasikeis.

  • Jei jis grąžina diapazoną arba masyvą, pašalinus @ jis išsiplėsgretimuose langeliuose.

Jei pašalinsite automatiškai įtrauktą @ ir vėliau atidarysite darbaknygę naudodami senesnę "Excel" versiją, ji bus rodoma kaip senstelėjusi masyvo formulė (suvyniota į riestinius skliaustus {}), tai daroma siekiant užtikrinti, kad senesnė versija nesuaktyvins netiesioginės sankirtos.

Kada įtraukiame @ į senas formules? 

Apskritai, funkcijos, kurios pateikia kelių langelių diapazonus arba masyvus, bus priešdėlio formos su @, jei jos buvo sukurtos naudojant senesnę "Excel" versiją. Svarbu atkreipti dėmesį, kad nėra jokių formulės veikimo pokyčių – tiesiog dabar galite matyti anksčiau nematomą numanomą sankirtą. Įprastos funkcijos, kurios gali pateikti kelių langelių diapazonus, apima INDEX, OFFSET ir vartotojo apibrėžtas funkcijas (UDFs).  Dažna išimtis yra ta, kad jos yra perkeltos į funkciją, priimančią masyvą arba diapazoną (pvz., SUM() arba AVERAGE()). 

Daugiau informacijos žr . "Excel" funkcijos, kurios pateikia diapazonus arba masyvus .

Pavyzdžiai

Pradinė formulė

Kaip matoma dinaminiame masyve "Excel" 

Paaiškinimas

=SUM(A1:A10) 

=SUM(A1:A10) 

Nekeisti – negali būti jokios netiesioginės sankirtos, nes funkcija SUM tikisi diapazonų arba masyvų. 

=A1+A2 

=A1+A2 

Keitimo nėra – negali būti numanomos sankirtos. 

=A1:A10 

=@A1:A10 

Įvyks netiesioginė sankirta ir "Excel" pateiks reikšmę, susietą su eilute, kuriame yra formulė.

=INDEX(A1:A10,B1) 

=@INDEX(A1:A10,B1) 

Gali kilti netiesioginė sankirta. Funkcija INDEX gali grąžinti masyvą arba diapazoną, kai antrasis arba trečiasis argumentas yra 0.  

=OFFSET(A1:A2,1,1) 

=@OFFSET(A1:A2;1;1) 

Gali kilti netiesioginė sankirta. Funkcija OFFSET gali grąžinti kelių langelių diapazoną. Kai taip, suaktyvinama netiesioginė sankirta. 

=MYUDF() 

=@MYUDF() 

Gali kilti netiesioginė sankirta. Vartotojo apibrėžtos funkcijos gali grąžinti masyvus. Kai jos tai padarys, pradinė formulė būtų suaktyvinusi netiesioginę sankirtą. 

Operatoriaus @ naudojimas naujose formulėse

Jei kuriate arba redaguojate formulę dinaminiame masyve "Excel", kurioje yra operatorius @, ji gali būti rodoma kaip _xlfn. SINGLE() iš anksto dinaminiame "Excel" masyve.

Taip nutinka, kai vykdote mišriąją formulę. Mišraus masyvo formulė yra formulė, kuri priklauso nuo masyvo skaičiavimo ir netiesioginės sankirtos, to nepalaiko iš anksto dinaminis masyvas "Excel". Iš anksto dinaminis masyvas palaiko tik formules, kurios atliko i) numanomą sankirtą arba ii) masyvo skaičiavimą.

Kai dinaminis masyvas įgalintas, "Excel" aptinka "mišriosios formulės" kūrimą, ji pasiūlys formulės variaciją, kuri netiesiogiai sankirtos metu. Pavyzdžiui, jei įvesite =A1:A10+@A1:A10, matysite šį dialogo langą:

Dialogo langas, kuriame klausiama, ar norite naudoti fromula =@A1:A10 + @A1:A10.

Jei pasirinkote atmesti dialogo lange siūlomą formulę, mišrioji formulė =A1:A10+@A1:A10 bus įvykdyta. Jei vėliau atidarysite šią formulę iš anksto dinaminiame masyve "Excel", ji bus rodoma kaip =A1:A10+_xlfn. SINGLE(A1:A10), kai @yra mišriojoje formulėje, rodoma kaip _xlfn. SINGLE(). Kai ši formulė įvertinama naudojant išankstinį dinaminį masyvą, "Excel" pateiks #NAME! klaidos reikšmę. 

Reikia daugiau pagalbos?

Visada galite paklausti „Excel“ technologijų bendruomenės specialisto arba gauti palaikymo bendruomenėse.

Taip pat žr.

Funkcija FILTER

Funkcija RANDARRAY

Funkcija SEQUENCE

Funkcija SORT

Funkcija SORTBY

Funkcija UNIQUE

#SPILL! klaidos programoje „Excel“

Dinaminiai masyvai ir išplėsto masyvo elgesys

Reikia daugiau pagalbos?

Norite daugiau parinkčių?

Sužinokite apie prenumeratos pranašumus, peržiūrėkite mokymo kursus, sužinokite, kaip apsaugoti savo įrenginį ir kt.

Bendruomenės padeda užduoti klausimus ir į juos atsakyti, pateikti atsiliepimų ir išgirsti iš ekspertų, turinčių daug žinių.