Matriisikaavoihin liittyviä ohjeita ja esimerkkejä

Käytetään kohteeseen
Excel for Microsoft 365 Excel for Microsoft 365 for Mac Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2016 Excel for iPad Excel for iPhone

Matriisikaava on kaava, joka voi suorittaa useita laskelmia yhdelle tai useammalle matriisin kohteelle. Voit ajatella matriisia arvot sisältävänä rivinä tai sarakkeena tai arvoja sisältävien sarakkeiden ja rivien yhdistelmänä. Matriisikaavat voivat palauttaa joko useita tuloksia tai yhden tuloksen.

Syyskuun 2018 Microsoft 365 -päivityksestä alkaen kaikki kaavat, jotka voivat palauttaa useita tuloksia, levittyvät automaattisesti joko alas tai viereisiin soluihin. Tähän toiminnan muutokseen liittyy myös useita uusia dynaamisia matriisifunktioita. Dynaamiset matriisikaavat, käyttävätpä ne sitten aiemmin luotuja funktioita tai dynaamisia matriisifunktioita, on syötettävä vain yhteen soluun, ja sitten vahvistettava painamalla Enter-näppäintä. Aiemmat vanhat matriisikaavat edellyttävät ensin koko tulosalueen valitsemista ja sitten kaavan vahvistamista painamalla Ctrl+Vaihto+Enter. Niitä kutsutaan yleisesti CSE-kaavoiksi.

Voit käyttää matriisikaavoja monimutkaisten tehtävien suorittamiseen, esimerkiksi:

  • Mallitietojoukkojen luominen nopeasti.
  • Solualueen sisältämien merkkimäärien laskeminen.
  • Tiettyjen ehtojen mukaisten lukujen yhteenlaskeminen (esimerkiksi alueen alimmat arvot tai ylä- ja alarajan väliset luvut).
  • Arvoalueen joka N:nnen arvon yhteenlaskeminen.

Seuraavissa esimerkeissä näytetään, miten voit luoda monisoluisia ja yksisoluisia matriisikaavoja. Mahdollisuuksien mukaan olemme sisällyttäneet esimerkkejä, joissa on dynaamisia matriisifunktioita sekä aiemmin lisättyjä matriisikaavoja sekä dynaamisina että vanhoina matriiseina.

Lataa Microsoftin esimerkkejä

Lataa esimerkkityökirja, jossa on kaikki tämän artikkelin matriisikaavan esimerkit.

Monisoluiset ja yksisoluiset matriisit

