Funktiota: laske rivistä summa jossa a=1, b=2, jne

sarsaa

Eli miten teen tällaisen kaavan: Rivissä eri ruuduissa on kirjaimia, esim. A, B,C, jne. A tarkoittaa lukua 1, B=2, C=3. Miten rivistä lasketaan näiden summa. Eli jos ekassa ruudussa on A, tokassa B ja kolmannessa C, summa pitäisi olla 6. Mutta miten teen siis sellaisen kaavan että excel ymmärtää minkä arvon mikäkin kirjain saa ja laskee ne yhteen?

11

772

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • lokäyttäjä

      Asenna suosiolla LibreOffice, niin saat apuja.

    • phaku

      PHAKU-funktio yksi mahdollisuus. Esim:
      - tee jonnekin aputaulukko, josta selviää kunkin kirjaimen "numeroarvo" (vaikka J1 alaspäin kirjaimet (A, B, C, jne,) ja K1 alaspäin numerot (1, 2, 3, jne...)
      - jos nuo A,B ja C ovat A1:C1, niin D1 kaava:
      =SUMMA(PHAKU(A1;J1:K10;2;0) PHAKU(B1;J1:K10;2;0) PHAKU(C1;J1:K10;2;0))
      Eli kaava hakee ensin A1 (A) vastaavan numeron aputaulukosta, tässä esimerkissä nyt 10 ensimmäistä aakkosta, solualueesta J1:K10, toisesta (2) sarakkeesta (K), jne... ja SUMMAA ne yhteen.

      • sarsaa

        Tämä toimii muuten mutta jos kopioin kaavan seuraavalle riville, myös aputaulukon alue vaihtuu yhdellä rivillä eteenpäin. Miten saan tehtyä aputaulukosta sellaisen vakio-osan kaavassa että kopioidessa alue ei vaihdu vaan pysyy samana?


      • fdbhsxdf

        Laitat siihen kaavan joka kohtaan aputaulukon alueen osoitteeseen taalamerkkejä $

        Tuossa esimerkissä oli aputaulukko J1:K10
        Muuta se tähän muotoon $J$1:$K$10

        =SUMMA(PHAKU(A1;$J$1:$K$10;2;0) PHAKU(B1;$J$1:$K$10;2;0) PHAKU(C1;$J$1:$K$10;2;0))


    • Kundepuu

      jos tarkoitus laskea loogisesti A=1, B=2, C=3 D=4 jne niin sitten helppoa
      soluun mihin haluat summan laitat matriisikaavan {=SUM(CODE(A1:D1)-64)}

      Keep EXCELing
      Kunde

    • Jos-metsään-haluat-mennä

      Käyköhän tämä ratkaisusta, kun ei ole tuota laskupäätä niin hiirellä vetäen seuraavaan soluun edellisestä: https://imgur.com/a/FdEQW

      ------------------------------------------------------------------------------------------------------------
      Linux Mint 17.3 Rosa
      Xfce 64-bit

    • sarsaa

      Kiitos paljon vastauksista. Loogista järjestystä ei ole, laitoin vain esimerkkinä mitä ajoin takaa. Kokeilen ehkä tuota aputaulukko-hommaa eka. Eli jos tietty kirjain saa tietyn arvon ja näitä kirjaimia on useita, niin niistä täytyis saada laskettua numeerinen summa niistä kirjaimista. Tää tais olla vielä huonommin selitetty kuin aikaisemmin, mut kuitenkin. 😀

      • Tämmöinen

        Aakkosnumeeriset merkit koodataan numeroina ja niiden koodit ovat englannin kielen mukaisessa aakkosjärjestyksessä välillä 65-90, pienet kirjaimet 97-122. (ääkkösten koodit eivät ole suomen kielen mukaisilla paikoillaan) Jos kirjaimen "A" haluaa saada vastaamaan arvoa 1, on sen koodista vähennettävä 64.
        =CHAR(65) --> "A"
        =CODE("A") --> 65

        Aputaulukkoja ei tarvita. Kunden lyhyt kaava huomioi aakkoset A-Z. Huomautuksena: Matriisikaava kirjoitetaan ilman kaarisulkeita, painetaan Ctrl Shift Enter, mikä tekee kaarisulkeet matriisikaavan merkiksi:
        {=SUM(CODE(A1:D1)-64)}


      • sarsaa

        Mutta kun mulla a=7, j=8, ö=14,5 jne. Niin toimiiko tää kaava silloinki?


      • hjlhjk

        Tuo kaava ei silloin toimi, koska se perustuu suoraan sen merkin koodiin. Lisäksi sen tulos on riippuvainen merkin koosta, siis A ja a eivät anna samaa tulosta. Aikaisemmin esitetty PHAKU ei välitä siitä, minkä kokoisia kirjaimia haetaan.


    • Kundepuu

      muuta kirjaimet ja vastaavat arvot sopiviksi koodissa
      ei väliä onko iso vai pikkukirjain vaiko sekaisin molempia

      moduullin...
      soluun mihin haluat tuloksen kaava esim. =LaskeKirjaimilla(A1:AA1)

      Function LaskeKirjaimilla(Laskualue As Range) As Double
      Dim x As Long
      Dim vars1
      Dim vars2

      vars1 = Array("A", "K", "c", "Ä", "VV")
      vars2 = Array(1, 2.3, 3.7, 12, 11.1)
      For Each solu In Laskualue
      If IsNumeric(Application.Match(solu.Value, vars1, 0)) Then
      x = CDbl(Application.Match(solu.Value, vars1, 0) - 1)
      LaskeKirjaimilla = LaskeKirjaimilla vars2(x)
      End If
      Next
      End Function

      Keep EXCELing
      @Kunde

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Selvästi näyttää siltä, että SDP:n kannattajat hyväksyy kiusaamisen

      ja seksuaalisen ahdistelun, kun puolueen kannatus pysyy korkealla. Mitä tämä kertoo demari-äänestäjien moraalista?
      Maailman menoa
      101
      3133
    2. Päivi Räsäsen seksipaljastus loksauttaa Katja Ståhlin leuat! Elämäni biisi kohujakso tv:ssä!

      Elämäni biisi -suosikkisarjan uusinnat ovat startanneet ja nyt vuorossa on sarjan 2. jakso v. 2019. Sinisille sohville
      Suomalaiset julkkikset
      48
      2664
    3. Muistan vuosikymmenten takaa

      Toivottavasti voit hyvin ja jaksat työssäsi. Olet upea ja erinomainen ihminen, toivon kaikkea hyvää.
      Ikävä
      12
      2274
    4. Montako mitalia Suomi saa talviolympialaisista?

      Nyt heittäkää veikkaus Suomen mitalisaldosta ja mistä lajeista metallilätkät tulevat. Oma veikkaukseni on 6 mitalia. -
      Maailman menoa
      111
      1812
    5. Voiko kaivattu olla liian vanha?

      Tai muuten huonokuntoinen...
      Ikävä
      168
      1464
    6. Kokemuksia Rehux Oy yrityksestä työpaikkana?

      Jonkin aikaa seurannut kyseistä firmaa sivusta, näyttäisi, että tälläkin hetkellä olisi peräti 3 eri roolia tai paikkaa
      Työpaikat
      30
      1208
    7. Missä näit viimeksi kaivattusi?

      Menikö kohtaaminen hyvin vai ujousko esti lähestymästä?
      Ikävä
      52
      1092
    8. IS: Riitta Väisänen kärsii ikävästä vaivasta - Vaipparalli ja 40 antibioottikuuria takana...

      71-vuotias Riitta Väisänen on kertonut tuoreista terveysongelmistaan. Väisänen on kertonut julkisuudessa jo aiemmin vaih
      Terveys
      15
      896
    9. Jos mies oikeasti haluaa sinut

      Hän ei ota riskiä että menettäisi sinut. Ei pienintäkään. Mies ei jätä vastaamatta viesteihin eikä pidä sinua epätietois
      Ikävä
      111
      878
    10. Polvinen hylkäsi Persut

      Polvinen teki ratkaisun, lähti Persujen paraati paikalta. Moni on jättänyt puolueen tavallisten kansalaisten joukosta.
      Kajaani
      142
      813
    Aihe