Kirjaimet

Hml2

Terve

Onko seuraava mahdollista taulukkolaskennalla:

Ohjelma muuntaa tekstin suoraan numeroiksi,
eli kirjaimilla olisi jokin tietty numeroarvo.
Esim. a=1, B=2 ja sitä rataa.
Kirjoittamalla abba vastaus on 1221

Hml2

19

314

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • fgfddfsgddf

      tissit = 715517

      heh heh... Ja ihan mielenkiinnosta, miksi tällainen muunnos?

      • Hml2

        Terve

        Mutkikas juttu:

        Saan konekielistä aineistoa jossa joka rivillä on tunnistetietoja pitkänä numerosarjana. Eri riveillä on eri asioihin liittyviä asioita ja niissä yksityiskohtaisempaa tietoa.
        Jos minulla on vaikka tuhat riviä tietoa, niin pystyn poimimaan niistä tietyllä tunnisteella oikean rivin ja sieltä tarvittavat tiedot ja tekemään niitten avulla tarvittavia laskutoimituksia. Numerosarjassa on myös kirjaimia joilla yksilöidään tunnistetta entistä tarkemmin, mutta tätä en osaa hyödyntää.
        Siis pystyn poimimaan tietyt oikeat numerot heti vaikka 10 000 rivistä, mutta en yhtään kirjainta. Jos voisin muuntaa kirjaimet numeroiksi, niin näitä voisin sitten taas poimia tunnisteen perusteella ja kääntää taas kirjaimiksi. On varmaan mahdollista poimia kirjaimia suoraan, mutta en ymmärrä miten.


      • Hml2
        Hml2 kirjoitti:

        Terve

        Mutkikas juttu:

        Saan konekielistä aineistoa jossa joka rivillä on tunnistetietoja pitkänä numerosarjana. Eri riveillä on eri asioihin liittyviä asioita ja niissä yksityiskohtaisempaa tietoa.
        Jos minulla on vaikka tuhat riviä tietoa, niin pystyn poimimaan niistä tietyllä tunnisteella oikean rivin ja sieltä tarvittavat tiedot ja tekemään niitten avulla tarvittavia laskutoimituksia. Numerosarjassa on myös kirjaimia joilla yksilöidään tunnistetta entistä tarkemmin, mutta tätä en osaa hyödyntää.
        Siis pystyn poimimaan tietyt oikeat numerot heti vaikka 10 000 rivistä, mutta en yhtään kirjainta. Jos voisin muuntaa kirjaimet numeroiksi, niin näitä voisin sitten taas poimia tunnisteen perusteella ja kääntää taas kirjaimiksi. On varmaan mahdollista poimia kirjaimia suoraan, mutta en ymmärrä miten.

        Vielä tällainen ajatus:
        =SUMIF(G2:G1000;W11;F2:F1000)

        G2:G1000 käy läpi tunnisteita ja W11 on oikea tunniste jonka avulla löytää oikean luvun riviltä F2:F1000

        Miten F2:F1000 voisi toimia kirjaimilla samalla periaatteella.


    • ...oooOOOooo...

      Käviskö tämä sinun tarpeisiin?
      A2 =CODE(A1) antaa vastauksen 65
      B2 =CODE(B1) antaa vastauksen 66

      Eli siitä ABBA sanasta tulisi 65666665.

      • Hml2

        Olisiko mitään näppärää keinoa kääntää tuo luku 65 taas A kirjaimeksi.


    • ...oooOOOooo...

      =UNICHAR(A1)

    • Hml2

      Kiitokset, vielä viimeinen ponnistus.

      Nyt joka kirjain on muunnettu numeroksi ja poimittu ja muunnettu takaisin kirjaimeksi. Kirjaimet ovat nyt jokainen omassa vierekkäisessä sarakkeessaan,
      kuinka saan ne muunnettua samaan sarakkeeseen.

    • ...oooOOOooo...

      Katsoppa tuolta aikaisemmista viesteistä solujen yhdistämisestä.
      Jospa sieltä löytyisi apua.

    • Hml2

      Taisin löytää kiitos.

      =CONCATENATE(A1;B1)

      • Hml2

        Vaikutat oooOOOooo kaverilta joka taitaa tietää kaiken tästä ohjelmasta.
        Olen joskus nähnyt tällä palstalla seuraavan kysymyksen johon ei tainnut tulla selkeää vastausta:
        2 3=5 Miten nauhoitetaan makro tai vastaava siten, että voimme syöttää yhteenlaskutuloksen sen ensimmäiseksi arvoksi. Eli tässä tapauksessa viitonen siirtyy kakkosen paikalle ja tulos on kahdeksan. Kahdeksan siirtyy viitosen paikalle ja tulos on yksitoista jne.


      • No_oooOOOooo
        Hml2 kirjoitti:

        Vaikutat oooOOOooo kaverilta joka taitaa tietää kaiken tästä ohjelmasta.
        Olen joskus nähnyt tällä palstalla seuraavan kysymyksen johon ei tainnut tulla selkeää vastausta:
        2 3=5 Miten nauhoitetaan makro tai vastaava siten, että voimme syöttää yhteenlaskutuloksen sen ensimmäiseksi arvoksi. Eli tässä tapauksessa viitonen siirtyy kakkosen paikalle ja tulos on kahdeksan. Kahdeksan siirtyy viitosen paikalle ja tulos on yksitoista jne.

        alkuarvot: A1=numero1 ja B1=numero2

        sub summaus
        dim numero1,numero2,numero3,i,loopcount
        dim osheet

        osheet=thiscomponent.sheets(0)

        loopcount=10
        for i=0 to loopcount
        numero1=osheet.getcellbyposition(0,i).value
        numero2=osheet.getcellbyposition(1,0).value
        numero3=numero1 numero2
        osheet.getcellbyposition(0,i 1).value=numero3
        osheet.getcellbyposition(2,i).value=numero3
        osheet.getcellbyposition(1,i).value=numero2
        numero1=numero3 numero2
        next i
        end sub

        Tiedä sitten mitä järkeä tässä on tai mihin tarkoitukseen tätä tarvii... Ja tiedä sitten tajusinko kysymyksen oikein... Äh, mä alan kattoon fudista...


      • No_oooOOOooo
        No_oooOOOooo kirjoitti:

        alkuarvot: A1=numero1 ja B1=numero2

        sub summaus
        dim numero1,numero2,numero3,i,loopcount
        dim osheet

        osheet=thiscomponent.sheets(0)

        loopcount=10
        for i=0 to loopcount
        numero1=osheet.getcellbyposition(0,i).value
        numero2=osheet.getcellbyposition(1,0).value
        numero3=numero1 numero2
        osheet.getcellbyposition(0,i 1).value=numero3
        osheet.getcellbyposition(2,i).value=numero3
        osheet.getcellbyposition(1,i).value=numero2
        numero1=numero3 numero2
        next i
        end sub

        Tiedä sitten mitä järkeä tässä on tai mihin tarkoitukseen tätä tarvii... Ja tiedä sitten tajusinko kysymyksen oikein... Äh, mä alan kattoon fudista...

        Futis loppui ja QPR olisi ansainnut voiton. Vähän siivosin tuota ylläolevaa sepostusta tässä ennen nukkumattia...

        alkuarvot: A1=numero1 ja B1=numero2

        sub summaus
        dim numero1,numero2,numero3,i,loopcount
        dim osheet

        osheet=thiscomponent.sheets(0)
        numero2=osheet.getcellbyposition(1,0).value
        loopcount=10
        for i=0 to loopcount
        numero1=osheet.getcellbyposition(0,i).value
        numero3=numero1 numero2
        osheet.getcellbyposition(0,i 1).value=numero3
        osheet.getcellbyposition(2,i).value=numero3
        osheet.getcellbyposition(1,i).value=numero2
        next i
        end sub


      • muuan mies

        Ja tekstit voi suoraan yhdistää &-merkillä: =A1&B1


    • Hml2

      Kiitos vastauksestasi. Täytyy hieman opiskella kuinka saan tuon tehtyä, koska en ole ennen ohjelmoinnut makroilla yhtään mitään.

      • Hml2

        Terve

        Harjoittelin nyt hieman yksinkertaisemmalla tehtävällä jotta pääsisin asiaan käsiksi.
        Löysin tältä palstalta seuraavan kaavan joka kirjoittajan mukaan pitäisi toimia.

        Sub Makro1()
        [B1] = [B1] [A1]
        End Sub

        Sinun esimerkkisi toimii, mutta tämä tässä ei toimi ainakaan minulla.
        En tiedä sitten vaatisiko se painonapin toimiakseen?


      • No_oooOOOooo
        Hml2 kirjoitti:

        Terve

        Harjoittelin nyt hieman yksinkertaisemmalla tehtävällä jotta pääsisin asiaan käsiksi.
        Löysin tältä palstalta seuraavan kaavan joka kirjoittajan mukaan pitäisi toimia.

        Sub Makro1()
        [B1] = [B1] [A1]
        End Sub

        Sinun esimerkkisi toimii, mutta tämä tässä ei toimi ainakaan minulla.
        En tiedä sitten vaatisiko se painonapin toimiakseen?

        http://markalexanderbain.suite101.com/openoffice-macros-accessing-calc-cells-a64264

        Tuossa on sivu jossa engelskaksi selitetään miten makrossa päästään käsiksi solujen sisältöihin.

        Jos sun tarkoitus on kirjoittaa makro joka kirjoitetaan soluun, niin:

        function makro1(value1,value2)
        makro1=value1 value2
        end function

        Nyt kirjoitetaan esim. soluun C1 makron kutsu: =makro1(A1;B1)

        Jos taasen haluat tehdän makron jota ei kirjoiteta soluihin ja jota kutsutaan tools->macros->run macro valikosta niin toi menis näin:

        sub makro1
        dim osheet
        osheet=thiscomponent.sheets(0)
        osheet.getcellbyposition(2,0).value=osheet.getcellbyposition(0,0).value osheet.getcellbyposition(1,0).value
        end sub

        tässä osheet viittaa aktiiviseen dokumenttiin ja ja getcellbyposition(x,x) viittaa soluun.


      • Hml2
        No_oooOOOooo kirjoitti:

        http://markalexanderbain.suite101.com/openoffice-macros-accessing-calc-cells-a64264

        Tuossa on sivu jossa engelskaksi selitetään miten makrossa päästään käsiksi solujen sisältöihin.

        Jos sun tarkoitus on kirjoittaa makro joka kirjoitetaan soluun, niin:

        function makro1(value1,value2)
        makro1=value1 value2
        end function

        Nyt kirjoitetaan esim. soluun C1 makron kutsu: =makro1(A1;B1)

        Jos taasen haluat tehdän makron jota ei kirjoiteta soluihin ja jota kutsutaan tools->macros->run macro valikosta niin toi menis näin:

        sub makro1
        dim osheet
        osheet=thiscomponent.sheets(0)
        osheet.getcellbyposition(2,0).value=osheet.getcellbyposition(0,0).value osheet.getcellbyposition(1,0).value
        end sub

        tässä osheet viittaa aktiiviseen dokumenttiin ja ja getcellbyposition(x,x) viittaa soluun.

        Terve

        Nyt alkaa olemaan kaikki ongelmat ratkaistu, mutta yksi ongelma nousi esiin.

        sub makro1
        dim osheet
        osheet=thiscomponent.sheets(0)
        osheet.getcellbyposition(2,0).value=osheet.getcellbyposition(0,0).value osheet.getcellbyposition(1,0).value
        end sub

        Lisäsin ohjelmaasi rivin
        osheet.getcellbyposition(2,0).value=osheet.getcellbyposition(0,0).value osheet.getcellbyposition(1,0).value
        edellisen alle uusilla arvoilla.

        Tietyissä tilanteissa tämä toinen rivi laskee lukemia väärin, siis aina alempi.
        Kysymykseni kuuluu siis, voiko näitä rivejä noin vain lisätä alekkain, vai pitäisikö siinä ottaa jotain huomioon.

        Kiitos


      • Hml2
        Hml2 kirjoitti:

        Terve

        Nyt alkaa olemaan kaikki ongelmat ratkaistu, mutta yksi ongelma nousi esiin.

        sub makro1
        dim osheet
        osheet=thiscomponent.sheets(0)
        osheet.getcellbyposition(2,0).value=osheet.getcellbyposition(0,0).value osheet.getcellbyposition(1,0).value
        end sub

        Lisäsin ohjelmaasi rivin
        osheet.getcellbyposition(2,0).value=osheet.getcellbyposition(0,0).value osheet.getcellbyposition(1,0).value
        edellisen alle uusilla arvoilla.

        Tietyissä tilanteissa tämä toinen rivi laskee lukemia väärin, siis aina alempi.
        Kysymykseni kuuluu siis, voiko näitä rivejä noin vain lisätä alekkain, vai pitäisikö siinä ottaa jotain huomioon.

        Kiitos

        Sain vian korjattua ja urakka alkaa olla päätöksessään.
        Kiitokset nimimerkille oooOOOooo ilman sinua en olisi keksinyt kuinka päästä eteenpäin.

        KIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIITOS !!!!!


    • ...oooOOOooo...

      Hyvä että joku on saanut apuja neuvoistani.
      En minä pajoo tiedä tuosta, ehkä vähän enemmän kuin perus käyttäjä.
      On tullut opeteltua openofficella kun en ole halunnut tuhlata rahojani microsoftin vastaaviin ohjelmiin.
      Ja itse ainakin olen sitä mieltä että normaali perus käyttäjän EI kannata tuhlata aikaa/rahaa kalliiseen MS officeen.
      Kun tälläkin tekee kaikki perus jutut täysin.
      Makrojen tekeminen on vielä kyllä vähän hakusessa mutta kyllä silläkin jotain saa aikaiseksi.
      Tämä toinen OO taitaa osata neuvoa makroissa paremmin (ja luultavasti kaavoissakin).
      Töissä tulee joskus käytettyä Exceliä pakon edessä.
      Mutta kaikki jotka tulee omaan käyttöön töissä, teen OO:lla.
      Toivottavasti saatas OO käyttäjä kuntaa vähän suurennettua kun aina silloin tällöin neuvoo toisia ongelmien kanssa.

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

    Luetuimmat keskustelut

    1. Sannalla tänään vuorossa The Daily Show

      Eli nyt mennään jo satiirin puolelle. Tuohan on vähän kuten Lindströmin ohjelma Suomessa.
      Maailman menoa
      137
      8328
    2. Tanskassa lain vaatimana Bovaer tappanut nautoja ja sairastuttanut

      Samaa myrkkyä myös Suomen lehmiin ollut tuloillaan, miten teidän tilalla? https://www.agriland.ie/farming-news/bovaer-m
      Maailman menoa
      104
      7529
    3. Täysi ryöpytys Sanna Marinille ulkomailla.

      https://www.iltalehti.fi/ulkomaat/a/f699d84f-fa53-4dba-8718-2c395017fc55 Sanna Marinin kirja saa todella tylyn vastaanot
      Maailman menoa
      92
      5706
    4. Ruotsalaisuuden Päivän virallinen liputuspäivä poistettava VÄLITTÖMÄSTI!

      Suomen valtion ja suomalaisuuden kannalta ei ole minkäänlaisia perusteita liputtaa virallisesti ruotsalaisuuden päivää,
      Maailman menoa
      97
      5656
    5. Minja Koskelan "istumista" kertovassa uutisessa ei sanottu persuista mitään

      eli jälleen kerran äärivasemmistolainen valehtelee, hän kun väittää että juuri persut ovat lähetelleet Koskelalle vähemm
      Maailman menoa
      119
      4830
    6. Pekka Visuri: "Suomen on aika irrottautua Ukrainan sodasta"

      Slava Ukraina-mölinät eivät enää auta. Ukraina on sotansa hävinnyt. Nyt tarvitaan poliittista selvänäköisyyttä, reaalipo
      Maailman menoa
      145
      2658
    7. Mikaela Nylander: Jos pakkoruotsi poistetaan, niin ruotsin kielen asema romahtaa

      (Nylander on vanha RKP:nen) Mutta niin heikossa vedossa muumiruotsi siis on Suomessa, että vain tekohengityksellä se pys
      Maailman menoa
      61
      2513
    8. Ei välimatka meitä erottanut

      Vaan välirikko ja väärinymmärrykset. Oikeastaan henkinen välimatka on meidän välillä pieni, näin uskon. Näen koko ajan e
      Ikävä
      8
      1485
    9. Maajussi-Villen morsioehdokas Maarit ei halunnut Villeä - Tämä totuus valkeni kuvauksissa!

      Ohhoh, tekikö Maarit mielestäsi oikean ratkaisun Villen suhteen? Maajussi-Ville on herättänyt voimakkaita tunteita puol
      Maajussille morsian
      7
      1454
    10. Kohta taas mesikämmeneen

      Onneksi kaupunki ostaa mesikämmenen, niin päästään taas tekemään rahaa
      Ähtäri
      53
      1349
    Aihe