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
auttaisko osaava?
11
125
Vastaukset
- 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 Subkunde 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 SubEI 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
@Kundetuliko 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
- 1763501
Olet kyllä vaarallisen himokas
Luova, kaunis, määrätietoinen, pervo, mielenkiintoinen, kovanaama, naisellinen ja erikoinen.1122259Kun viimeksi kohtasitte/näitte
Mitä olitte tekemässä? Millainen ympäristö oli? Löydetään toisemme...1462257- 992077
- 901734
Anna vielä vähän vihreää valoa
Teen sitten siirtoni, nainen. Tiedän, että olet jo varovaisesti yrittänyt lähestyä, mutta siitä on jo aikaa. Jos tunnet281698- 781222
Miksi homous puhuttaa konservatiiveja vuodesta toiseen?
Kysymykseen on vastattukin Kansanlähetyksen osalta: "Miksi sukupuoleen ja seksuaalisuuteen liittyvät asiat ovat konserv2951187- 2271150
- 74988