Keskiarvon laskeminen jos tietyt ehdot täyttyvät

Laskentataulukko on tehtynä ja tarvitsisi laskea keskiarvo sarakkaeista, jos tietyt arvot täyttyvät, eli jos D-> sarakkeessa on merkintä A, B tai C, ja jos F-sarakkeessa on merkitä 1, niin laske näiden sarakkeiden E- sarakkeista keskiarvo ajoista, joita sinne on syötetty.

Vetää hiljaiseksi, kun ei tunnu Gookkelilla löytyvän vastausta. Osaako joku vastata?
6175
Äänestä

Muut lukivat myös

Vastaukset 6

Vanhimmat

=IF(AND(D1>="A";D1<="C";F1=1);AVERAGE(G1:Z1);"")

Äänestä

Jos nyt ymmärsin oikein tarkoituksesi (edellinen vastaus ei kaiketi ole oikein?), niin
=KESKIARVO(JOS(F1:F10=1;JOS(VASTINE(D1:D10;{"A";"B";"C"};0);E1:E10)))
HUOM! Matriisikaava. Hyväksy se Ctrl Vaihto Enter. Kaavan ympärille kaavariville tulee {}-sulkeet.
Muuta solualueet oikeiksi. Nyt huomioi 10 ensimmäistä riviä (E1:E10).

Äänestä

Nyt kun tuota kaavaa aamulla oikein tarkasti testasin (meinasi illalla mennä lätkämatsi ohi), löytyi siitä puutteita. Kaava toimii hyvin jos F-sarakkeen 1:siä poistaa tai lisää, laskee kaava aina uuden keskiarvon. Mutta jos D-sarakkeessa muuttaa vaikka A tilalle D tai tyhjän (ja F on 1) niin kaava palauttaakin #PUUTTUU!-vastauksen. Kaava ei ole "omaatekoa", vaan löysin sen netistä, enkä osaa näin suoralta käsin sanoa mikä mättää. Yritin muuttaa sitä niin että huomioisi ensin nuo A,B ja C vertailut ja sitten vasta F-sarakkeen 1:set mutten saanut sitä pelaamaan. Jospa täällä joku viisaampi osaa neuvoa.

Äänestä
  • Matriisikaava

    =(KESKIARVO((JOS(F1:F10=1;JOS(1-ONVIRHE(VASTINE(D1:D10;{"A";"B";"C"};0));E1:E10)))))

    Keep EXCELing
    @Kunde

    Äänestä

Ja se viisaampi löytyi.

