Ongelmia Summa.jos.joukko -kaavassa

Anonyymi

Minulla on sarakkeessa
R luokitteleva tekijä Asia1; Asia2; Asia3; Asia4; Asia5;
S euromääräisiä summia (=EURO)
T luokitteleva tekijä Toimija1, Toimija2, Toimija3 (=OLOSUHDE)
U aika vuosina (=VUOSI)


Tavoitteena on saada laskettua:
Montako € vuonna 2020 kohdistuu Toimija1:llle, tilanteessa jossa toteutuu Asia1 TAI Asia2.

Asia1 ja Asia2 ovat tekstimuotoisia.

Saan ratkaisuta tämän summa.jos tai summa.jos.joukko kaavoilla siten, että laadin jokaiselle ainutlaatuiselle ehtoyhdistelmälle oman summa.jos kaavan ja lasken ne yhteen.

Eli solun kaava voisi näyttää jotensakin tällaiselta (alla oleva kaava on esimerkki)

=SUMMA.JOS.JOUKKO(EURO;TA;$B585;VUOSI;$A$230;KK;E$109;OLOSUHDE;$S$123) SUMMA.JOS.JOUKKO(EURO;TA;$B585;VUOSI;$A$230;KK;E$109;OLOSUHDE;$S$124) SUMMA.JOS.JOUKKO(EURO;TA;$B585;VUOSI;$A$230;KK;E$109;OLOSUHDE;$S$125) SUMMA.JOS.JOUKKO(EURO;TA;$B585;VUOSI;$A$230;KK;E$109;OLOSUHDE;$S$126) SUMMA.JOS.JOUKKO(EURO;TA;$B585;VUOSI;$A$230;KK;E$109;OLOSUHDE;$S$127) SUMMA.JOS.JOUKKO(EURO;TA;$B585;VUOSI;$A$230;KK;E$109;OLOSUHDE;$S$128) SUMMA.JOS.JOUKKO(EURO;TA;$B585;VUOSI;$A$230;KK;E$109;OLOSUHDE;$S$129) SUMMA.JOS.JOUKKO(EURO;TA;$B585;VUOSI;$A$230;KK;E$109;OLOSUHDE;$S$130) SUMMA.JOS.JOUKKO(EURO;TA;$B585;VUOSI;$A$230;KK;E$109;OLOSUHDE;$S$131) SUMMA.JOS.JOUKKO(EURO;TA;$B585;VUOSI;$A$230;KK;E$109;OLOSUHDE;$S$132)

eli yhteenlaskettavat summafunktiot ovat identtiset pois lukien argumentti OLOSUHDE. Eli haaveenani on rakentaa kaava, jossa viimeinen kohta olisi ns. TAI -muotoinen

=SUMMA.JOS.JOUKKO(EURO;TA;$B585;VUOSI;$A$230;KK;E$109;OLOSUHDE;$S$123 tai ;$S$124 tai $S$125 tai $S$126 tai jne)

Olen kikkaillut tämän muotoisella kaavalla:
=SUMMA(SUMMA.JOS.JOUKKO(S:S;R:R;{"Asia1";"Asia2"};T:T;"Toimija1";U:U;"2020"))

Silmämääräisesti kaava on toimiva, mutta... Kun tein tarkastuslaskennan filtteröimällä alkuperäistä dataa ja tekemällä perinteisen A1 A2 A3 -tyyppisen yhteenlaskun, tulos erosi kaavalla tehdystä.

Vähensin yhden rajoittavan ehdon pois ja tein uudelleen tarkastuslaskennan numeerinen ero oli yhä sama

Onko muita mahdollisia virhelähteitä, kuin se, että laskettava data ei silmämääräisestä samankaltaisuudesta huolimatta ole identtistä?

5

