Viimeisen solun teksti?

Pihtiputaan mummo

Täällä mummon pitäisi tehdä Excel, johon listaisin maksettuja laskuja ja niiden päivämääriä, ja alimmalla (summarivillä) pitäisi olla summien yhteisluku ja VIIMEISIMMÄN laskun päivämäärä. Eli rivejä on vaikkapa kymmenen ja aina maksaessani merkkaan uudelle riville maksetun summan ja sen päivämäärän. Ja sitten alimmalla rivillä pitäisi näkyä, paljonko olen yhteensä maksanut ja milloin viimeksi. Kysymys kuuluukin, minkälaisen kaavan teen tuohon viimeisen päivämäärän soluun. JOs Excelini ymmärtäisi puhetta, sanoisin sille näin:

"Tähän soluun B11: jos ylempi solu on tyhjä, katso sen yläpuolella oleva, jos sekin on tyhjä, katso sen yläpuolella oleva jne. Jos solu ei ole tyhjä, kirjoita tähän sen arvo". Ei varmaan ole vaikeaa mutta kun ei tuo kone ymmärrä ääntä eikä nyrkkiä...

Kiitos etukäteen!

4

627

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • paavali50

      Jos nyt maksettuja A1:B8. Päivämäärä A-sarakkeessa ja eurot B-sarakkeessa.
      Tee soluun A11 kaava
      =SIIRTYMÄ(A11;-3;0)
      ja soluun B11 kaava
      =SUMMA($B$1:B10)

      Nyt lisäät seuraavan laskun riville 9 ja painat Enter, B10 solu aktivoituu: Lisää -> Lisää rivejä. Summa kaavan alue kasvaa ja siirtymä näyttää edelleen kolmea solua ylempänä olevan arvon.

      toinen tapa:
      Jos viimeisin päivämäärä ja summa saa näkyä jossain muuhalla kuin alapuolella voi käyttää
      esimerkiksi.
      soluun F2 kaava
      =HAKU(50000;A1:A2000)
      soluun G2 kaava
      =SUMMA(B4:B2000)

    • tällä nyt vaikka alkuun

      solu A10 teksti päiväys
      solu b 10 teksti summa

      maalaa solut A10 ja B10 ja kaavaruutuun kirjoitat tietokanta ja ENTER. Nyt pitäisi olla nimetty alue tietokanta
      samoin tee esim.

      solu H1 teksti lakun pvm
      solu I1 teksti laskun summa

      maalaa solut H2 ja I2 ja kaavaruutuun kirjoitat syöttöalue ja ENTER. Nyt pitäisi olla nimetty alue syöttöalue.

      Jos ei onnistu noin niin tee lisäämällä nimi valikon kautta

      lisää nappi yläriville (ennen riviä 10) ja liitä siihen makro UusiLasku

      moduuliin...

      Option Explicit
      Sub UusiLasku()
      Dim Rivi As Long
      On Error GoTo virhe
      If Range("Syöttö").Cells(1, 1) = "" Or _
      Not OnkoPäiväys(Range("Syöttö").Cells(1, 1)) Then
      Range("Syöttö").Cells(1, 1).Select
      MsgBox "Anna päiväys! esim 12.2.2006 tai 12/6/2006", vbInformation
      Exit Sub
      End If
      If Range("Syöttö").Cells(1, 2) = "" Or _
      Not IsNumeric(Range("Syöttö").Cells(1, 2)) Then
      Range("Syöttö").Cells(1, 2).Select
      MsgBox "Anna summa!", vbInformation
      Exit Sub
      End If
      With Range("Tietokanta") ' itse määritelty alue
      Rivi = .Rows.Count 1 'lisätään tietokantaan rivi
      Range("Syöttö").Copy Destination:=.Cells(Rivi, 1) ' kopioidaan tiedot
      .Resize(Rivi).Name = "Tietokanta" ' päivitetään tietokanta lisäyksen jälkeen
      End With
      Range("Tietokanta").Offset(Range("Tietokanta").Rows.Count) = ""
      Range("A10").Offset(Range("Tietokanta").Rows.Count 2, 0) = Range("Syöttö").Cells(1, 1)
      Range("B10").Offset(Range("Tietokanta").Rows.Count 2, 0).FormulaLocal = "=SUMMA(B10:B" & Range("Tietokanta").Rows(2).End(xlDown).Row & ")"
      Range("Syöttö") = "" 'tyhjennetään syöttöalue
      virhe:
      End Sub

      Function OnkoPäiväys(Pvm As String) As Boolean
      Dim Päiväys As Date
      On Error GoTo virhe
      Päiväys = DateValue(Range("Syöttö").Cells(1, 1))
      OnkoPäiväys = True
      Exit Function
      virhe:
      OnkoPäiväys = False
      End Function

      nyt laskee automaattisesti summan yhden tyhjän rivin päähän viimeisestä laskusta( koska helpompi käsitellä asioita näin)
      Voit aivan vapaasti poistaa rivejä välistä tai lopusta ja silti ohjelma toimii oikein!
      Arvot syötetään H2 ja I2 ja sen jälkeen klikkaat nappia.
      Lisäsin vielä tarkistukset tyhjille arvoille sekä tarkistukset, että on päiväys sekä luku
      :-)

    • iisipiisi

      Älä säikähdä aikaisempia vastauksia. Ongelmasi on perin yksinkertainen, mutta harjaantumattomat putkiaivot tuottavat joskus sangen monimutkaisia vastauksia peruskäyttäjälle. Sori, pojat, jos ei kuitenkaan peloteta ei-tietohallintoihmisiä pois tietokoneen äärestä, ok? ;)

      Jos tavoitteenasi on vain saada näkyviin viimeisin päivämäärä, syötä siihen kenttään seuraava kaava:

      =MAX(I10:I12)

      Tuohon I10:I12 -kohtaan maalaat alueen, josta uusin päivämäärä pitää etsiä. MAX-funktio etsii suurinta arvoa taulukosta, joten se samalla etsii myös uusimman päivämäärän.

      Suoittelen, että tuon summauskohdan sijoitat taulukon yläosaan, sillä muutoin saat olla siirtelemässä sitä koko ajan sitä mukaa kuin rivien määrä taulukossa kasvaa.

      Summat saat yskinkertaisesti käyttämällä SUM-funktiota (tai SUMMA suomenkielisessä) ja maalaamalla alueen, josta haluat yhteissumman laskea.

      • Pihtiputaan mummo

        Kiits, hyvät vastaajat, ja erityisesti sinulle, iisipiisi - pakko myöntää, että nuo aiemmat vastaukset saivat niin sanoakseni luun kurkkuun :}

        Mistä pääsenkin seuraavaan mummokysymykseen: mikä on VBA? Hyvä kunde, tuhannet kiitokset neuvostasi, olen varma että se on erinomainen, mutta häpeäkseni on todettava että tietotekniikkakykymme taitavat olla aika eri sfääreissä!


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

    Luetuimmat keskustelut

    1. Anteeksi mies

      En vaan osaa kohdata sinua ja olla normaali. En tiedä mikä vaivaa. Samaan aikaan tekee mieli tulla lähelle ja kuitenkin
      Ikävä
      57
      9197
    2. Mietin aina vain

      Minä niin haluaisin nähdä sinut. Ei tuo yhden ainoan kuvan katsominen paljon helpota... Miksi sinä et voisi olla se roh
      Tunteet
      12
      3639
    3. Hetken jo luulin, että en ikävöi sinua koko aikaa

      Mutta nyt on sitten taas ihan hirveä ikävä jotenkin. Tiedätköhän sinä edes, kuinka peruuttamattomasti minä olen sinuun r
      Ikävä
      29
      2947
    4. Kysely lieksan miehille

      Olemme tässä pohtineet tällaista asiaa, että miten on. Tästä nyt on paljon ollut juttua julkisuudessakin aina sanomaleht
      Lieksa
      85
      2258
    5. Palstan henkisesti sairaat ja lihavat

      Täällä on sairaita, työttömiä ihmisiä kirjoittelemassa joilla ei ole tarkoituksena kuin satuttaa ihmisiä. Jos eksyt pals
      Ikävä
      114
      2070
    6. Outoa että Trump ekana sanoutui irti ilmastosopimuksesta

      kun Kaliforniaa riepottelee siitä johtuvat tuhoisat maastopalot. Hirmumyrskytkin ovat USA:ssa olleet tuhoisia.
      Maailman menoa
      367
      1856
    7. Saan kengurakkaan kotiin viikon päästä

      Mitä tapahtui? Martina hehkutti tätä stoorissaan reilu viikko sitten, mutta eipä aussimiestä Suomessa näkynyt, vaan tapa
      Kotimaiset julkkisjuorut
      241
      1482
    8. FinFamin ryhmät

      Älkää hyvät ihmiset luottako tähän tahoon. Ryhmiä on, mutta eivät ne toimi. Ihmisiä savustetaan ulos, vaikka näissä piir
      Salo
      0
      1231
    9. Olen vähän

      Hysteerinen se on totta. Etkai ymmärrä miten syvästi tunnen sinua kohtaan. Ja olet aina lähelläni. Olet osa jo jotain. I
      Ikävä
      10
      1105
    10. Osmo Peltola voitti ansaitusti Kultaisen Venlan - Kirvoitti yleisöltä mahtavan reaktion!

      JEE, onnea Osmo! Osmo Peltola voitti Vuoden esiintyjän Kultainen Venla -palkinnon. Isä-Peltsin ja Osmon luontoseikkailu
      Suomalaiset julkkikset
      72
      1104
    Aihe