Äänestä
  • Monille tuottaa vaikeuksia ymmärtää matriisikaavoilla laskeminen ja miten kaava toimii.
    Kaavan laskentaa voi tutkia esim. klikkaamalla kaavasolua ja sitten valikosta KAAVAT/LASKE KAAVA. Avautuvaan lomakkeeseen tulee kaava ja siinä voi tsekata laskemisen etenemistä askel askeleelta.
    Yksittäisen kaavan tulosta voi tutkia kaavarivillä maalaamalla kaavan argumentteineen ja näppikseltä F9, jolloin laskettu kaavantulos näkyy. ESC näppiksellä palataan takaisin kaavan alkuperäiseen muotoon ei ENTERIÄ tässäkohtaa!!!

    Käydäänpäs sitten läpi kaavan laskemisen logiikka esimerkkitapauksessa.
    Oletetaan että D1:D3 on A,B,C ja E1:E3 on 1,2,3 ja F1:F3 soluissa on ykköset muut alueen solut tyhjiä...

    =KESKIARVO(JOS(F1:F10=1;JOS(1-ONVIRHE(VASTINE(D1:D10;{"A";"B";"C"};0));E1:E10)))

    esim. kaavassa ensiksi testataan alueen F1:F10 ykköset
    F1:F10=1
    ja tulokseksi saadaan matriisi
    {TOSI;TOSI;TOSI;EPÄTOSI;EPÄTOSI;EPÄTOSI;EPÄTOSI;EPÄTOSI;EPÄTOSI;EPÄTOSI}
    eli F1:F3:ssa on ykköset =TOSI

    seuraavaksi lasketaan
    VASTINE(D1:D10;{"A";"B";"C"};0)
    eli tutkitaan löytyykö alueelta D1:D10 soluissa arvot A tai B tai C ja tulokseksi tulee jos solun arvo on A-1 ja B-2 ja C-3, eli kirjaimen suhteellinen sijainti matriisissa {"A";"B";"C"}

    {1;2;3;#PUUTTUU!;#PUUTTUU!;#PUUTTUU!;#PUUTTUU!;#PUUTTUU!;#PUUTTUU!;#PUUTTUU!}

    tässä kohtaa nimimerkillä MATRIISI meni sormi suuhun...
    eli seuraavaksi pitäisi poistaa virheet...

    ONVIRHE(VASTINE(D1:D10;{"A";"B";"C"};0)

    ONVIRHE({1;2;3;#PUUTTUU!;#PUUTTUU!;#PUUTTUU!;#PUUTTUU!;#PUUTTUU!;#PUUTTUU!;#PUUTTUU!})

    {EPÄTOSI;EPÄTOSI;EPÄTOSI;TOSI;EPÄTOSI;TOSI;TOSI;EPÄTOSI;TOSI;TOSI}

    nyt meillä onkin virheetön matriisi, mutta arvot ovat juuri päinvastoin, eli TOSI=EPÄTOSI jA EPÄTOSI=TOSI eli meidän pitää seuraavaksi muuntaa ne käänteiseksi

    1-ONVIRHE(VASTINE(D1:D10;{"A";"B";"C"};0))

    tällä kätevällä tavalla se hoituu, koska TOSI=1 ja EPÄTOSI=0
    eli jos TOSI niin 1-1=O eli tulokseksi tulee EPÄTOSI=0...

    {1;1;1;0;0;0;0;;0;0}

    seuraavaksi kerrotaan jälkimmäisen jos- lausekkeen matriisit keskenään
    JOS(1-ONVIRHE(VASTINE(D1:D10;{"A";"B";"C"};0));E1:E10)

    E1:E10={1;2;3;0;0;0;0;0;0;0}

    JOS({1;1;1;0;0;0;0;;0;0}*{1;2;3;0;0;0;0;0;0;0})
    {1;2;3;EPÄTOSI;EPÄTOSI;EPÄTOSI;EPÄTOSI;EPÄTOSI;EPÄTOSI;EPÄTOSI}

    seuraavaksi ensimmäinen jossin matriisit kerrotaan keskenään
    JOS(F1:F10=1;JOS(1-ONVIRHE(VASTINE(D1:D10;{"A";"B";"C"};0));E1:E10))

    JOS({TOSI;TOSI;TOSI;EPÄTOSI;EPÄTOSI;EPÄTOSI;EPÄTOSI;EPÄTOSI;EPÄTOSI;EPÄTOSI}*{1;2;3;EPÄTOSI;EPÄTOSI;EPÄTOSI;EPÄTOSI;EPÄTOSI;EPÄTOSI;EPÄTOSI})

    ja tulokseksi tulee
    {1;2;3;EPÄTOSI;EPÄTOSI;EPÄTOSI;EPÄTOSI;EPÄTOSI;EPÄTOSI;EPÄTOSI}

    ja lopuksi sitten keskiarvo matriisista

    KESKIARVO(JOS(F1:F10=1;JOS(1-ONVIRHE(VASTINE(D1:D10;{"A";"B";"C"};0));E1:E10)))

    KESKIARVO({1;2;3;EPÄTOSI;EPÄTOSI;EPÄTOSI;EPÄTOSI;EPÄTOSI;EPÄTOSI;EPÄTOSI})
    ja tulokseksi 2

    ehkäpä tämä selvitys helpotti ymmärtämään kaavan rakenne ;-)

    Keep EXCELing
    @Kunde

    Äänestä

Kommentoi aloitusta


EpätietoinenTekijä kirjoitti:

Laskentataulukko on tehtynä ja tarvitsisi laskea keskiarvo sarakkaeista, jos tietyt arvot täyttyvät, eli jos D-> sarakkeessa on merkintä A, B tai C, ja jos F-sarakkeessa on merkitä 1, niin laske näiden sarakkeiden E- sarakkeista keskiarvo ajoista, joita sinne on syötetty.

Vetää hiljaiseksi, kun ei tunnu Gookkelilla löytyvän vastausta. Osaako joku vastata?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu