Mikä on oikea kaava?

Pähkäillyt

Olen yrittänyt pähkäillä oikeaa kaavaa, mutta nyt nuo kaavat eivät vain tunnu onnistuvan. Voisiko joku nero auttaa.

A1 sarakkeeseen kirjoitetaan luku, ja sen pitäisi tulostua B1 sarakkeeseen. Tämä ei ollut vaikea, mutta kun siihen tuleekin poikkeuksia. Eli jos kirjoitan A1 sarakkeeseen 25, pitäisi, B1 tulostua 25 jne., mutta kun kirjoitan luvun 27, pitäisi nyt B1 sarakkeeseen tulostua 24 tai jos kirjoitan 35, pitäisi luku sarakkeeseen tulostua 30. Eli kaavassa ei ole mitään säännöllisyyttä. Kaikki muut luvut pitäisi tulostua sellaisenaan paitsi nämä muutama poikkeus on. Ja jottei tästä tulisi ihan helppo. Pitäisi vielä tuo B sarake pystyä laskemaan yhteen.

A1 kirjoitettava luku
B1 luku joka siirtyy A1:stä
E1 =27, F1 =24
E2 =35, F2 =30
E3 =66, F3 =60

Onkohan tehtävä mahdoton tai minulle se ainakin on.

Kiitän jo etukäteen, jos joku pystyisi auttamaan minua ongelmassa.

7

429

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • taulukon moduuliin...

      Private Sub Worksheet_Change(ByVal Target As Range)
      If Not Intersect(Target, Range("A1")) Is Nothing Then
      Select Case Target
      Case 27
      Target = 24
      Case 35
      Target = 30
      Case 66
      Target = 60
      'JNE..
      Case Else
      End Select
      End If
      End Sub

      • ap

        Kiitos kun yritit auttaa... Minun on vain todettava, että tunnen itseni entistä tyhmemmäksi.
        Nyt se on sitten jostain yritettävä kalastaa jokin aloittelijan opas tuohon VBA:han, kun sitä en hallitse ja en tiedä yhtään mistä puhutaan. Luultavasti löydän jostain tuolta VBA:sta paikan mihin tuon ohjelmapätkän sitten copy/Paste :) mutta sitä ennen se on minulle utopiaa. Kiitos on kuitenkin paikoillaan, kun viitsit yrittää vääntää minulle rautalankaa.


      • ap.

        Onnistuin selvittämään VBA:n käyttöä ja koodi hässäkkä toimii hyvin, mutta ei ihan niin kuin halusin.

        Eli tuo A1 sarakkeeseen kirjoitettava luku 27 pitäisi näkyä siinä A1 sarakkeessa eli sen pitää jäädä siihen, mutta luvun 24 pitää tulostua B1 sarakkeen jne. Entäs jos haluan saman kaavan seuraavalle riville eli A2 jne.

        Kiitos taas etukäteen.


      • olinpas lukenut huolimattomasti kyssärin...
        kopioi oikealle
        Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Range("A1")) Is Nothing Then
        Select Case Target
        Case 27
        Target.Offset(0, 1) = 24
        Case 35
        Target.Offset(0, 1) = 30
        Case 66
        Target.Offset(0, 1) = 60
        'JNE..
        Case Else
        Target.Offset(0, 1) = Target
        End Select
        End If
        End Sub

        ja alaspäin...

        Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Range("A1")) Is Nothing Then
        Select Case Target
        Case 27
        Target.Offset(1, 0) = 24
        Case 35
        Target.Offset(1, 0) = 30
        Case 66
        Target.Offset(1, 0) = 60
        'JNE..
        Case Else
        Target.Offset(1, 0) = Target
        End Select
        End If
        End Sub


      • Haltioissaan
        kunde kirjoitti:

        olinpas lukenut huolimattomasti kyssärin...
        kopioi oikealle
        Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Range("A1")) Is Nothing Then
        Select Case Target
        Case 27
        Target.Offset(0, 1) = 24
        Case 35
        Target.Offset(0, 1) = 30
        Case 66
        Target.Offset(0, 1) = 60
        'JNE..
        Case Else
        Target.Offset(0, 1) = Target
        End Select
        End If
        End Sub

        ja alaspäin...

        Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Range("A1")) Is Nothing Then
        Select Case Target
        Case 27
        Target.Offset(1, 0) = 24
        Case 35
        Target.Offset(1, 0) = 30
        Case 66
        Target.Offset(1, 0) = 60
        'JNE..
        Case Else
        Target.Offset(1, 0) = Target
        End Select
        End If
        End Sub

        Kiitos ei ole koskaan pahitteeksi joten,
        Tuhannesti kiitoksia avustasi.
        Olet kyllä kultainen kun autat tällaisia tavallisia taatelintallaajia.


    • Solussa B1 kaava
      =OFFSET(G1;A1-1;0 )

      Sarakkeessa G arvot 1, 2, ...maksimi (arvot saa vetämällä) ja rivillä 27 arvo 24 ja rivillä 35 arvo 30, jotka joutuu kirjoittamaan käsin.
      Solun A1 arvo toimii siis hakuindeksinä.

      Toimii, jos luvut ovat kokonaislukuja

      • Dollari jäi pois, jos sitä koko sarakkeelle käyttää, eikä vain ylimmälle riville. Suomeksi Offset on Siirtymä.
        =SIIRTYMÄ (G$1;A1-1;0 )


    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
      133
      2364
    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
      345
      1865
    3. Leipivaaran päällä on kuoleman hiljaista.

      Suru vai suuri helpotus...
      Puolanka
      40
      1537
    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
      1353
    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
      1290
    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
      1183
    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
      897
    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ä
      104
      830
    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
      742
    Aihe