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

114

    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. Useita puukotettu Tampereella

      Mikäs homma tämä nyt taas on? "Useaa henkilöä on puukotettu Tampereen keskustassa kauppakeskus Ratinan lähistöllä." ht
      Tampere
      137
      2495
    2. Asiakas iski kaupassa varastelua tehneen kanveesiin.

      https://www.iltalehti.fi/kotimaa/a/33a85463-e4d5-45ed-8014-db51fe8079ec Oikein. Näin sitä pitää. Kyllä kaupoissa valtava
      Maailman menoa
      359
      1938
    3. Leipivaaran päällä on kuoleman hiljaista.

      Suru vai suuri helpotus...
      Puolanka
      40
      1597
    4. Kuka rääkkää eläimiä Puolangalla?

      Poliisi ampui toistakymmentä nälkiintynyttä eläintä Puolangalla Tilalta oli ollut karkuteillä lähes viisikymmentä nälkii
      Puolanka
      31
      1423
    5. Meneeköhän sulla

      oikeasti pinnan alla yhtä huonosti kuin mulla? Tai yhtä huonosti mutta jollain eri tyylillä? Ei olisi pitänyt jättää sua
      Ikävä
      28
      1330
    6. Jos ei tiedä mitä toisesta haluaa

      Älä missään nimessä anna mitään merkkejä kiinnostuksesta. Ole haluamatta mitään. Täytyy ajatella toistakin. Ei kukaan em
      Ikävä
      94
      1193
    7. Määpä tiijän että rakastat

      Minua nimittäin. Samoin hei! Olet mun vastakappaleeni.
      Ikävä
      54
      1153
    8. Muutama kysymys ja huomio hindulaisesta kulttuurista.

      Vedakirjoituksia pidetään historiallisina teksteinä, ei siis "julistuksena" kuten esimerkiksi Raamattua, vaan kuten koul
      Hindulaisuus
      327
      917
    9. Jumala puhui minulle

      Hän kertoi sinusta asioita, joiden takia jaksan, uskon ja luotan. Hän kuvaili sinua minulle ja pakahduin onnesta kuulles
      Ikävä
      107
      889
    10. Annan meille mahdollisuuden

      Olen avoimin mielin ja katson miten asiat etenevät. Mutta tällä kertaa sun on tehtävä eka siirto.Sen jälkeen olen täysil
      Ikävä
      53
      762
    Aihe