auttaisko osaava?

leena s

esim.
A1 arvo on aina 4, eli jos merkintä 1=4, 2=8 jne...

A1 B1 apukenttä

1 5,73 1,73 (B1 arvon ollessa suurempi A1, pitäis saada summa C1)
4 14,81 16,00 (B1 arvon jäädessä pienemmäksi kuin A1 älä tee mitään)
2 8,14 0,14
1 11,44 7,44

jne.. kaikki tämä kaava pitäis saada tungettua soluun C1
laskettuna tästä pitäis saada tulos 9,31

11

151

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • vähänulalla

      C1=JOS((A1*4)>B1;"";B1-(A1*4)) - kopioi kaava alaspäin
      Nyt C-solut jäävät tyhjiksi jos B < A*4
      Onko siis tarkoitus että tuo SUMMA (9,31) näkyy solussa C1 ?
      Ja vielä että pitääkö tuo 2 rivin vastaus 16,00 näkyä vaikkei sitä lasketakkaan mukaan, nyt se ei jää näkyviin?

      • laskee nyt kumulatiivisesti A ja B saraketta (molemmissa pitää olla luku, jotta arvo muuttuu soluun C1)
        kun ei tarkempaa tietoa miten käytät niin olkoon...
        nyt jos poistat arvot B sarakkeesta jättää C1 summan muistiin...
        ja
        jos poistat arvoja A sarakkeesta huomioi muutoksen


        Private Sub Worksheet_Change(ByVal Target As Range)
        Dim vika As Long
        On Error Resume Next
        Application.EnableEvents = False
        'A- sarakkeen muutokset
        If Not Intersect(Target, Range("A:A")) Is Nothing Then
        'A JA B ei saa olla tyhjiä
        If Not Target = "" And Not Target.Offset(0, 1) = "" Then
        ' B suurempi kuin 4*A silloin A.ID(summa-arvo) ja C soluun B-4*A
        If Target.Offset(0, 1) > Target * 4 Then
        Target.Offset(0, 2) = Target.Offset(0, 1) - Target * 4
        Target.ID = Target.Offset(0, 1) - Target * 4
        Else
        '4*A suurempi kuin B silloin A.ID =0 (summa-arvo)ja C soluun A*4
        If Target * 4 > Target.Offset(0, 1) Then
        Target.Offset(0, 2) = Target * 4
        Target.ID = 0
        End If
        End If
        End If

        End If
        'B- sarakkeen muutokset
        If Not Intersect(Target, Range("B:B")) Is Nothing Then
        'A JA B ei saa olla tyhjiä
        If Not Target = "" And Not Target.Offset(0, -1) = "" Then
        ' B suurempi kuin 4*A silloin A.ID (summa-arvo)ja C soluun = B-4*A
        If Target > Target.Offset(0, -1) * 4 Then
        Target.Offset(0, 1) = Target - Target.Offset(0, -1) * 4
        Target.Offset(0, -1).ID = Target - Target.Offset(0, -1) * 4
        Else
        '4*A suurempi kuin B silloin A.ID =0 (summa-arvo)ja C soluun A*4
        If Target.Offset(0, -1) * 4 > Target Then
        Target.Offset(0, 1) = Target.Offset(0, -1) * 4
        Target.Offset(0, -1).ID = 0
        End If
        End If
        End If

        End If
        vika = Range("A65536").End(xlUp).Row
        For Each solu In Range("A1:A" & vika)
        summa = summa CDbl(solu.ID)
        Range("C1") = summa
        Next
        Application.EnableEvents = True
        End Sub

        Keep EXCELing
        @Kunde


      • leena s

        vähänulalla; iso kiitos!
        juuri noin ajattelin, btw, miten tuota pitäis säätää jos soluissa A1/B1 ei ole arvoa niin se ei laskisi nollia kaavariville?


      • leena s
        leena s kirjoitti:

        vähänulalla; iso kiitos!
        juuri noin ajattelin, btw, miten tuota pitäis säätää jos soluissa A1/B1 ei ole arvoa niin se ei laskisi nollia kaavariville?

        C1=JOS((A1*4)>B1;"";B1-(A1*4)) - kopioi kaava alaspäin -KIITOS
        Nyt C-solut jäävät tyhjiksi jos B < A*4 -KIITOS
        Onko siis tarkoitus että tuo SUMMA (9,31) näkyy solussa C1 ? -KYLLÄ
        Ja vielä että pitääkö tuo 2 rivin vastaus 16,00 näkyä vaikkei sitä lasketakkaan mukaan, nyt se ei jää näkyviin? -EI TARVITSE

        ja vielä tuo lisäkysymys: miten tuota pitäis säätää jos soluissa A1/B1 ei ole arvoa niin se ei laskisi nollia kaavariville?


      • leena s kirjoitti:

        C1=JOS((A1*4)>B1;"";B1-(A1*4)) - kopioi kaava alaspäin -KIITOS
        Nyt C-solut jäävät tyhjiksi jos B < A*4 -KIITOS
        Onko siis tarkoitus että tuo SUMMA (9,31) näkyy solussa C1 ? -KYLLÄ
        Ja vielä että pitääkö tuo 2 rivin vastaus 16,00 näkyä vaikkei sitä lasketakkaan mukaan, nyt se ei jää näkyviin? -EI TARVITSE

        ja vielä tuo lisäkysymys: miten tuota pitäis säätää jos soluissa A1/B1 ei ole arvoa niin se ei laskisi nollia kaavariville?

        EI ONNISTU MITENKÄÄN ILMAN KOODAUSTA...

        et näköjään testannut koodiani...
        ja jos lukua 16 esimerkissäsi eI tartte näyttää niin koodi on silloin

        Private Sub Worksheet_Change(ByVal Target As Range)
        Dim vika As Long
        On Error Resume Next
        Application.EnableEvents = False
        'A- sarakkeen muutokset
        If Not Intersect(Target, Range("A:A")) Is Nothing Then
        'A JA B ei saa olla tyhjiä
        If Not Target = "" And Not Target.Offset(0, 1) = "" Then
        ' B suurempi kuin 4*A silloin A.ID(summa-arvo) ja C soluun B-4*A
        If Target.Offset(0, 1) > Target * 4 Then
        Target.Offset(0, 2) = Target.Offset(0, 1) - Target * 4
        Target.ID = Target.Offset(0, 1) - Target * 4
        Else
        '4*A suurempi kuin B silloin A.ID =0 (summa-arvo)ja C soluun A*4
        If Target * 4 > Target.Offset(0, 1) Then
        Target.Offset(0, 2) = ""
        Target.ID = 0
        End If
        End If

        End If
        If Target = "" Or Target.Offset(0, 1) = "" Then
        Target.Offset(0, 2) = ""
        End If
        End If

        'B- sarakkeen muutokset
        If Not Intersect(Target, Range("B:B")) Is Nothing Then
        'A JA B ei saa olla tyhjiä
        If Not Target = "" And Not Target.Offset(0, -1) = "" Then
        ' B suurempi kuin 4*A silloin A.ID (summa-arvo)ja C soluun = B-4*A
        If Target > Target.Offset(0, -1) * 4 Then
        Target.Offset(0, 1) = Target - Target.Offset(0, -1) * 4
        Target.Offset(0, -1).ID = Target - Target.Offset(0, -1) * 4
        Else
        '4*A suurempi kuin B silloin A.ID =0 (summa-arvo)ja C soluun A*4
        If Target.Offset(0, -1) * 4 > Target Then
        Target.Offset(0, 1) = ""
        Target.Offset(0, -1).ID = 0
        End If
        End If
        End If
        If Target = "" Or Target.Offset(0, -1) = "" Then Target.Offset(0, 1) = ""
        End If

        vika = Range("A65536").End(xlUp).Row
        For Each solu In Range("A1:A" & vika)
        summa = summa CDbl(solu.ID)
        Range("C1") = summa
        Next
        Application.EnableEvents = True
        End Sub
        Sub Reset()
        Application.EnableEvents = True
        End Sub


      • kunde kirjoitti:

        EI ONNISTU MITENKÄÄN ILMAN KOODAUSTA...

        et näköjään testannut koodiani...
        ja jos lukua 16 esimerkissäsi eI tartte näyttää niin koodi on silloin

        Private Sub Worksheet_Change(ByVal Target As Range)
        Dim vika As Long
        On Error Resume Next
        Application.EnableEvents = False
        'A- sarakkeen muutokset
        If Not Intersect(Target, Range("A:A")) Is Nothing Then
        'A JA B ei saa olla tyhjiä
        If Not Target = "" And Not Target.Offset(0, 1) = "" Then
        ' B suurempi kuin 4*A silloin A.ID(summa-arvo) ja C soluun B-4*A
        If Target.Offset(0, 1) > Target * 4 Then
        Target.Offset(0, 2) = Target.Offset(0, 1) - Target * 4
        Target.ID = Target.Offset(0, 1) - Target * 4
        Else
        '4*A suurempi kuin B silloin A.ID =0 (summa-arvo)ja C soluun A*4
        If Target * 4 > Target.Offset(0, 1) Then
        Target.Offset(0, 2) = ""
        Target.ID = 0
        End If
        End If

        End If
        If Target = "" Or Target.Offset(0, 1) = "" Then
        Target.Offset(0, 2) = ""
        End If
        End If

        'B- sarakkeen muutokset
        If Not Intersect(Target, Range("B:B")) Is Nothing Then
        'A JA B ei saa olla tyhjiä
        If Not Target = "" And Not Target.Offset(0, -1) = "" Then
        ' B suurempi kuin 4*A silloin A.ID (summa-arvo)ja C soluun = B-4*A
        If Target > Target.Offset(0, -1) * 4 Then
        Target.Offset(0, 1) = Target - Target.Offset(0, -1) * 4
        Target.Offset(0, -1).ID = Target - Target.Offset(0, -1) * 4
        Else
        '4*A suurempi kuin B silloin A.ID =0 (summa-arvo)ja C soluun A*4
        If Target.Offset(0, -1) * 4 > Target Then
        Target.Offset(0, 1) = ""
        Target.Offset(0, -1).ID = 0
        End If
        End If
        End If
        If Target = "" Or Target.Offset(0, -1) = "" Then Target.Offset(0, 1) = ""
        End If

        vika = Range("A65536").End(xlUp).Row
        For Each solu In Range("A1:A" & vika)
        summa = summa CDbl(solu.ID)
        Range("C1") = summa
        Next
        Application.EnableEvents = True
        End Sub
        Sub Reset()
        Application.EnableEvents = True
        End Sub

        EI ONNISTU MITENKÄÄN ILMAN KOODAUSTA..
        perun puheeni, kyllä toi summa ilman koodiakin onnistuu...


      • kärrylläjo
        leena s kirjoitti:

        C1=JOS((A1*4)>B1;"";B1-(A1*4)) - kopioi kaava alaspäin -KIITOS
        Nyt C-solut jäävät tyhjiksi jos B < A*4 -KIITOS
        Onko siis tarkoitus että tuo SUMMA (9,31) näkyy solussa C1 ? -KYLLÄ
        Ja vielä että pitääkö tuo 2 rivin vastaus 16,00 näkyä vaikkei sitä lasketakkaan mukaan, nyt se ei jää näkyviin? -EI TARVITSE

        ja vielä tuo lisäkysymys: miten tuota pitäis säätää jos soluissa A1/B1 ei ole arvoa niin se ei laskisi nollia kaavariville?

        Eikö helpoin tapa olisi muuttaa asetuksia.
        Työkalut > Asetukset > Näkymä-välilehdellä poista ruksi kohdasta "Nolla-arvot"
        Ja jos nollat pitää näkyä kuitenkin jossakin muualla taulukossa, niin voit aina muotoilla C-sarakkeen tarvittavat solut Ehdollisella muotoilulla
        Valitse solut joihin voi tulla se 0-arvo ja:
        Muotoile > Ehdollinen muotoilu --> Ikkunassa valitse "Solun arvo" - "on yhtäsuuri kuin" - "0"
        Muotoile-napista valitse fontin väriksi valkoinen (tai mikä sinulla nyt onkaan solun pohjaväri) ja OK


      • leena s
        kunde kirjoitti:

        EI ONNISTU MITENKÄÄN ILMAN KOODAUSTA..
        perun puheeni, kyllä toi summa ilman koodiakin onnistuu...

        "EI ONNISTU MITENKÄÄN ILMAN KOODAUSTA..
        perun puheeni, kyllä toi summa ilman koodiakin onnistuu... "

        Osaatko neuvoa miten... ilman asetuksia muuttamalla?


      • leena s kirjoitti:

        "EI ONNISTU MITENKÄÄN ILMAN KOODAUSTA..
        perun puheeni, kyllä toi summa ilman koodiakin onnistuu... "

        Osaatko neuvoa miten... ilman asetuksia muuttamalla?

        C1==JOS((A1*4)>B1;"";B1-(A1*4)) SUMMA(C2:EPÄSUORA("C"& LASKE.A(C:C)))
        C2=JOS(TAI(A2="";B2="");"";JOS((A2*4)>B2;"";B2-(A2*4))) ja kopiot alaspäin...

        Keep EXCELing
        @Kunde


      • leena s
        kunde kirjoitti:

        C1==JOS((A1*4)>B1;"";B1-(A1*4)) SUMMA(C2:EPÄSUORA("C"& LASKE.A(C:C)))
        C2=JOS(TAI(A2="";B2="");"";JOS((A2*4)>B2;"";B2-(A2*4))) ja kopiot alaspäin...

        Keep EXCELing
        @Kunde

        tuliko tässä kokonaan yksi uusi solu vai miks tämä kaava ei aukea, ei sitten yhtään?


      • leena s kirjoitti:

        tuliko tässä kokonaan yksi uusi solu vai miks tämä kaava ei aukea, ei sitten yhtään?

        ???
        soluun C1 KAAVA
        =JOS((A1*4)>B1;0;B1-(A1*4)) SUMMA(C2:EPÄSUORA("C"& LASKE.A(C:C)))

        ja soluun C2 kaava =
        JOS(TAI(A2="";B2="");"";JOS((A2*4)>B2;"";B2-(A2*4)))

        ja kopiot solusta C2 alaspäin kaavan vetämällä ...

        takuulla toimii just niinkuin pitää...

        keep EXCELing
        @Kunde


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

    Luetuimmat keskustelut

    1. Persujen vaalilupaus oli euron bensa

      Nyt puhutaan jo kolmen euron bensasta. Kyseessä on Suomen historian törkein vaalipetos.
      Maailman menoa
      92
      2127
    2. Vain vasemmistohallitus saa minut menemään töihin

      Änkyräkapitalistien sortaessa kansaa en laita rikkaakaan ristiin. Elän mielummin Kelan tuilla, ja jos niitä leikataan, n
      Maailman menoa
      33
      2070
    3. Maataloustuet perittävä korkojen kera takaisin

      Yrittäjiltä jotka ovat myyneet tuotantoaan ulkomaille. Veronmaksajan kustantama tuki on tarkoitettu elintarvikkeiden hi
      Maataloustuki
      50
      1835
    4. Topi osti Askon

      Hieno mies. Pelastaa työpaikkoja. Kiitokset myös emännälleen, joka pitää isännän virkeänä. https://www.is.fi/taloussan
      Maailman menoa
      75
      1360
    5. Mitä kirjainta kaipaat?

      Pitkästä aikaa tämmöistä. Onko kirjain muuttunut edellisestä. ☺️
      Ikävä
      86
      1251
    6. Kastaa ja upottaa on eri sanat

      Kastaa ja upottaa on eri sanat ja niillä on eri merkitys. Eikä Jeesusta haudattu upottamalla maahan kaivettuun kuoppaan
      Kaste
      219
      1141
    7. Uskomatonta touhua!

      Ei olis uskonut että kateus yrittäjää kohtaan menee noin pitkälle. TTP:ssa irrotettu sähköjohto jäätelöaltaasta. Kaikki
      Haapavesi
      31
      1060
    8. Oliko se oikeasti epäselvää

      sinulle että olin ihastunut sinuun? (Ymmärrän että siitä on aikaa, eikä voi olettaa että kaikkea muistaisi tai että men
      Ikävä
      56
      1003
    9. Miten hän sinua katsoi?

      😊😊😊😊😊😊
      Ikävä
      67
      936
    10. Miksi eduskuntatalon portaille sytyttään tänään 8 645 kynttilää?

      Oikeus elämään ry järjestää lauantaina 21.3.2026 tapahtuman, jossa Eduskuntatalon portaille sytytetään 8 645 kynttilää.
      Luterilaisuus
      282
      895
    Aihe