Netiesioginis sankirtos operatorius: @

Taikoma
„Excel“, skirta „Microsoft 365“ „Excel“, skirta „Microsoft 365“, skirtam „Mac“ „Excel 2024“ Excel 2021

"„Microsoft“" pristatė numanomą sankirtos operatorių kaip dalį esminio "Excel" formulių kalbos atnaujinimo, kad palaikytų dinaminius masyvus. Dinaminiai masyvai suteikia programai "Excel" svarbių naujų skaičiavimo galimybių ir funkcijų.

Upgraded formula language

"Excel" atnaujintos formulės kalba yra beveik identiška senajai kalbai, išskyrus tai, kad ji naudoja @ operatorių, kad nurodytų, kur gali įvykti netiesioginė sankirta, o senoji kalba tai darė tyliai. Todėl galite pastebėti, kad kai kuriose formulėse atsiranda @, kai atidarote jas dinaminio masyvo "Excel". Jūsų formulės toliau skaičiuoja taip pat, kaip iki šiol.  

Kas yra numanoma sankirta?

Netiesioginės sankirtos logika sumažina daugelį reikšmių iki vienos reikšmės. "Excel" tai padarė, kad priverstų formulę grąžinti vieną reikšmę, nes langelyje galėjo būti tik viena reikšmė. Jei formulė pateikdavo vieną reikšmę, netiesioginė sankirta nedarydavo nieko (nors techniškai tai buvo daroma fone). Logika veikia taip:

  • Jei reikšmė yra vienas elementas, grąžinti elementą.
  • Jei reikšmė yra diapazonas, grąžinti reikšmę iš langelio, esančio toje pačioje eilutėje arba stulpelyje kaip formulė.
  • Jei reikšmė yra masyvas, pasirinkite viršuje kairėje esančią reikšmę.

Atsiradus dinaminiams masyvams, "Excel" nebeapsiriboja pavienių reikšmių pateikimu iš formulių, todėl tyli numanoma sankirta nebereikalinga. Jei sena formulė gali nepastebimai sukelti netiesioginę sankirtą, dinaminio masyvo įgalintas "Excel" rodo, kur ji būtų įvykusi su @.  

Kodėl @ simbolis?

Simbolis @ jau naudojamas lentelės nuorodose netiesioginei sankirtai nurodyti. Apsvarstykite šią formulę lentelėje =[@Column1]. @ nurodo, kad formulė naudoja netiesioginę sankirtą, kad gautų reikšmę toje pačioje eilutėje iš [Stulpelis1].  

Ar galite pašalinti @?

Dažnai galite. Tai priklauso nuo to, ką grąžina formulės dalis, esanti @ dešinėje:

  • Jei ji pateikia vieną reikšmę (dažniausias atvejis), pašalinus @ niekas nesikeičia.
  • Jei jis pateikia diapazoną arba masyvą, pašalinus @, jis išsiplečia į gretimus langelius.

Jei pašalinsite automatiškai pridėtą @ ir vėliau atidarysite darbaknygę naudodami ankstesnę "Excel" versiją, ji bus rodoma kaip senstelėjusi masyvo formulė (aptraukta riestiniais skliaustais {}). Šis veikimas užtikrina, kad senesnė versija nesuaktyvins netiesioginės sankirtos.

Kada pridėti @ prie senų formulių?

Paprastai funkcijos, kurios pateikia kelių langelių diapazonus ar masyvus, turi priešdėlį @, jei jas sukūrėte naudodami senesnę "Excel" versiją. Formulės veikimas nepasikeitė – tiesiog dabar galite pamatyti anksčiau nematomą numanomą sankirtą. Įprastos funkcijos, kurios pateikia kelių langelių diapazonus, yra INDEX, OFFSET ir vartotojo apibrėžtos funkcijos (UDF). Dažna išimtis yra tada, kai jie yra įtraukti į funkciją, kuri priima masyvą arba diapazoną (pvz., SUM() arba AVERAGE()). 

Daugiau informacijos ieškokite "Excel" funkcijų, kurios pateikia diapazonus ar masyvus .

Pavyzdžiai

Pradinė formulė Kaip matoma dinaminiame masyve "Excel" Paaiškinimas
=SUM(A1:A10) =SUM(A1:A10) Jokių pakeitimų – netiesioginės sankirtos negali įvykti, nes funkcija SUM tikisi diapazonų ar masyvų.
=A1+A2 =A1+A2 Jokių pokyčių – negali įvykti jokios netiesioginės sankirtos.
=A1:A10 =@A1:A10 Įvyksta netiesioginė sankirta ir "Excel" pateikia reikšmę, susietą su eilute, kurioje yra formulė.
=INDEX(A1:A10;B1) =@INDEX(A1:A10;B1) Gali įvykti netiesioginė sankirta. Funkcija INDEX gali grąžinti masyvą arba diapazoną, kai jos antrasis arba trečiasis argumentas yra lygus 0.
=OFFSET(A1:A2;1;1) =@OFFSET(A1:A2;1;1) Gali įvykti netiesioginė sankirta. Funkcija OFFSET gali grąžinti kelių langelių diapazoną. Kai tai įvyksta, jis suaktyvina numanomą sankirtą.
=MYUDF() =@MYUDF() Gali įvykti netiesioginė sankirta. Pasirinktinių funkcijų kūrimas programoje "Excel" gali grąžinti masyvus. Kai jie tai padaro, pradinė formulė paleidžia 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() ikidinaminiame masyve Excel.

Taip nutinka, kai pateikiate mišrią formulę. Sudėtinė formulė yra formulė, kuri remiasi masyvo skaičiavimu ir netiesiogine sankirta. Išankstinis masyvas "Excel" nepalaiko šio derinio. Ikidinaminis masyvas Programa "Excel" palaiko tik formules, kurios i) netiesiogiai susikerta arba ii) apskaičiuoja masyvus.

Kai dinaminis masyvas įgalintas, "Excel" aptinka mišrios formulės sukūrimą, ji pasiūlo formulės variantą, kuriame naudojamas netiesioginis susikirtimas. Pavyzdžiui, jei įvesite =A1:A10+@A1:A10, , matysite šį dialogo langą:

Ekrano nuotrauka, kurioje rodomas dialogo langas, kuriame klausiama, ar norėtumėte fromula =@A1:A10 + @A1:A10.

Jei pasirinksite atmesti dialogo lange siūlomą formulę, bus vykdoma mišri formulė =A1:A10+@A1:A10 . Jei vėliau atidarysite šią formulę ikidinaminiame masyve "Excel", ji bus rodoma kaip =A1:A10+_xlfn.SINGLE(A1:A10)_xlfn.SINGLE(). su @ operatoriais mišrioje formulėje Kai ikidinaminis masyvas "Excel" vertina šią formulę, pateikia #NAME! klaidos reikšmę. 

Reikia daugiau pagalbos?

Visada galite kreiptis eksperto į "Excel" technologijų bendruomenę arba gauti pagalbos bendruomenėse.

Taip pat žr.

Funkcija FILTER

Funkcija RANDARRAY

Funkcija SEQUENCE

Funkcija SORT

Funkcija SORTBY

Funkcija UNIQUE

#IŠPLĖTIMAS! klaidos programoje „Excel“

Dinaminiai masyvai ir išplėsto masyvo elgesys