Tässä harjoituksessa näet, miten voit käyttää monisoluisia ja yksisoluisia matriisikaavoja myyntilukujen laskemiseen. Ensimmäisessä vaiheessa käytetään monisoluista kaavaa välisummien laskemiseen. Toisessa vaiheessa käytetään yksisoluista kaavaa loppusumman laskemiseen.

  • Monisoluinen matriisikaava
    Multisoluinen matriisikaava solussa H10 =F10:F19*G10:G19 myytyjen autojen lukumäärän laskemiseksi yksikköhinnan mukaan

  • Tässä laskemme coupe- ja sedan-mallisten autojen kokonaismyynnin kullekin myyjälle kirjoittamalla soluun H10 =F10:F19*G10:G19.
    Kun painat Enter, näet tulosten levittyvän alas soluihin H10:H19. Huomaa, että levittymisalue näkyy korostettuna reunaviivalla, kun valitset minkä tahansa solun levittymisalueelta. Saatat myös huomata, että solujen H10:H19 kaavat näkyvät harmaina. Ne ovat vain viitteenä, joten jos haluat säätää kaavaa, sinun on valittava solu H10, jossa peruskaava sijaitsee.

  • Yksisoluinen matriisikaava
    Yksisoluinen matriisikaava kokonaissumman laskemiseksi funktiolla =SUMMA(F10:F19*G10:G19)
    Kirjoita tai kopioi ja liitä esimerkkityökirjan soluun H20 =SUMMA(F10:F19*G10:G19) ja paina sitten Enter.
    Tässä tapauksessa Excel kertoo matriisin arvot (solualue F10-G19) ja käyttää SUMMA-funktiota summien yhteenlaskemiseen. Kokonaismyynnin tulos on 1 590 000 dollaria.
    Tämä esimerkki osoittaa, miten tehokas matriisikaava voi olla. Oletetaan esimerkiksi, että taulukossa on 1 000 riviä tietoja. Voit laskea yhteen osan tiedoista tai kaikki tiedot luomalla yksisoluisen matriisikaavan sen sijaan, että vetäisit kaavan kaikkiin 1 000 riviin. Huomaa myös, että yksisoluinen kaava solussa H20 on täysin riippumaton monisoluisesta kaavasta (kaava soluissa H10–H19). Tämä joustavuus on yksi matriisikaavojen käytön eduista. Voit muuttaa sarakkeen H muita kaavoja vaikuttamatta kaavaan H20:ssä. Voi myös olla hyvä käytäntö, että sinulla on tällaisia itsenäisiä yhteissummia, sillä se auttaa varmistamaan tulosten tarkkuuden.

  • Muita dynaamisten matriisikaavojen etuja ovat:

    • Johdonmukaisuus Jos napsautat jotakin solua solusta H10 alaspäin, näet saman kaavan. Yhdenmukaisuus auttaa varmistamaan tietojen tarkkuuden.
    • Turvallisuus Et voi korvata monisoluisen matriisikaavan osaa. Napsauta esimerkiksi solua H11 ja paina Poista. Excel ei muuta matriisin tulosta. Jos haluat muuttaa sitä, sinun on valittava taulukon vasemmassa yläkulmassa oleva solu tai solu H10.
    • Pienemmät tiedostokoot Voit usein käyttää yhtä matriisikaavaa useiden välikaavojen sijaan. Esimerkiksi autokaupan esimerkissä lasketaan tulokset sarakkeessa E yhdellä matriisikaavalla. Jos olisit käyttänyt vakiokaavoja (kuten =F10*G10, F11*G11, F12*G12 jne.), olisit käyttänyt 11 erilaista kaavaa samojen tulosten laskemiseen. Se ei ole iso juttu, mutta entä jos sinulla olisi tuhansia yhteenlaskettavia rivejä? Silloin sillä voi olla suuri merkitys.
    • Tehokkuutta Matriisifunktiot voivat olla tehokas tapa luoda monimutkaisia kaavoja. Matriisikaava =SUMMA(F10:F19*G10:G19) on sama kuin tämä: =SUMMA(F10*G10,F11*G11,F12*G12,F13*G13,F14*G14,F15*G15,F16*G16,F17*G17,F18*G18,F19*G19).
    • Valuu Dynaamiset matriisikaavat levittyvät automaattisesti tulostusalueelle. Jos lähdetiedot ovat Excel-taulukossa, dynaamiset matriisikaavat muuttavat kokoa automaattisesti, kun lisäät tai poistat tietoja.
    • #LEVITTYMINEN! -virheen korjaaminen Dynaamiset matriisit toivat #SPILL!-virheen, joka ilmaisee, että aiottu levitysalue on jostain syystä estetty. Kun poistat eston, kaava levittyy automaattisesti.

Yksi- ja kaksiulotteisen matriisivakion luominen

Taulukon vakiot ovat osa matriisikaavoja. Matriisivakioita voi luoda määrittämällä kohdeluettelo ja lisäämällä luettelon ympärille aaltosulkeet ({ }), esimerkiksi näin:

={1,2,3,4,5} tai ={"Tammikuu","Helmikuu","Maaliskuu"}

Jos erotat kohteet toisistaan pilkkujen avulla, luot vaakasuuntaisen matriisin (rivi). Jos erotat kohteet toisistaan puolipisteiden avulla, luot pystysuuntaisen matriisin (sarake). Jos haluat luoda kaksiulotteisen matriisin, erota kunkin rivin kohteet toisistaan pilkuilla ja erota rivit toisistaan puolipisteillä.

