Sarakkeesta sukunimen alkukirjain funktiolla erilleen, etunimien määrä vaihtelee

Anonyymi

Solussa / sarakkeessa on: (kaikki nimet on keksittyjä tässä)
Ville Veikko Oskari Salminen
Kari Hakkarainen
Pertti Pekka Veikko Matalamäki

Etunimien määrä voi siis vaihdella, pitäisi funktiolla erottaa sukunimen eka kirjain

Tavoite olisi vastauksena:
Ville S
Kari H
Pertti M

Olen joskus osannut solun sisällä etsiä monella välilyönnillä, nyt ei onnistu. Kyseessä funktioiden oikea ja pituus ja etsi yms yhdistelmää, mutta miten?

43

54

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      En jaksanut alkaa keksimään pyörää uudelleen, joten katsoin googlesta. Ao. funktiohässäkkä palauttaa A1-solun viimeisen sanan. Saat varmaan siihen lisäämällä ympättyä loput itsekin.

      =RIGHT(A1;LEN(A1)-FIND("*";SUBSTITUTE(A1;" ";"*";LEN(A1)-LEN(SUBSTITUTE(A1;" ";"")))))

    • Anonyymi

      Jos olisi kyseessä suomenkielinen LibreOffice Call, niin näin tuon saisi tehtyä:

      =KETJUTA(VASEN(A1;ETSI(" ";A1));" ";VASEN(OIKEA(A1;PITUUS(A1)-ETSI("*";VAIHDA(A1;" ";"*";PITUUS(A1)-PITUUS(VAIHDA(A1;" ";"")))));1))

      • Anonyymi

        Suomi-mallin Libre Calcissa voi vaihtaa funktiot englanninkielisiksi.

        Työkalut->Asetukset (Alt F12)
        LibreOffice Calc->Kaava
        ja täppä kohtaan "Käytä englanninkielisiä funktionimiä".


      • Anonyymi
        Anonyymi kirjoitti:

        Suomi-mallin Libre Calcissa voi vaihtaa funktiot englanninkielisiksi.

        Työkalut->Asetukset (Alt F12)
        LibreOffice Calc->Kaava
        ja täppä kohtaan "Käytä englanninkielisiä funktionimiä".

        En tuota tiennytkään, epäilen vielä, koska järjestelmäni on puhdistuttu kaikista muista kielistä, saattaahan se ladata sen englannin tuota vaihtoa tehdessä. En vain ala testaamaan, roskaksi vain jää levylle.


      • Anonyymi
        Anonyymi kirjoitti:

        En tuota tiennytkään, epäilen vielä, koska järjestelmäni on puhdistuttu kaikista muista kielistä, saattaahan se ladata sen englannin tuota vaihtoa tehdessä. En vain ala testaamaan, roskaksi vain jää levylle.

        Alkuperäiset englanninkieliset funktiot on kovakoodattu. Jos haluat minimoida roskat, niin poistat suomen kielen koneelta. Englanti on atk-maailman oletuskieli.


      • Anonyymi
        Anonyymi kirjoitti:

        Alkuperäiset englanninkieliset funktiot on kovakoodattu. Jos haluat minimoida roskat, niin poistat suomen kielen koneelta. Englanti on atk-maailman oletuskieli.

        En halua minimoida roskia noin kovasti.


      • Anonyymi

        Kokeilin tätä, ihan vaan kopioin sen tilanteeseen.
        TOIMII.
        Suuri kiitos 👌

        (kannattaisi vielä yrittää perehtyäkin tuohon.....)
        En muuten tiennyt, että Libre laskennassa on samat funktiot kuin Excelissä.


      • Anonyymi

        "Jos olisi kyseessä suomenkielinen LibreOffice Call, niin näin tuon saisi tehtyä:"
        Tuo siis toimi täysin, joten KIITOS
        Aiempi kiitos hukkui kommenttien joukkoon


    • Anonyymi

      For(a<end);
      set [current x = a x)
      if (x = null) set y(x) = 1

      For(end-z =/= y(x));
      then set z=z-1
      else i=z;

      i 1= sukunimen alkukirjain
      print (nimet from 1-to i) (i 1);

      • Anonyymi

        Ainiin en huomannut että toisia nimiä ei kirjoiteta. Tuohon pitää tehdä siis:

        For(a<end);
        set [current x = a x)
        if (x = null) set y(x) = 1

        For(end-z =/= y(x=1));
        then set z=z-1
        else i=z;

        set z = 0

        For(z =/= y(x=1));
        then set z=z 1
        else i2=z;

        i 1= sukunimen alkukirjain
        print (nimet from 1-to i2) (i 1);


      • Anonyymi
        Anonyymi kirjoitti:

        Ainiin en huomannut että toisia nimiä ei kirjoiteta. Tuohon pitää tehdä siis:

        For(a<end);
        set [current x = a x)
        if (x = null) set y(x) = 1

        For(end-z =/= y(x=1));
        then set z=z-1
        else i=z;

        set z = 0

        For(z =/= y(x=1));
        then set z=z 1
        else i2=z;

        i 1= sukunimen alkukirjain
        print (nimet from 1-to i2) (i 1);

        Et huomannut jotain muutakaan.


    • Anonyymi

      Pyyttönillä.

      >>> nimi="Kalevi-Irmeli Jonne Hämäläinen-Johansson"
      >>> print(nimi.split(" ")[0],nimi.split(" ")[len(nimi.split(" "))-1][0])
      Kalevi-Irmeli H

      • Anonyymi

        Sama, toisin tehtynä (säästyy muutama merkki):

        nimet="Kalevi-Irmeli Jonne Heiskanen-Johansson".split(" ")
        print(nimet[0], nimet[2][0])
        🧐


      • Anonyymi

        Pyyttöni findeillä.

        >>> nimi="Kalevi-Irmeli Jonne Hämäläinen-Johansson"
        >>> print(nimi[0:nimi.find(' ')],nimi[nimi.rfind(' ') 1])
        Kalevi-Irmeli H


    • Anonyymi

      Javascriptillä.

      > const nimi="Kalevi-Irmeli Jonne Hämäläinen-Johansson"
      undefined
      > nimi.slice(0,nimi.indexOf(' ')) ' ' nimi.charAt(nimi.lastIndexOf(' ') 1)
      'Kalevi-Irmeli H'

      • Anonyymi

        Sama (JavaScript) kuin edellä, muuta lyhyemmin:

        let nimi = "Kalevi-Irmeli Jonne Hämäläinen-Johansson".split(' ');
        console.log(nimi[0] , nimi[nimi.length - 1][0])


    • Anonyymi

      C-kielellä ilman string-kirjastoa.

      #include <stdio.h>

      void main(void) {
          char nimi[]="Kalevi-Irmeli Jonne Hämäläinen-Johansson";
      for(int i=0; i<sizeof(nimi); i ) {
      if(nimi[i] == " ") break;
      printf("%c",nimi[i]);
      }
      for(int i=sizeof(nimi); i>=0; --i) {
      if(nimi[i] == " ") {
      printf(" %c\n",nimi[i 1]);
      break;
      }
      }
      }

      • Anonyymi

        Foorumi sotkee näköjään vähän sisennyksiä.


      • Anonyymi

        Sama (C:llä) kuin edellä, muutama merkki lyhyemmin, eikä kääntäjän varoituksia:

        #include <stdio.h>
        #include <string.h>
        int main() {
        char n[] = "Kalevi-Irmeli Jonne Hämäläinen-Johansson";
        char * t = strtok(n, " ");
        char * v;
        printf( "%s", t );
        while( t != NULL ) {
        v = t;
        t = strtok(NULL, " "); }
        printf( " %c\n", v[0] );
        return 0; }


      • Anonyymi
        Anonyymi kirjoitti:

        Sama (C:llä) kuin edellä, muutama merkki lyhyemmin, eikä kääntäjän varoituksia:

        #include <stdio.h>
        #include <string.h>
        int main() {
        char n[] = "Kalevi-Irmeli Jonne Hämäläinen-Johansson";
        char * t = strtok(n, " ");
        char * v;
        printf( "%s", t );
        while( t != NULL ) {
        v = t;
        t = strtok(NULL, " "); }
        printf( " %c\n", v[0] );
        return 0; }

        Mitä kääntäjää käytät? Gcc ei anna kummallakaan varoituksia. String-kirjasto ei näköjään kasvata lainkaan suoritettavan binäärin kokoa. "Nim" on ilman string-kirjastoa ja "nim2" sen kanssa.

        seppo@ubuntu:~/c$ gcc nim.c -o nim;./nim; ls -la nim
        Kalevi-Irmeli H
        -rwxrwxr-x 1 ubu ubu 16792 elo 13 08:44 nim
        seppo@ubuntu:~/c$ nano nim2.c
        seppo@ubuntu:~/c$ gcc nim2.c -o nim2;./nim2; ls -la nim2
        Kalevi-Irmeli H
        -rwxrwxr-x 1 ubu ubu 16792 elo 13 08:46 nim2


      • Anonyymi
        Anonyymi kirjoitti:

        Mitä kääntäjää käytät? Gcc ei anna kummallakaan varoituksia. String-kirjasto ei näköjään kasvata lainkaan suoritettavan binäärin kokoa. "Nim" on ilman string-kirjastoa ja "nim2" sen kanssa.

        seppo@ubuntu:~/c$ gcc nim.c -o nim;./nim; ls -la nim
        Kalevi-Irmeli H
        -rwxrwxr-x 1 ubu ubu 16792 elo 13 08:44 nim
        seppo@ubuntu:~/c$ nano nim2.c
        seppo@ubuntu:~/c$ gcc nim2.c -o nim2;./nim2; ls -la nim2
        Kalevi-Irmeli H
        -rwxrwxr-x 1 ubu ubu 16792 elo 13 08:46 nim2

        Sizeof-operaattori taitaa tosin palauttaa unsigned longin, joten tarkkaan ottaen for-silmukab int pitäisi korvata sillä.


      • Anonyymi
        Anonyymi kirjoitti:

        Mitä kääntäjää käytät? Gcc ei anna kummallakaan varoituksia. String-kirjasto ei näköjään kasvata lainkaan suoritettavan binäärin kokoa. "Nim" on ilman string-kirjastoa ja "nim2" sen kanssa.

        seppo@ubuntu:~/c$ gcc nim.c -o nim;./nim; ls -la nim
        Kalevi-Irmeli H
        -rwxrwxr-x 1 ubu ubu 16792 elo 13 08:44 nim
        seppo@ubuntu:~/c$ nano nim2.c
        seppo@ubuntu:~/c$ gcc nim2.c -o nim2;./nim2; ls -la nim2
        Kalevi-Irmeli H
        -rwxrwxr-x 1 ubu ubu 16792 elo 13 08:46 nim2

        gcc -Wall -c hello.c
        gcc -Wall -o "hello" "hello.o"

        Sinä luultavasti tukahdutat virheet, korjaamatta.


      • Anonyymi
        Anonyymi kirjoitti:

        gcc -Wall -c hello.c
        gcc -Wall -o "hello" "hello.o"

        Sinä luultavasti tukahdutat virheet, korjaamatta.

        Luultavasti kääntäjä tekee muunnokset automaattisesti, koska ei ilmoita ainoastakaan virheestä.

        C-kielihän on aika tarkka. Periaatteessa funktiotkin pitäisi esitellä etukäteen. Tosin tuossa esimerkissähän ei ole "omia" funktioita lainkaan, mutta jos olisi, niin tyyliin:

        char *funktio(char *);

        char *funktio(char *palauta) {
          return palauta;
        }

        Mutta tuota esittelyä ei välttämättä nykykääntäjillä tarvitse. Vielä 1980-luvulla olivat tarkempia.


      • Anonyymi
        Anonyymi kirjoitti:

        Luultavasti kääntäjä tekee muunnokset automaattisesti, koska ei ilmoita ainoastakaan virheestä.

        C-kielihän on aika tarkka. Periaatteessa funktiotkin pitäisi esitellä etukäteen. Tosin tuossa esimerkissähän ei ole "omia" funktioita lainkaan, mutta jos olisi, niin tyyliin:

        char *funktio(char *);

        char *funktio(char *palauta) {
          return palauta;
        }

        Mutta tuota esittelyä ei välttämättä nykykääntäjillä tarvitse. Vielä 1980-luvulla olivat tarkempia.

        Suorita kokoaminen (gcc -Wall -c "hello.c") käyttäen -Wall optiota, joka mahdollistaa varoitusten näytön.

        Ja vasta sitten kun kokoaminen menee virheettömästi suoritat kääntämisen:

        gcc -Wall -o "hello" "hello.o"


    • Anonyymi

      Kustomina Excel-funktiona, koska Excelissä itsessään ei ole "takaperin" etsintää.

      Käyttö: =nimifunktio("Etunimi1 Etunimi2 Takanimi")

      Function nimifunktio(nimi As String)
      Dim i As Integer
      Dim paluuarvo As String
      nimi = Trim(nimi)
      i = InStr(nimi, " ")
      If (i > 0) Then
      paluuarvo = Left(nimi, i)
      End If
      i = InStrRev(nimi, " ")
      If (i > 0) Then
      paluuarvo = paluuarvo Mid(nimi, i 1, 1)
      End If
      nimifunktio = paluuarvo
      End Functio

    • Anonyymi

      Mistä näitä taitajia nyt tupsahti, näinkin monta.

    • Anonyymi

      1 ainoa Excel vastaus Excel ryhmässä...
      tässä nyt toinen
      Function fiksattunimi(nimi As String) As String
      x = Split(nimi, " ")
      fiksattunimi = x(0) & " " & Left(x(UBound(x)), 1)
      End Function

      Keep EXCEling
      @Kunde

    • Anonyymi

      Nyt suomi24 "tietotekniikka" -palsta alkaa näyttää siltä miltä sen pitääkin, moderointi ei pilaa esimerkkien antamista.

    • Anonyymi

      PHP kielinen vastine jäi tekemättä, kun näytti menevän reippaasti sottailuksi, nimessä olevien ääkkösten vuoksi.

      • Anonyymi

        PHP:lla pari riviä:

        php > $nimet=explode(" ","Kalevi-Irmeli Jonne Hämäläinen-Johansson");
        php > echo $nimet[0]," ",$nimet[sizeof($nimet)-1][0];
        Kalevi-Irmeli H


    • Anonyymi

      MySQL:llä.

      mysql> set @nimi:="Kalevi-Irmeli Jonne Hämäläinen-Johansson";
      Query OK, 0 rows affected (0.01 sec)

      mysql> SELECT CONCAT(SUBSTRING_INDEX(@nimi, " ", 1),SPACE(1),LEFT(SUBSTRING_INDEX(@nimi, " ", -1),1)) AS nimi;
      -----------------
      | nimi |
      -----------------
      | Kalevi-Irmeli H |
      -----------------
      1 row in set (0.00 sec)

    • Anonyymi

      MongoDB.

      > nimet="Kalevi-Irmeli Jonne Hämäläinen-Johansson".split(' ')
      [ "Kalevi-Irmeli", "Jonne", "Hämäläinen-Johansson" ]
      > nimet[0] ' ' nimet.slice(-1)[0][0]
      Kalevi-Irmeli H

    • Anonyymi

      Bash Shell
      En saa vietyä tätä loppuun. Tähän asti olen päässyt:

      >>> nimi="Kalevi-Irmeli Jonne Hämäläinen-Johansson"
      >>> set -- $nimi

      Sanojen määrä selviää näin, antaa 3
      echo $#

      Jokainen sana voidaan tulostaa erikseen näin:
      echo $1, $2, $3

      Mutta kuinka poimitaan viimeisen sanan ensimmäinen kirjain?

      • Anonyymi

        "expr substr Takanimi 1 1" tulostaa T-kirjaimen.
        "echo "${@: -1}" tulostaa viimeisen argumentin.

        Yhdistetään nuo ja tehdään skripti "lyhennänimi.sh":

        #!/bin/bash
        echo $1 `expr substr "${@: -1}" 1 1`

        Testi:
        $ ./lyhennänimi.sh Kalevi-Irmeli Jonne Hämäläinen-Johansson
        Kalevi-Irmeli H


      • Anonyymi
        Anonyymi kirjoitti:

        "expr substr Takanimi 1 1" tulostaa T-kirjaimen.
        "echo "${@: -1}" tulostaa viimeisen argumentin.

        Yhdistetään nuo ja tehdään skripti "lyhennänimi.sh":

        #!/bin/bash
        echo $1 `expr substr "${@: -1}" 1 1`

        Testi:
        $ ./lyhennänimi.sh Kalevi-Irmeli Jonne Hämäläinen-Johansson
        Kalevi-Irmeli H

        Miten tuo tehtäisi niin ettei käytetä hyväksi tiedostolle lähetettävää parametria.


      • Anonyymi
        Anonyymi kirjoitti:

        Miten tuo tehtäisi niin ettei käytetä hyväksi tiedostolle lähetettävää parametria.

        Tuossa yksi versio skriptistä.

        #!/bin/bash
        nimi="Kalevi-Irmeli Jonne Hämäläinen-Johansson"
        splitatut=(${nimi// / })
        echo ${splitatut[0]} `expr substr "${splitatut[2]}" 1 1`


      • Anonyymi
        Anonyymi kirjoitti:

        Tuossa yksi versio skriptistä.

        #!/bin/bash
        nimi="Kalevi-Irmeli Jonne Hämäläinen-Johansson"
        splitatut=(${nimi// / })
        echo ${splitatut[0]} `expr substr "${splitatut[2]}" 1 1`

        Väärinhän se meni, koska laitoin kiinteän indeksin takanimelle. Tämän pitäisi olla dynaaminen.

        #!/bin/bash
        nimi="Kalevi-Irmeli Jonne Hämäläinen-Johansson"
        splitatut=(${nimi// / })
        echo ${splitatut[0]} `expr substr "${splitatut[-1]}" 1 1`


      • Anonyymi
        Anonyymi kirjoitti:

        Väärinhän se meni, koska laitoin kiinteän indeksin takanimelle. Tämän pitäisi olla dynaaminen.

        #!/bin/bash
        nimi="Kalevi-Irmeli Jonne Hämäläinen-Johansson"
        splitatut=(${nimi// / })
        echo ${splitatut[0]} `expr substr "${splitatut[-1]}" 1 1`

        No niin, nyt toimii hienosti. Hiton hienoa että on näitä osaajiakin mukana.


    • Anonyymi

      R-kielellä.

      > nimet <- strsplit("Kalevi-Irmeli Jonne Hämäläinen-Johansson"," ")[[1]]
      > print(paste(nimet[1],substr(nimet[length(nimet)],1,1),sep=" "))
      [1] "Kalevi-Irmeli H"

    • Anonyymi

      C risuaita kielellä

      using System;

      public class LyhennaNimi
      {
      public static void Main()
      {
      string[] nimet="Kalevi-Irmeli Jonne Hämäläinen-Johansson".Split(" ");
      Console.WriteLine($"{nimet[0]} {nimet[nimet.Length-1][0]}");
      }
      }

    • Anonyymi

      Erlangilla:

      Eshell V11.0.3 (abort with ^G)
      1> Nimet=string:lexemes("Kalevi-Irmeli Jonne Hämäläinen-Johansson"," ").
      ["Kalevi-Irmeli","Jonne","Hämäläinen-Johansson"]
      2> io:fwrite("~p~n",[string:concat(string:concat(lists:nth(1,Nimet)," "),string:left(lists:last(Nimet),1))]).
      "Kalevi-Irmeli H"
      ok
      3>

    • Anonyymi

      No johan on tullut valtaisasti vastauksia.
      Ollaan Excelin keskustelupalstalla, joten en huomannut erikseen mainita, että käytän Exceliä.
      Mutta kiitos silti kaikista ehdotuksista.
      Mukana on koodareitakin ja itse asiassa hyvä juttu, sillä kysymykseni liittyy suureen kokonaisuuteen, joka pyörii makrolla.
      Vastauksista tuli melkoisesti pohdiskeltavaa, Kiitos

      • Anonyymi

        Ensin yksi keino palauttaa cell:issä A1 olevan ascii pötkylän viimeinen sana, se on Array Formula joka tässä tapauksessa tarkoittaa vain sitä että kun tuon on pastennut celliin niin pitää ensin painaa Shift ja Ctrl ensin pohjaan ja pitää ne siellä kun nakauttaa Enter:in.

        =RIGHT(A1,LEN(A1)-MAX(ROW(INDIRECT("1:"&LEN(A1))) *(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)=" ")))

        Sitten yksi keino palauttaa cell:issä A1 olevan ascii pötkylän ensimmäinen sana:

        =LEFT(A1,FIND(" ",A1,1))

        Se ei ole Array Formula, vaan on tavallinen formula.

        Ja kun ne nyplää yhteen siten kuin AP haluaa niin kun ascii pötkylä
        on cell:issä A1 saadaan:

        =LEFT(A1,FIND(" ",A1,1))& " " & LEFT(RIGHT(A1,LEN(A1)-MAX(ROW(INDIRECT("1:"&LEN(A1))) *(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)=" "))))

        Joka on array formula joka tässä tapauksessa tarkoittaa vain sitä että kun tuon on pastennut celliin niin pitää ensin painaa Shift ja Ctrl ensin pohjaan ja pitää ne siellä kun nakauttaa Enter:in. Sitä voi copioda aivan samoin kuin tavallistakin formulaa.

        Lähde: Chip Pearson:in saitti ( cpearson, Pearson Software Consulting, LLC, Comprehensive Excel Information ) jonka suoran linkin kirjoittaminen tähän viestiin ilmeiseti aiheuttaa viestin sensuroimisen. Auto-onnettomuuudessa surmansa saaneen Chip Pearson:in saitti on ainoa mitä kovimman luokan Excelisitiksi kaipaava tarvitsee. Saitia ylläpitävä taho ottaa mielellään donateeraukia, saitin ylläpito ko liikennemäärillä ei ole ilmaista.

        Itse tosin en tekisi noin, koska sitä on vaikea ymmärtää, vaan käyttäsin UDF:iä jotka ovat minun "järkäle" *.vba addin:issä, niistä pienen osan olen nysvännyt itse, suuren osan olen kopsannut Chip:ilä ja sitä sun tätä muilta. Kannattaa todella hieman tutustua VBA puolelle, siis makroihin ja siihen miten workbook talletetaan addin:iksi (siis *.xla tai sösssityissä versioissa *.xlam).


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

    Luetuimmat keskustelut

    1. Heikki Silvennoinen petti vaimoaan vuosien ajan

      Viiden lapsen isä Heikki kehuu kirjassaan kuinka paljon on pettänyt vaimoaan vuosien varrella.
      Kotimaiset julkkisjuorut
      246
      3963
    2. Miksi ihmeessä nainen seurustelit kanssani joskus

      Olin ruma silloin ja nykyisin vielä rumempi En voi kuin miettiä että miksi Olitko vain rikki edellisestä suhteesta ja ha
      Ikävä
      28
      2328
    3. Taasko se show alkaa

      Koo osottaa taas mieltään
      Ikävä
      24
      2131
    4. Persut nimittivät kummeli-hahmon valtiosihteeriksi!

      Persujen riveistä löytyi taas uusi törkyturpa valtiosihteeriksi! Jutun perusteella järjenjuoksu on kuin sketsihahmolla.
      Perussuomalaiset
      93
      2046
    5. Onko ministeri Juuso epäkelpo ministerin tehtäviensä hoitamiseen?

      Eikö hänellä ole kompetenttia hoitaa sosiaali- ja terveysministetin toimialalle kuuluvia ministerin tehtäviä?
      Perussuomalaiset
      94
      1713
    6. Sakarjan kirjan 6. luku

      Jolla korva on, se kuulkoon. Sain profetian 22.4.2023. Sen sisältö oli seuraava: Suomeen tulee nälänhätä niin, että se
      Profetiat
      24
      1401
    7. Söpö lutunen oot

      Kaipaan aina vaan, vaikkakin sitten yksipuolisesti.
      Ikävä
      8
      1311
    8. Avaa sydämesi mulle

      ❤ ❤❤ Tahdon pelkkää hyvää sulle Sillä ilmeisesti puhumalla Avoimesti välillämme Kaikki taas selviää Kerro kaikki, tahdo
      Ikävä
      36
      1297
    9. Kenen etua Stubb ajaa Euroopassa ilmoittaessaan olevansa enemmän Ruotsalainen

      Tasavallan presidentti Alexander Stubb kertoi ensimmäisellä valtiovierailullaan Ruotsissa, että hän ei ole koskaan tunte
      Maailman menoa
      309
      1252
    10. Elia tulee vielä

      Johannes Kastaja oli Elia, mutta Jeesus sanoi, että Elia tulee vielä. Malakian kirjan profetia Eliasta toteutuu kokonaan
      Helluntailaisuus
      35
      1227
    Aihe