Yhteenlasku

Minulla on A1-A5 sarakkeessa luvut 5,7,99,44 ja 12. B1-B5 sarakkeessa luvut 90,12,6,99 ja 9. C-sarakkeessa kaava =indeksi($a$1:$a$5;vastine($b1;$a$1:$a$5;0)), joka ilmoittaa että luvut 12 ja 99 on B-sarakkeessa. Mtenkä saan summattua luvut B-sarakkeesta ilman että tarvitsee laittaa B-sarakkeeseen luvut jotka löytyy A-sarakkeesta, summa(12;99). Se onnistuu käsipelin kun lukuja on muutama. Mutta entäs jos lukuja onkin A ja B-sarakkeessa vaikka 100. Lukujen etsiminen tuottaa melkoisen etsimisen. Onko tuollaisen funktion teko mahdollista? Vastauksesta kiittäen.
9303
Äänestä

Muut lukivat myös

Vastaukset 9

Vanhimmat

Sinä haluat summata B-sarakkeen luvut, mutta et halua laittaa B-sarakkeeseen lukuja.

Eli minkä sarakkeen haluat summata ?

Äänestä

Kyllä B-sarakkeessa on luvut,mutta ne näkyvät C-sarakkeessa. Tuo funktio "kaivaa" A ja B-sarakkeen samat luvut, vaikka ovat eri soluissa. Kysymys vähän hankala, kun saisi kuvan. Ongelma on siinä miten saisin calcin ymmärtämään, että laskettaisiin yhteen vain nuo samat luvut A ja B-sarakkeesta, siis 12 ja 99. Summa siis 111. Terv. Ari

Äänestä

Tee sarake D, johon =IF(ISNA(C1),0,C1)
Jos arvo puuttuu C:stä niin D:n soluun tulee 0.
Sitten lasket summan =SUM(D1:D5)
ISNA suomeksi on ONPUUTTUU, aika hauska.

Äänestä
  • Niin tai laittaa suoraan C-sarakkeeseen

    =IF(ISNUMBER(MATCH($B1;$A$1:$A$5;0));$B1;0)

    ja summaa sitten sen C-sarakkeen.

    Eli jos saletisti natsaa C:n soluun tulee B:n luku, mutta muutoin 0.

    Äänestä

"Ehtovaihto" ei huomioinut index-funktiota kaavassa.
Näinhän se menisi C-sarakkeeseen:
=IF (ISNA(INDEX($A$1:$A$5,MATCH($B1,$A$1:$A$5,0))),"",$B1)
Mutta turhan pitkä kaava.

Puuttuvan arvon paikalla kannattanee käyttää "", eikä nollaa.
Näin ei estetä sitä, jos nolla onkin sallittu arvo ja luvuista lasketaan jotain muutakin.

Äänestä
  • Eipä siinä tarvita INDEX()-funktiota, koska "funktioryppään" kohdassahan on B-sarakkeessa se laskettava luku, kun MATCH() palauttaa muuta kuin N/A:n.

    Nollaa käytetään siksi, koska lasketaan lukuja, ja on muutenkin parempi näyttää solussa laskettava arvo. ISNUMBER() pitää huolen siitä, että lasketaan vain lukuja, ja se laskee läpi myös arvon 0.

    Monella tavallahan tämän voi toki tehdä. Sitä en tiedä saisiko tuon kaavan ympättyä suoraan SUMIF()-funktion ehdoksi. Silloinhan ei tarvittaisi C-saraketta lainkaan, vaan summa saataisiin suoraan yhteen soluun.

    Äänestä

Tosiaan, INDEX joutaa pois.
Jos löydetyistä luvuista (C1:C5) pitäisi laskea average, niin tällöin nollan paikalla pitää käyttää "" jotta tulos on oikein.

Äänestä

Kaksi ensimmäistä toimi niin libressä kuin 2003 excelissä. Kahta viimeistä vaihtoehtoa en vielä kokeillut. Mutta hienoa että funktiot toimii. Suurkiitos. Terv. Ari

Äänestä

Terve taas.
Sain nollan noihin tyhjiin soluihin ja onnistui tuo average. Mutta kun poistin tuon index-funktion niin ei laskenutkaan mitään. Sumif-funktion kanssa en onnistunut "ymppäämään" sitä ehdoksi. Mutta eipä hätiä mitiä, saamillani ohjeilla pääsin siihen mikä oli alunperin tarkoituskin. Kiitos vaivannäöstä.
Ari-Jukka

Äänestä

Ketjusta on poistettu 1 sääntöjenvastainen viesti.

Kommentoi aloitusta


arijukka.makitalo kirjoitti:

Minulla on A1-A5 sarakkeessa luvut 5,7,99,44 ja 12. B1-B5 sarakkeessa luvut 90,12,6,99 ja 9. C-sarakkeessa kaava =indeksi($a$1:$a$5;vastine($b1;$a$1:$a$5;0)), joka ilmoittaa että luvut 12 ja 99 on B-sarakkeessa. Mtenkä saan summattua luvut B-sarakkeesta ilman että tarvitsee laittaa B-sarakkeeseen luvut jotka löytyy A-sarakkeesta, summa(12;99). Se onnistuu käsipelin kun lukuja on muutama. Mutta entäs jos lukuja onkin A ja B-sarakkeessa vaikka 100. Lukujen etsiminen tuottaa melkoisen etsimisen. Onko tuollaisen funktion teko mahdollista? Vastauksesta kiittäen.

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