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, levittävät ne 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ä

Voit ladata esimerkkityökirjan, joka sisältää kaikki tästä artikkelista löytyvät matriisikaavoja koskevat esimerkit.

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 pääkaava 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:

    • Yhdenmukaisuus    Jos valitset minkä tahansa solun 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.

    • Entistä pienemmät tiedostot    You can often use a single array formula instead of several intermediate formulas. 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.

    • Tehokkuus    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).

    • Levittyminen    Dynaamiset matriisikaavat levittyvät automaattisesti tulostusalueelle. Jos lähdetiedot ovat Excel-taulukossa, dynaamiset matriisikaavat muuttavat kokoa automaattisesti, kun lisäät tai poistat tietoja.

    • #SPILL!-virhe    Dynaamiset matriisit tuottavat #SPILL!-virheen, mikä tarkoittaa, että aiottu levittymisalue on jostain syystä estetty. Kun poistat eston, kaava levittyy automaattisesti.

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). SEQUENCE-funktio muodostaa 1 rivin ja 5 sarakkeen matriisin samalla tavalla kuin ={1\2\3\4\5}. Näet seuraavat tulokset:

    Luo vaakasuora matriisivakio funktiolla =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.

Seuraavassa esimerkissä käytetään matriisivakioita osana suurempaa kaavaa. Siirry mallityökirjassa Vakio kaavassa laskentataulukkoon 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 kaavioissa. Tässä esimerkissä käytimme funktiota =SUMMA(D9:H(*JONO(1,5))

JONO-funktio muodostaa matriisivakiota {1\2\3\4\5} vastaavan arvon. 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.

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:

Valitse 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ä:

Lisää nimetty matriisivakio kohdasta Kaaviot > 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äytettiin nimettyä matriisivakiota kaaviossa, kuten =Neljännes1, missä Neljännes1 on määritetty tarkoittamaan ={”Tammikuu”,”Helmikuu”,”Maaliskuu”}

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

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 löytyvät esimerkkityökirjan taulukoista Nimetty matriisivakioja Nopea näytetietojoukko.

=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.

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 (/), lisätä (+) ja vähentää (-).

  • 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.

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. Seuraavaksi muunna soluviittaukset arvoiksi painamalla F9-näppäintä. Excel muuntaa arvot 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 kolme pienintä arvoa solualueelta, jossa on luotu esimerkkitietojen matriisi soluissa B9:B18 seuraavasti: =KOKONAISLUKU(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.

  • 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 käsittelemiseen. Esimerkiksi, funktio =SUMMA(JOS(ONVIRHE(Tiedot),””,Tiedot) laskee yhteen Tiedoksi nimetyn alueen, vaikka se sisältäisi virheitä, kuten #ARVO! tai #PUUTTUU!.

  • =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.

Saatat joutua laskemaan arvot yhteen ehtojen perusteella.

Voit käyttää matriiseja laskemaan tietyillä ehdoilla. =SUMMA(JOS(Myynnit>0,Myynnit)) laskee yhteen kaikki 0 suuremmat arvot alueessa nimeltä Myynnit.

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.

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 kysyä neuvoa Excel Tech Community -yhteisön asiantuntijalta tai saada tukea tukiyhteisöltä.

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

Tarvitsetko lisäohjeita?

Haluatko lisää vaihtoehtoja?

Tutustu tilausetuihin, selaa harjoituskursseja, opi suojaamaan laitteesi ja paljon muuta.