137

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi
      • Anonyymi

        Pivot ei ole ratkaisu. Datasisältö muuttuu ja rivimäärä lisääntyy. Vanhan kokemuksen mukaa Pivotilla graafit pitäisi piirtää joka kerta uudestaan.

        Lisäksi minua kiinnostaa tämän ongelman ratkaisu myös akateemisesti.


      • Anonyymi
        Anonyymi kirjoitti:

        Pivot ei ole ratkaisu. Datasisältö muuttuu ja rivimäärä lisääntyy. Vanhan kokemuksen mukaa Pivotilla graafit pitäisi piirtää joka kerta uudestaan.

        Lisäksi minua kiinnostaa tämän ongelman ratkaisu myös akateemisesti.

        Pivot taulun/graafit voi päivittää, ei niitä tarvitse uudelleen luoda. Rivejä voi myös lisätä (Insert/Row) datakenttiin ja päivittyy automaattisesti. Jos vain ottaa käyttöön datakentän alla olevan tyhjän rivin niin se ei tietenkään automaattisesti päivity mukaan.

        Silloin kun teen tuonkaltaista ilman Pivot-taulua niin otan käytöön lisää sarakkeita tarpeen mukaan, en siis yritä latia maratoniformulaa. Tuossa tapauksessa esimerkiksi sarake jossa on =OR(S:S="aska1",T:T ="aska2") palauttaa true/false ja tekee haluamasi tai-funktion, ehdot eivät titetenkään tarvitse olla literaalina. Ja sitten lisää sarake jossa =IF( lauseella palautetaan summa tai nolla, riippuen edellisestä. Ja tuon sarakke sitten funktioon =SUM(


      • Anonyymi
        Anonyymi kirjoitti:

        Pivot taulun/graafit voi päivittää, ei niitä tarvitse uudelleen luoda. Rivejä voi myös lisätä (Insert/Row) datakenttiin ja päivittyy automaattisesti. Jos vain ottaa käyttöön datakentän alla olevan tyhjän rivin niin se ei tietenkään automaattisesti päivity mukaan.

        Silloin kun teen tuonkaltaista ilman Pivot-taulua niin otan käytöön lisää sarakkeita tarpeen mukaan, en siis yritä latia maratoniformulaa. Tuossa tapauksessa esimerkiksi sarake jossa on =OR(S:S="aska1",T:T ="aska2") palauttaa true/false ja tekee haluamasi tai-funktion, ehdot eivät titetenkään tarvitse olla literaalina. Ja sitten lisää sarake jossa =IF( lauseella palautetaan summa tai nolla, riippuen edellisestä. Ja tuon sarakke sitten funktioon =SUM(

        Jeps; Apusarakkeen/-taulun kautta saa ratkaistua ongelman. Tätä tulen käyttämään, mikäli en löydä "kauniimpaa" ratkaisua.

        Onko tietoa siitä onko tämän muotoinen kaava ylipäätöön mahdollista saada toimimaan?
        =SUMMA(SUMMA.JOS.JOUKKO(S:S;R:R;{"Asia1";"Asia2"};T:T;"Toimija1";U:U;"2020"))


      • Anonyymi
        Anonyymi kirjoitti:

        Jeps; Apusarakkeen/-taulun kautta saa ratkaistua ongelman. Tätä tulen käyttämään, mikäli en löydä "kauniimpaa" ratkaisua.

        Onko tietoa siitä onko tämän muotoinen kaava ylipäätöön mahdollista saada toimimaan?
        =SUMMA(SUMMA.JOS.JOUKKO(S:S;R:R;{"Asia1";"Asia2"};T:T;"Toimija1";U:U;"2020"))

        Kaipa sen saa toimimaan, esimerkistäsi saattaa puuttuu jokin/joitakin vertaluoperaattoreita.

        Mielestäni Excelissä oleellista on selkeys/loogisuus, siten että sheetin rakenne on oivallettavissa nopeasti vielä vuosienkin päästä. Se on aina kaikkein kaunein ratkaisu.

        Käytettyjen cellien lukumäärän minimointi vie maratoniformuloihin, joiden tehtävää on vaikea myöhemmin selvittää, ja ne pidentää uudellenlaskenta-aikaa verrattuna siihen että käyttää rivejä/sarakkeita vapautuneesti. Ns apurivit/sarakkeet voi myös piilottaa jos ne häiritsevät.


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

    Luetuimmat keskustelut

    1. SDP haluaa LISÄÄ veroja bensa-autoille!

      Sdp:n vaihtoehtobudjetti esittää polttomoottoriautoille lisää veroja Sdp esittää tuoreessa vaihtoehtobudjetissaan verot
      Maailman menoa
      227
      17985
    2. Riikka se jytkytti BKT:stä nyt 0,3 prosenttia pois

      Ja vain kolmessa kuukaudessa! Vuositasollahan tuo tarkoittaa reilun prosentin pudotusta. Pärjäisi varmaan lasketteluss
      Maailman menoa
      69
      10272
    3. Vasemmistoaate on aatteista jaloin

      Kaikki saavat ja kukaan ei jää ilman. Kuka tuollaista voisi vastustaa?
      Maailman menoa
      310
      6724
    4. Persut: haluamme lisää veroja!

      Lisää lisää veroja huutaa persukuoro. Veroila Suomi nousuun! "Uusi matkailuvero eli matkailijamaksu peritään esimerki
      Maailman menoa
      22
      4509
    5. Mihin kaikkeen sinä ihastuit hänessä

      Mikä oli se asia mikä vei jalat altasi? ❤️ Oliko jotain erityistä tilannetta vai tunne? Kenties monen sattuman summa? Ai
      Ikävä
      48
      3647
    6. Brittiläinen vasemmistolehti: Sanna Marin oli vihdoin rehellinen

      Nyt tulee pahasti lunta tupaan Seiskan tähtitytölle. Ex-pääministerin kirjaa arvostellaan latteuksista ja itsekehusta.
      Maailman menoa
      74
      3204
    7. "Purra löylytti oppositiota", sanoi naistoimittaja Pöllöraadissa

      Kyllä, Purra tekee juuri sitä työtä mitä hänen tuossa asemassa pitää tehdä, hän antaa oppositiolle takaisin samalla mita
      Maailman menoa
      113
      2903
    8. Alexander C. G. riisti demari-Veijolta arvonimen

      "Stubb myönsi 66 arvonimeä ja peruutti yhden arvonimen. Presidentti Tarja Halonen myönsi Baltzarille kulttuurineuvoksen
      Maailman menoa
      89
      2390
    9. MTV: Timo Jutila lataa suoraa tekstiä Pippa Laukan tylystä kritiikistä tosi-tv-kuvausten jälkeen

      Juti sai kuulla kyllä kunniansa Olet mitä syöt -ohjelmassa elintavoistaan! Toki olihan siinä aika paljon rasvaista syötä
      Painonhallinta
      20
      1557
    10. Jos samassa autossa istuu romani, somali ja venäläinen, kuka ajaa?

      Arvioiden mukaan romanit lähtivät noin 1000-luvulla liikkeelle pohjois-Intiasta. Nyt 1000 vuotta myöhemmin he ovat levit
      Maailman menoa
      18
      1386
    Aihe