Microsoft esitteli implisiittisen leikkauskohdan operaattorin osana Excelin kaavakielen laajaa päivitystä, jotta se tukee dynaamisia matriiseja. Dynaamiset matriisit tuovat Exceliin merkittäviä uusia laskentakykyjä ja toimintoja.
Päivitetty kaavakieli
Excelin päivitetty kaavakieli on lähes sama kuin vanha kieli, mutta se käyttää @-operaattoria ilmaisemaan, missä implisiittinen leikkauskohta voi ilmetä, kun taas vanha kieli teki näin äänettömästi. Tämän seurauksena saatat huomata @-merkin näkyvän joissakin kaavoissa, kun avaat ne dynaamisen matriisin Excelissä. Kaavasi laskevat edelleen samalla tavalla kuin ennenkin.
Mikä on implisiittinen leikkauskohta?
Implisiittisen leikkauskohdan logiikka vähentää useita arvoja yhdeksi arvoksi. Excel toimi näin pakottaakseen kaavan palauttamaan yhden arvon, koska yksittäinen solu voi sisältää vain yhden arvon. Jos kaava palautti yhden arvon, implisiittinen leikkauskohta ei tehnyt mitään (vaikka se teknisesti tehtiinkin taustalla). Logiikka toimii seuraavasti:
- Jos arvo on yksittäinen kohde, palauta kohde.
- Jos arvo on alue, palauta arvo kaavan kanssa samalla rivillä tai samassa sarakkeessa olevasta solusta.
- Jos arvo on matriisi, valitse yläreunan vasen arvo.
Dynaamisten matriisien myötä Excel ei enää ole rajoitettu vain yhden arvon palauttamiseen kaavoista, joten implisiittistä leikkauskohtaa ei enää tarvita. Kun vanha kaava pystyi näkyvästi käynnistämään implisiittisen leikkauskohdan, dynaamisella matriisilla varustettu Excel näyttää, missä kohtaa se olisi tapahtunut @-merkillä.
Miksi @-merkki?
@-merkkiä käytetään jo taulukkoviittauksissa merkitsemään implisiittistä leikkauskohtaa. Pohdi seuraavaa kaavaa taulukossa =[@Column1]. @ ilmaisee, että kaava hakee saman rivin arvon implisiittistä leikkauskohtaa kohteesta [Column1].
Voiko @-merkin poistaa?
Usein voi. Se riippuu siitä, minkä kaavan osan @-merkin oikealla puolella oleva funktio palauttaa:
- Jos se palauttaa yksittäisen arvon (yleisin tapaus), @-merkin poistaminen ei muutu.
- Jos se palauttaa alueen tai matriisin, @-merkin poistaminen aiheuttaa sen leviämisen viereisiin soluihin.
Jos poistat automaattisesti lisätyn @-merkin ja avaat työkirjan myöhemmin Excelin aiemmassa versiossa, se näkyy vanhana matriisikaavana (aaltosulkeilla {}rivitettynä). Näin varmistetaan, että vanhempi versio ei käynnistä implisiittistä leikkauskohtaa.
Milloin @-merkki lisätään vanhoihin kaavoihin?
Yleensä monisoluisia alueita tai matriiseja palauttavilla funktioilla on etuliite @, jos ne on luotu Excelin vanhemmassa versiossa. Kaavan toiminta ei muutu – nyt vain näet aiemmin näkymättömän implisiittisen leikkauskohdan. Yleisiä monisoluisia alueita palauttavia funktioita ovat INDEKSI-, SIIRTYMÄ- ja Käyttäjän määrittämät funktiot (UDF:t). Tavallinen poikkeus on se, jos ne pakataan funktioon, joka hyväksyy matriisin tai alueen (esimerkiksi SUMMA() tai KESKIARVO()).
Katso lisätietoja kohdasta Excel-funktiot, jotka palauttavat alueita tai matriiseja.
Esimerkkejä
| Alkuperäinen kaava | Kuten dynaamisen matriisin Excelissä nähdään | Kuvaus |
|---|---|---|
| =SUM(A1:A10) | =SUM(A1:A10) | Ei muutosta – implisiittistä leikkauskohtaa ei voi tapahtua, koska SUMMA-funktio odottaa alueita tai matriiseja. |
| =A1+A2 | =A1+A2 | Ei muutosta – implisiittistä leikkauskohtaa ei voi tapahtua. |
| =A1:A10 | =@A1:A10 | Implisiittinen leikkauskohta tapahtuu, ja Excel palauttaa arvon, joka liittyy riviin, jossa kaava on. |
| =INDEX(A1:A10,B1) | =@INDEX(A1:A10,B1) | Implisiittinen leikkauskohta voi ilmetä. INDEKSI-funktio voi palauttaa matriisin tai alueen, kun sen toinen tai kolmas argumentti on 0. |
| =OFFSET(A1:A2,1,1) | =@OFFSET(A1:A2,1,1) | Implisiittinen leikkauskohta voi ilmetä. SIIRTYMÄ-funktio voi palauttaa monisoluisen alueen. Kun näin tapahtuu, se käynnistää implisiittisen leikkauskohdan. |
| =MYUDF() | =@MYUDF() | Implisiittinen leikkauskohta voi ilmetä. Create custom functions in Excel voi palauttaa matriiseja. Kun näin tapahtuu, alkuperäinen kaava käynnistää implisiittisen leikkauskohdan. |
@-operaattorin käyttäminen uusissa kaavoissa
Jos kirjoitat tai muokkaat kaavaa dynaamisessa Excel-matriisissa, joka sisältää @-operaattorin, se saattaa näkyä _xlfn. SINGLE() esidynaamisessa Excel-matriisissa.
Näin tapahtuu, kun vahvistat yhdistelmäkaavan. Yhdistelmäkaava on kaava, joka perustuu sekä matriisilaskentaan että implisiittiseen leikkauskohtaan. Esidynaaminen matriisi Excel ei tue tätä yhdistelmää. Esidynaaminen matriisi Excel tukee vain kaavoja, jotka suorittavat i) implisiittistä leikkauskohtaa tai ii) matriisilaskutoimitusta kauttaaltaan.
Kun dynaamisella matriisilla varustettu Excel havaitsee yhdistelmäkaavan luomisen, se ehdottaa kaavan muunnelmaa, joka käyttää implisiittistä leikkauskohtaa kauttaaltaan. Jos esimerkiksi painat Enter-näppäintä =A1:A10+@A1:A10, , näkyviin tulee seuraava valintaikkuna:
Jos päätät hylätä valintaikkunan ehdottaman kaavan, yhdistelmäkaava =A1:A10+@A1:A10 sitoutuu. Jos avaat tämän kaavan myöhemmin esidynaamisessa Excel-matriisissa, se näkyy samoin kuin =A1:A10+_xlfn.SINGLE(A1:A10) @-operaattorit sekakaavassa Kun _xlfn.SINGLE(). esidynaaminen matriisi Excel arvioi tämän kaavan, se palauttaa #NAME! -virhearvon.
Tarvitsetko lisätietoja?
Voit aina kysyä neuvoa Excel Tech Community -yhteisön asiantuntijalta tai saada tukea yhteisöistä.
Katso myös
SUODATA-funktio
SATUNN.MATRIISI-funktio
JONO-funktio
LAJITTELE-funktio
LAJITTELE.ARVOJEN.PERUSTEELLA-funktio
AINUTKERTAISET.ARVOT-funktio
#LEVITTYMINEN! -virheet Excelissä
Dynaamiset matriisit ja levittyneiden matriisien erityispiirteet