Microsoft ieviesa netiešo krustpunkta operatoru kā daļu no būtiska Excel formulu valodas jaunināšanas, lai atbalstītu dinamiskos masīvus. Dinamiskie masīvi programmā Excel nodrošina būtiskas jaunas aprēķināšanas iespējas un funkcionalitāti.
Jaunināta formulu valoda
Excel jauninātā formulu valoda ir gandrīz identiska vecajai valodai, izņemot to, ka tā izmanto operatoru @, lai norādītu, kur var notikt netiešā krustošanās, turpretī vecajā valodā tas tika darīts bez norādēm. Tādēļ, atverot dinamisko masīvu Excel, dažās formulās varat pamanīt @. Formulas turpina veikt aprēķinus tāpat kā parasti.
Kas ir netieša krustošanās?
Netiešās krustošanās loģika daudzas vērtības samazina līdz vienai vērtībai. Excel to darīja, lai piespiestu formulu atgriezt vienu vērtību, jo šūnā var būt tikai viena vērtība. Ja formula atgrieza vienu vērtību, netiešā krustošanās neko nedarīja (pat tad, ja tas tehniski tika veikts fonā). Loģika darbojas šādi:
- Ja vērtība ir viens vienums, atgriezt vienumu.
- Ja vērtība ir diapazons, tiek atgriezta vērtība no šūnas, kas atrodas tajā pašā rindā vai kolonnā, kurā atrodas formula.
- Ja vērtība ir masīvs, izvēlieties augšējo kreiso vērtību.
Līdz ar dinamisko masīvu ieviešanu programma Excel vairs neaprobežojas tikai ar atsevišķu vērtību atgriešanu no formulām, tāpēc klusā netiešā krustošanās vairs nav nepieciešama. Ja veca formula var nemanāmi izraisīt netiešu krustošanos, dinamiskā masīva iespējots Excel parāda, kur tas būtu noticis ar @.
Kāpēc vajadzīgs simbols @?
Simbols @ jau tiek izmantots tabulu atsaucēs, lai norādītu netiešo krustošanos. Apsveriet tabulā =[@Column1]šādu formulu: @ norāda, ka formula izmanto netiešo krustošanos, lai izgūtu vērtību tajā pašā rindā no [Kolonna1].
Vai varat noņemt @?
Bieži vien varat. Tas ir atkarīgs no tā, ko atgriež formulas daļa, kas atrodas pa labi no @:
- Ja tā atgriež vienu vērtību (visbiežāk sastopamais gadījums), nekas nemainās, noņemot @.
- Ja tas atgriež diapazonu vai masīvu, noņemot @, tas izplešas blakus šūnās.
Ja noņemat automātiski pievienoto @ un vēlāk atverat darbgrāmatu vecākā Excel versijā, tā tiek parādīta kā mantota masīva formula (aplauzta figūriekavās {}). Šī darbība nodrošina, ka vecākā versija neizraisa netiešu krustošanos.
Kad jāpievieno rakstzīmes @ vecajām formulām?
Parasti funkcijām, kas atgriež vairākšūnu diapazonus vai masīvus, ir prefikss @, ja tās ir veidotas vecākā Excel versijā. Formulas darbība nemainās — tagad ir redzama tikai iepriekš neredzamā netiešā krustošanās. Bieži lietotās funkcijas, kas atgriež vairākšūnu diapazonus, ir INDEX, OFFSET un lietotāja definētas funkcijas (User Defined Functions — UDF). Bieži sastopams izņēmums ir tie ir aplauzti funkcijā, kas akceptē masīvu vai diapazonu (piemēram, SUM() vai AVERAGE()).
Papildinformāciju skatiet Excel funkcijām, kas atgriež diapazonus vai masīvus .
Piemēri
| Sākotnējā formula | Kā parādīts dinamiskā masīva Excel | Skaidrojums |
|---|---|---|
| =SUM(A1:A10) | =SUM(A1:A10) | Bez izmaiņām — netieša krustošanās nevar notikt, jo funkcija SUM paredz diapazonus vai masīvus. |
| =A1+A2 | =A1+A2 | Bez izmaiņām — netieša krustošanās nevar notikt. |
| =A1:A10 | =@A1:A10 | Notiek netieša krustošanās, un programma Excel atgriež vērtību, kas saistīta ar rindu, kurā atrodas formula. |
| =INDEX(A1:A10;B1) | =@INDEX(A1:A10;B1) | Var rasties netieša krustošanās. Funkcija INDEX var atgriezt masīvu vai diapazonu, ja tās otrais vai trešais arguments ir 0. |
| =OFFSET(A1:A2;1;1) | =@OFFSET(A1:A2;1;1) | Var rasties netieša krustošanās. Funkcija OFFSET var atgriezt vairāku šūnu diapazonu. Kad tā notiek, tas izraisa netiešu krustošanos. |
| =MYUDF() | =@MYUDF() | Var rasties netieša krustošanās. Pielāgotu funkciju izveide programmā Excel var atgriezt masīvus. Kad tā notiek, sākotnējā formula aktivizē netiešo krustošanos. |
Operatora @ izmantošana jaunās formulās
Ja veidojat vai rediģējat formulu dinamiskajā masīvā Excel, kurā ir operators @, tā var tikt parādīta kā _xlfn. SINGLE() pirmsdinamiskā masīva programmā Excel.
Šāda darbība tiek veikta, veicot jauktu formulu. Jaukta formula ir tāda formula, kas balstās gan uz masīva aprēķinu, gan netiešo krustošanos. Pirmsdinamiskais masīvs Excel neatbalsta šo kombināciju. Pirmsdinamiskais masīvs Programma Excel atbalsta tikai tādas formulas, kas veic i) netiešu krustošanos vai ii) masīva aprēķinu.
Ja ir iespējots dinamiskais masīvs, programma Excel nosaka jauktas formulas izveidi, tā piedāvā formulas variantu, izmantojot netiešu krustošanos. Piemēram, ja ievadāt =A1:A10+@A1:A10, , tiek parādīts šāds dialoglodziņš:
Ja izvēlaties noraidīt dialoglodziņā piedāvāto formulu, jauktā formula =A1:A10+@A1:A10 tiek izpildīta. Ja vēlāk atverat šo formulu pirmsdinamiskā masīva Excel versijā, tā tiek parādīta tāpat kā =A1:A10+_xlfn.SINGLE(A1:A10) operatori @ jauktajā formulā un tiek rādīti šādi: _xlfn.SINGLE(). Kad pirmsdinamiskais masīvs Excel novērtē šo formulu, tā atgriež #NAME! kļūdas vērtību.
Vai nepieciešama papildu palīdzība?
Vienmēr varat pajautāt speciālistam Excel tehnoloģiju kopienā vai saņemt atbalstu kopienās.