Seuraavien toimien avulla voit harjoitella vaaka- ja pystysuuntaisten sekä kaksiulotteisten vakioiden luomista. Näytämme esimerkkejä, joissa käytetään SEQUENCE-funktiota matriisivakioiden luomiseen automaattisesti sekä manuaalisesti kirjoitettuja matriisivakioita.

  • Vaakasuuntaisen vakion luominen
    Käytä edellisessä kohdassa käytettyä työkirjaa tai avaa uusi työkirja. Valitse mikä tahansa tyhjä solu ja kirjoita =JONO(1,5). JONO-funktio muodostaa 1 rivin ja 5 sarakematriisin samalla tavalla kuin ={1,2,3,4,5}. Näet seuraavat tulokset:
    Vaakasuuntaisen matriisivakion luominen =JONO(1,5) tai ={1,2,3,4,5}
  • Pystysuuntaisen vakion luominen
    Valitse mikä tahansa tyhjä solu, jonka alapuolella on tilaa, ja kirjoita =JONO(5) tai ={1;2;3;4;5}. Näet seuraavat tulokset:
    Luo pystysuora matriisivakio funktiolla =JONO(5), tai ={1;2;3;4;5}
  • Kaksiulotteisen vakion luominen
    Valitse mikä tahansa tyhjä solu, jonka oikealla ja alapuolella on tilaa, ja kirjoita =JONO(3,4). Näet seuraavat tulokset:
    Luo 3 rivin ja 4 sarakkeen matriisivakio funktiolla =JONO(3,4)
    Voit myös kirjoittaa: tai ={1\2\3\4;5\6\7\8;9\10\11\12}, mutta kiinnitä huomiota kohtaan, johon laitat puolipisteet pilkkujen sijaan.
    Kuten näet, JONO-vaihtoehto tarjoaa merkittäviä etuja matriisivakioarvojen manuaaliseen syöttämiseen verrattuna. Ensisijaisesti se säästää aikaa, mutta se voi myös auttaa vähentämään manuaalisen syöttämisen virheitä. Se on myös helpompi lukea, etenkin kun puolipisteitä voi olla vaikea erottaa pilkuista.

Matriisivakion syntaksi

Seuraavassa esimerkissä käytetään matriisivakioita osana suurempaa kaavaa. Siirry mallityökirjassa kaavataulukon Vakio-kohtaan tai luo uusi laskentataulukko.

Kirjoitimme soluun D9 =JONO(1,5,3,1), mutta voit kirjoittaa soluihin A9:H9 myös 3, 4, 5, 6 ja 7. Tässä numerovalinnassa ei ole mitään erityistä. Valitsimme vain välillä jonkin muun kuin 1-5.

Kirjoita soluun E11 =SUMMA(D9:H9*JONO(1,5))tai =SUMMA(D9:H9*{1,2,3,4,5}). Kaavat palauttavat arvon 85.

Käytä matriisivakioita kaavoissa. Tässä esimerkissä käytettiin =SUMMA(D9:H(*JONO(1,5))

JONO-funktio muodostaa matriisivakion {1,2,3,4,5}vastineen . Koska Excel suorittaa ensin sulkeissa olevat lausekkeet, seuraavat kaksi osaa ovat solujen arvot kohdassa D9:H9 sekä kerroinoperaattori (*). Tässä vaiheessa kaava kertoo tallennetun matriisin arvot vakion vastaavilla arvoilla. Tämä vaihe vastaa kaavaa:

=SUMMA(D9*1,E9*2,F9*3,G9*4,H9*5) tai =SUMMA(3*1,4*2,5*3,6*4,7*5)

Lopuksi SUMMA-funktio lisää arvot ja palauttaa 85.

Voit välttää tallennetun matriisin käyttämisen ja säilyttää operaattorin muistissa korvaamalla sen toisella matriisivakiolla:

=SUMMA(JONO(1;5;3;1)*JONO(1,5))) tai =SUMMA({3,4,5,6,7}*{1,2,3,4,5})

Matriisivakioissa käytettävät osat

  • Matriisivakiot voivat sisältää numeroita, tekstiä, totuusarvoja (kuten TOSI ja EPÄTOSI) ja virhearvoja, kuten #N/A. Voit käyttää lukuja kokonaisluku-, desimaali- ja tieteellisissä muodoissa. Jos käytät vakiossa tekstiä, sen ympärille on lisättävä lainausmerkit (“teksti”).
  • Matriisivakiot eivät voi sisältää muita matriiseja, kaavoja tai funktioita. Toisin sanoen ne voivat sisältää vain pilkuilla tai puolipisteillä erotettuja numeroita tai tekstejä. Excel näyttää varoitussanoman, jos kirjoitat esimerkiksi kaavan {1\2\A1:D4} tai {1\2\SUMMA(Q2:Z8)}. Numeeriset arvot eivät voi sisältää prosenttimerkkejä, dollarin merkkejä, pilkkuja tai sulkeita.

Matriisivakioiden nimeäminen

Yksi parhaista tavoista käyttää matriisivakioita on nimetä ne. Nimettyjä vakioita on helppo käyttää, ja niiden avulla matriisikaavoista voidaan tehdä helpommin ymmärrettäviä muille käyttäjille. Voit nimetä matriisivakion ja käyttää sitä kaavassa seuraavalla tavalla:

Siirry kohtaan Kaavat Määritetyt>nimet>Määritä nimi. Kirjoita Nimi-ruutuun Neljännes1. Kirjoita Viittaa-ruutuun seuraava vakio (muista lisätä aaltosulkeet):

={"tammikuu"\"helmikuu"\"maaliskuu"}

Valintaikkunan pitäisi nyt näyttää tältä:

Nimetyn matriisivakion lisääminen kaavoista Määritetyt > nimet > Nimien hallinta > Uusi

Valitse OK, ja valitse sitten mikä tahansa rivi, jossa on kolme tyhjää solua, ja kirjoita =Neljännes1.

Näet seuraavat tulokset:

Käytä nimettyä matriisivakiota kaavassa, kuten =Neljännes1, jossa vuosineljännes1 on määritetty muodossa ={tammikuu,helmikuu,maaliskuu}

Jos haluat tulosten levittyvän pystysuunnassa vaakasuuntaisen sijaan, voit käyttää =TRANSPONOI(Vuosineljännes1)-funktiota.

Jos haluat näyttää 12 kuukauden luettelon, jollaista saatat käyttää laatiessasi talousraporttia, voit luoda JONO-funktiolla sellaisen kuluvasta vuodesta. Hienoa tässä funktiossa on se, että vaikka vain kuukausi on näkyvissä, sen takana on kelvollinen päivämäärä, jota voit käyttää muissa laskutoimituksissa. Nämä esimerkit ovat esimerkkityökirjan Nimetty matriisivakio - ja Pikaesimerkkitietojoukko-laskentataulukoissa .

=TEKSTI(PÄIVÄYS(VUOSI(TÄMÄ.PÄIVÄ()),JONO(1,12),1),"mmm")

Käytä TEKSTi-, PÄIVÄMÄÄRÄ-, VUOSI-, TÄNÄÄN- ja JONO-funktioita luodaksesi dynaamisen luettelin 12 kuukaudesta

Tämä käyttää PÄIVÄYS-funktiota luomaan päivämäärän kuluvan vuoden perusteella, JONO luo matriisivakion 1-12 tammikuusta joulukuuhun ja sitten TEKSTI-funktio muuntaa näyttömuodon muotoon "mmm" (tam, hel, maa jne.). Jos haluat näyttää koko kuukauden nimen, kuten tammikuu, käytä "mmmm".

Kun käytät nimettyä vakiota matriisikaavana, muista lisätä yhtäläisyysmerkki, kuten =Neljännes1, ei ainoastaan Neljännes1. Jos et lisää yhtäläisyysmerkkiä, Excel tulkitsee matriisin tekstimerkkijonoksi eikä kaava toimi odotetulla tavalla. Muista myös, että voit käyttää funktioiden, tekstin ja numeroiden yhdistelmiä. Kaikki riippuu siitä, kuinka luova haluat olla.

Matriisivakioiden käyttäminen

Seuraavissa esimerkeissä esitellään muutamia matriisivakioiden käyttötapoja matriisikaavoissa. Muutamissa esimerkeissä käytetään TRANSPONOI-funktiota, joka muuttaa rivit sarakkeiksi ja päinvastoin.

  • Matriisin kunkin kohteen kertominen
    Kirjoita =JONO(1,12)*2 tai ={1\2\3\4;5\6\7\8;9\10\11\12}*2
    Voit myös jakaa luvun (/), lisätä funktiolla (+) ja vähentää vähennyslaskulla (-).
  • Matriisin kohteiden neliöjuuri
    Kirjoita =JONO(1,12)^2 tai ={1\2\3\4;5\6\7\8;9\10\11\12}^2
  • Etsi neliökohteiden neliöjuuri matriisista
    Kirjoita =NELIÖJUURI(JONO(1,12)^2)tai =NELIÖJUURI({1,2;3;4; 5,6,7,8; 9,10,11,12}^2)
  • Yksiulotteisen rivin transponoiminen
    Kirjoita =TRANSPONOI(JONO(1,5))tai =TRANSPONOI({1,2,3,4,5})
    Vaikka olet määrittänyt vaakasuuntaisen matriisivakion, TRANSPONOI-funktio muuntaa matriisivakion sarakkeeksi.
  • Yksiulotteisen sarakkeen transponoiminen
    Kirjoita =TRANSPONOI(JONO(5,1)) tai =TRANSPONOI({1;2;3;4;5})
    Vaikka olet määrittänyt pystysuuntaisen matriisivakion, TRANSPONOI-funktio muuntaa matriisivakion riviksi.
  • Kaksiulotteisen vakion transponoiminen
    Kirjoita =TRANSPONOI(JONO(3,4)) tai =TRANSPONOI({1\2\3\4;5\6\7\8;9\10\11\12})
    TRANSPONOI-funktio muuntaa kunkin rivin sarakejoukoksi.

Perusmatriisikaavojen käyttäminen

Tässä osassa on esimerkkejä perusmatriisikaavoista.

  • Matriisin luominen olemassa olevista arvoista
    Seuraavassa esimerkissä kerrotaan, miten matriisikaavojen avulla luodaan uusi matriisi olemassa olevasta matriisista.
    Kirjoita =JONO(3,6,10,10) tai ={10\20\30\40\50\60;70\80\90\100\110\120;130\140\150\160\170\180}
    Muista kirjoittaa { (aloittava aaltosulje) ennen lukua 10 ja } (päättävä aaltosulje) luvun 180 jälkeen, sillä luot lukumatriisia.
    Kirjoita seuraavaksi =D9# tai =D9:I11 tyhjään soluun. Näkyviin tulee 3 x 6 solutaulukko, jossa on samat arvot kuin soluissa D9:D11. #-merkkiä kutsutaan levittyneen alueen operaattoriksi, ja se on Excelin tapa viitata koko matriisialueeseen sen sijaan, että se olisi kirjoitettava.
    Käytä levitettyä alueoperaattoria (#) olemassa olevaan matriisiin viittaamiseen

  • Matriisivakion luominen olemassa olevista arvoista
    Voit ottaa levittyneen matriisikaavan tulokset ja muuntaa ne sen komponenttiosiksi. Valitse solu D9 ja siirry sitten muokkaustilaan painamalla F2. Muunna seuraavaksi soluviittaukset arvoiksi painamalla F9-näppäintä , jonka Excel muuntaa matriisivakioksi. Kun painat Enter, kaavan =D9# pitäisi nyt olla ={10\20\30;40\50\60;70\80\90}.

  • Solualueen merkkimäärän laskeminen
    Seuraavassa esimerkissä kerrotaan, miten voit laskea solualueen merkkien määrän. Tämä sisältää välilyönnit.
    Laske alueen merkkien kokonaismäärä ja muut matriisit tekstijonon käsittelyä varten
    =SUMMA(PITUUS(C9:C13))
    Tässä tapauksessa PITUUS-funktio palauttaa kunkin tekstimerkkijonon pituuden kussakin alueen solussa. SUMMA-funktio laskee arvot yhteen ja näyttää tuloksen (66). Jos haluat saada merkkien keskimääräisen määrän, voit käyttää seuraavia:
    =KESKIARVO(PITUUS(C9:C13))

  • Alueen C9:C13 pisimmän solun sisältö
    =INDEKSI(C9:C13,VASTINE(MAKS(PITUUS(C9:C13)),PITUUS(C9:C13),0),1)
    Tämä kaava toimii vain, kun tietoalue sisältää yhden solusarakkeen.
    Tutkitaanpa kaavaa hieman tarkemmin sisimmäisistä osista alkaen. PITUUS-funktio palauttaa kunkin solualueen D2:D6 kohteen pituuden. MAKS-funktio laskee kohteiden suurimman arvon, joka vastaa pisintä merkkijonoa, joka on solussa D3.
    Tässä vaiheessa asia muuttuu hieman monimutkaisemmaksi. VASTINE-funktio laskee sen solun siirtymän (suhteellisen sijainnin), joka sisältää pisimmän tekstimerkkijonon. Funktio tarvitsee laskemisessa kolmea argumenttia hakuarvo, hakumatriisi sekä vastinetyyppi. VASTINE-funktio etsii hakumatriisin määritetylle hakuarvolle. Tässä tapauksessa hakuarvo on pisin tekstimerkkijono:
    MAKS(PITUUS(C9:C13)
    ja merkkijono sijaitsee tässä matriisissa:
    PITUUS(C9:C13)
    Tässä tapauksessa vastinetyyppiargumentti on 0. Vastinetyypin arvo voi olla 1, 0 tai -1.

    • 1 - palauttaa suurimman arvon, joka on pienempi tai yhtä suuri kuin hakuarvo
    • 0 - palauttaa ensimmäisen arvon, joka on täsmälleen yhtä suuri kuin hakuarvo
    • -1 - palauttaa pienimmän arvon, joka on suurempi tai yhtä suuri kuin määritetty hakuarvo
    • Jos et määritä vastinetyyppiä, Excel käyttää oletusarvoa 1.

    Lopuksi INDEKSI-funktio ottaa nämä argumentit: matriisi sekä rivin ja sarakkeen numero siinä matriisissa. Solualue C9:C13 antaa matriisin, VASTINE-funktio antaa solun osoitteen ja viimeinen argumentti (1) määrittää, että arvo tulee matriisin ensimmäisestä sarakkeesta.
    Jos haluat saada pienimmän tekstimerkkijonon sisällön, korvaa MAKS yllä olevassa esimerkissä funktiolla MIN.

  • Alueen n:n pienimmän arvon etsiminen
    Tässä esimerkissä näytetään, miten löydät solualueen kolme pienintä arvoa, joiden avulla on luotu esimerkkitietojen matriisi soluissa B9:B18= INT(SATUNN.MATRIISI(10,1)*100). Huomaa, että SATUNN.MATRIISI on muuttuva funktio, joten saat uuden joukon satunnaislukuja aina, kun Excel laskee.
    Excelin matriisikaava n:nneksi pienimmän arvon löytämiseksi: =PIENI(B9#,JONO(D9))
    Kirjoita =PIENI(B9#,JONO(D9), =PIENI(B9:B18,{1;2;3})
    Tämä kaava käyttää matriisivakiota PIENI-funktion arvioimiseen kolme kertaa ja palauttaa pienimmät kolme jäsentä matriisissa, joka sisältyy soluihin B9:B18, jossa 3 on muuttuja-arvo solussa D9. Jos haluat etsiä lisää arvoja, voit suurentaa JONO-funktion arvoa tai lisätä vakioon argumentteja. Voit käyttää tämän kaavan kanssa myös muita funktioita, kuten SUMMA- tai KESKIARVO-funktioita. Esimerkki:
    =SUMMA(PIENI(B9#,JONO(D9))
    =KESKIARVO(PIENI(B9#,JONO(D9))

  • Alueen n:n suurimman arvon etsiminen
    Jos haluat etsiä alueen suurimmat arvot, korvaa PIENI-funktio SUURI-funktiolla. Seuraavassa esimerkissä käytetään lisäksi RIVI- ja EPÄSUORA-funktioita.
    Kirjoita =SUURI(B9#,RIVI(EPÄSUORA("1:3"))) tai =SUURI(B9:B18,RIVI(EPÄSUORA("1:3")))
    Tässä vaiheessa voi olla hyödyllistä tietää hieman RIVI- ja EPÄSUORA-funktioista. RIVI-funktiolla voit luoda joukon peräkkäisiä kokonaislukuja. Valitse esimerkiksi tyhjä ja kirjoita:
    =RIVI(1:10)
    Kaava luo kymmenen peräkkäisen kokonaisluvun sarakkeen. Jos haluat tarkastella mahdollisia ongelmia, lisää rivi matriisikaavan sisältävän alueen yläpuolelle (eli rivin 1 yläpuolelle). Excel tarkistaa riviviittaukset ja kaava luo nyt kokonaisluvut 2-11. Voit korjata ongelman lisäämällä kaavaan EPÄSUORA-funktion:
    =RIVI(EPÄSUORA("1:10"))
    EPÄSUORA-funktio käyttää tekstimerkkijonoja argumentteina (tästä syystä alueen 1:10 ympärillä on lainausmerkit). Excel ei muuta tekstiarvoja, kun lisäät rivejä tai siirrät matriisikaavaa. Funktion ansiosta RIVI-funktio luo aina matriisin ainoastaan haluamistasi kokonaisluvuista. Voit yhtä helposti käyttää JONO-funktiota:
    =JONO(10)
    Tarkastellaan aiemmin käyttämääsi kaavaa — =SUURI(B9#,RIVI(EPÄSUORA("1: 3"))) — alkaen sisemmistä sulkeista ja siirtymällä ulospäin: EPÄSUORA-funktio palauttaa joukon tekstiarvoja, tässä tapauksessa arvot 1-3. RIVI-funktio puolestaan ​​luo kolmen solun sarakematriisin. SUURI-funktio käyttää arvoja solualueella B9:B18, ja se arvioidaan kolme kertaa, kerran kutakin RIVI-funktion palauttamaa vertailua kohti. Jos haluat löytää enemmän arvoja, lisää EPÄSUORA-funktioon suurempi solualue. Kuten PIENI-esimerkeissä, voit käyttää tätä kaavaa myös muiden funktioiden, kuten SUMMA- ja KESKIARVO-funktioiden, kanssa.

Virheiden käsittely

  • Virhearvoja sisältävän alueen yhteenlaskeminen
    Excelin SUMMA-funktio ei toimi, jos yrität laskea yhteen alueen, joka sisältää virhearvon, kuten #ARVO! tai #N/A. Tässä esimerkissä näytetään, miten voit laskea yhteen Tiedot-nimisen alueen, joka sisältää virheitä:
    Käytä matriiseja virheiden ratkaisemiseen. Esimerkiksi =SUMMA(JOS(ONVIRHE(Tiedot),,Tiedot) laskee yhteen Tiedot-nimisen alueen, vaikka se sisältää virheitä, kuten #VALUE! tai #NA!.
  • =SUMMA(JOS(ONVIRHE(Tiedot);"";Tiedot))
    Kaava luo uuden taulukon, joka sisältää alkuperäiset arvot lukuun ottamatta virhearvoja. Sisemmistä funktioista alkaen ja ulospäin siirtymällä ONVIRHE-funktio etsii solualueelta (Data) virheitä. JOS-funktio palauttaa tietyn arvon, jos määrittämäsi ehto arvioi arvoksi TOSI ja toisen arvon, jos se arvioi arvoksi EPÄTOSI. In this case, it returns empty strings ("") for all error values because they evaluate to TRUE, and it returns the remaining values from the range (Data) because they evaluate to FALSE, meaning that they don't contain error values. SUMMA-funktio laskee sitten suodatetun matriisin kokonaissumman.
  • Alueen virhearvojen määrän laskeminen
    Tässä esimerkissä käytetään samantyyppistä kaavaa kuin edellisessä esimerkissä, mutta kaava palauttaa Tiedot-alueen virhearvojen määrän sen sijaan, että virhearvot suodatettaisiin pois:
    =SUMMA(JOS(ONVIRHE(Tiedot);1;0))
    Tämä kaava luo matriisin, joka sisältää arvon 1 soluille, joissa on virheitä, ja arvon 0 soluille, joissa ei ole virheitä. Voit yksinkertaistaa kaavaa ja saada saman tuloksen poistamalla JOS-funktion kolmannen argumentin:
    =SUMMA(JOS(ONVIRHE(Tiedot);1))
    Jos et määritä argumenttia, JOS-funktio palauttaa arvon EPÄTOSI, jos solu ei sisällä virhearvoa. Voit yksinkertaistaa kaavaa edelleen:
    =SUMMA(JOS(ONVIRHE(Tiedot)*1))
    Tämä kaava toimii, koska TOSI*1=1 ja EPÄTOSI*1=0.

Arvojen laskeminen yhteen ehtojen perusteella

Saatat joutua laskemaan arvot yhteen ehtojen perusteella.

Matriisien avulla voit laskea tiettyjen ehtojen perusteella. =SUMMA(JOS(Myynti>0;Myynti)) laskee yhteen kaikki arvot, jotka ovat suurempia kuin 0 Myynti-nimisellä alueella.

Esimerkiksi seuraava matriisikaava laskee yhteen vain positiiviset kokonaisluvut Myynti-nimisellä alueella, joka on soluissa E9:E24 yllä olevassa esimerkissä:

=SUMMA(JOS(Myynti>0;Myynti))

JOS-funktio luo positiivisten ja epätosien arvojen matriisin. SUMMA-funktio ohittaa virheelliset arvot, koska 0+0=0. Kaavassa käytettävä solualue voi sisältää haluamasi määrän rivejä ja sarakkeita.

Voit myös laskea yhteen arvot, jotka vastaavat useampaa kuin yhtä ehtoa. Esimerkiksi tämä matriisikaava laskee arvot, jotka ovat suurempia kuin 0 JA pienempi kuin 2 500:

=SUMMA((Myynti>0)*(Myynti<2500)*(Myynti))

Huomaa, että tämä kaava palauttaa virheen, jos alue sisältää ei-numeerisia soluja.

Voit myös luoda matriisikaavoja, jotka käyttävät TAI-ehtoa. Voit esimerkiksi laskea yhteen arvot, jotka ovat suurempia kuin 0 tai pienempiä kuin 2 500:

=SUMMA(JOS((Myynti>0)+(Myynti<2500),Myynti))

Matriisikaavoissa ei voi käyttää suoraan JA- ja TAI-funktioita, koska nämä funktiot palauttavat yksittäisen tuloksen (joko TOSI tai EPÄTOSI) ja matriisifunktiot edellyttävät tulosmatriiseja. Voit kiertää ongelman käyttämällä edellisessä kaavassa esitettyä logiikkaa. Toisin sanoen suoritat matemaattisia operaatioita, kuten lisäys tai kertolasku arvoille, jotka täyttävät TAI- tai JA-ehdon.

Tässä esimerkissä näytetään, miten voit poistaa nollat alueelta, kun haluat laskea alueen arvojen keskiarvon. Kaavassa käytetään Myynti-nimistä tietoaluetta:

=KESKIARVO(JOS(Myynti<>0;Myynti))

JOS-funktio luo matriisin arvoista, jotka ovat eri suuria kuin 0, ja siirtää arvot sitten KESKIARVO-funktiolle.

Kahden solualueen välisten eroavaisuuksien määrän laskeminen

This array formula compares the values in two ranges of cells named MyData and YourData and returns the number of differences between the two. If the contents of the two ranges are identical, the formula returns 0. Tämän kaavan käyttämiseksi solualueiden on oltava samankokoisia ja samasta dimensiosta. Jos esimerkiksi MyData on kolmen rivin ja viiden sarakkeen alue, YourDatan on oltava myös kolme riviä ja viisi saraketta:

=SUMMA(JOS(MyData=YourData,0,1))

Kaava luo uuden matriisin, joka on samankokoinen kuin vertailtavat alueet. JOS-funktio lisää matriisiin arvon 0 ja arvon 1 (0 tarkoittaa eroavaisuuksia ja 1 identtisiä soluja). SUMMA-funktio palauttaa matriisin arvojen summan.

Voit yksinkertaistaa kaavaa seuraavasti:

=SUMMA(1*(MyData<>YourData))

Tämä kaava toimii samalla tavalla kuin alueen virhearvoja laskeva kaava, koska TOSI*1=1 ja EPÄTOSI*1=0.

Tämä matriisikaava palauttaa yksisarakkeisen Tiedot-nimisen alueen suurimman arvon rivinumeron:

=MIN(JOS(Tiedot=MAKS(Tiedot);RIVI(Tiedot);""))

JOS-funktio luo uuden matriisin, joka vastaa Tiedot-aluetta. Jos solu sisältää alueen suurimman arvon, matriisissa on rivinumero. Muissa tapauksissa matriisi sisältää tyhjän merkkijonon (""). MIN-funktio käyttää uutta matriisia toisena argumenttinaan ja palauttaa pienimmän arvon, joka vastaa Tiedot-alueen suurimman arvon rivinumeroa. Jos Tiedot-alueella on useita täysin samanlaisia suurimpia arvoja, kaava palauttaa ensimmäisen arvon rivinumeron.

Jos haluat selvittää suurimman arvon todellisen solun osoitteen, käytä seuraavaa kaavaa:

=OSOITE(MIN(JOS(Tiedot=MAKS(Tiedot);RIVI(Tiedot);""));SARAKE(Tiedot))

Samankaltaisia esimerkkejä on esimerkkityökirjan Tietojoukkojen väliset erot -laskentataulukossa.

Tunnustus

Tämän artikkelin osat perustuivat sarjaan Excel Power User -kolumneja, jotka Colin Wilcox on kirjoittanut, ja jotka on mukautettu entisen Excel MVP:n John Walkenbachin kirjoittaman kirjan Excel 2002 Formulas luvuista 14 ja 15.

Tarvitsetko lisätietoja?

Voit aina pyytää apua Excel Tech Communityn asiantuntijalta tai saada tukea yhteisöissä.

Katso myös

Dynaamiset matriisit ja levittyneiden matriisien erityispiirteet

Dynaamiset matriisikaavat vs. vanhat CSE-matriisikaavat

SUODATA-funktio

SATUNN.MATRIISI-funktio

JONO-funktio

LAJITTELE-funktio

LAJITTELE.ARVOJEN.PERUSTEELLA-funktio

AINUTKERTAISET.ARVOT-funktio

#LEVITTYMINEN! -virheet Excelissä

Implisiittisen leikkauskohdan operaattori: @

Yleistä kaavoista