Risultati da 1 a 21 di 21

Discussione: Estrarre la terza parola da una striga



  1. #1
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1126

    Estrarre la terza parola da una striga

    (Quiz) Ciao a tutti
    Nella cella B2 avrei bisogno di una formula da copiare in basso che mi estrae solo la terza parola da ogni stringa
    vedi tabella!
    buon divertimento!!

    A
    B
    1
    Stringa Risulatato 3a Parola
    2
    Buon divertimento con Excel con
    3
    Mi piace forum excel forum
    Ultima modifica fatta da:Gerardo Zuccalà; 15/09/15 alle 21:53
    Invia MPPM 

  2. #2

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7161
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2065
    Likes dati
    1301
    Provo con questa:

    =STRINGA.ESTRAI(ANNULLA.SPAZI(A2);RICERCA(CODICE.CARATT(254);SOSTITUISCI(" "&ANNULLA.SPAZI(A2);" ";CODICE.CARATT(254);3));RICERCA(CODICE.CARATT(254);SOSTITUISCI(" " &ANNULLA.SPAZI(A2) & " ";" ";CODICE.CARATT(254);3+1))-RICERCA(CODICE.CARATT(254);SOSTITUISCI(" " & ANNULLA.SPAZI(A2);" ";CODICE.CARATT(254);3))-1)
    Invia MPPM 

  3. #3

    L'avatar di scossa
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Verona Provincia
    Età
    57
    Messaggi
    1022
    Versione Office
    .
    Likes ricevuti
    366
    Likes dati
    0
    Citazione Originariamente Scritto da ges Visualizza Messaggio
    Provo con questa:
    ges, ormai dovresti averla imparata :262:

    =ANNULLA.SPAZI(STRINGA.ESTRAI(SOSTITUISCI(A2;" ";RIPETI(" ";200));300;190))

    è il cavallo di battaglia di Gerardo!! :127:
    Bye!
    scossa
    scossa's web site
    ___
    Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
    Invia MPPM 

  4. I seguenti utenti hanno dato un "Like"


  5. #4
    L'avatar di ninai
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Barcellona P.G.
    Età
    55
    Messaggi
    1678
    Versione Office
    2010 PC
    Likes ricevuti
    895
    Likes dati
    184
    ciao
    alternativa:
    =ANNULLA.SPAZI(STRINGA.ESTRAI(SOSTITUISCI($A2;" ";RIPETI(" ";100));1+200;100))

    nell'adattarla sono arrivato in ritardo
    :270:
    Invia MPPM 

  6. #5

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7161
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2065
    Likes dati
    1301
    Lo so scossa, se riguardi la discussione sono stato uno tra quelli che ha elogiato la "FORMULA EVOLUTA" di Gerardo.:28:

    Tuttavia, tale formula benché snella presenta la difficoltà per chi è alle prime armi di dover adattare la lunghezza degli spazi in base alla stringa, ecco perché ne ho voluta postare un'alternativa, complessa si, ma veramente "UNIVERSALE" nel senso che basta richiamare il numero di parola che si vuole in qualsiasi stringa e questa formula estrae quella parola.

    La formula che ho postato sopra estrae la 3° parola, per estrarre le altre posizioni basta cambiare il numero 3 con il numero della posizione.

    =STRINGA.ESTRAI(ANNULLA.SPAZI($A1);RICERCA(CODICE.CARATT(254);SOSTITUISCI(" "&ANNULLA.SPAZI($A1);" ";CODICE.CARATT(254); 3));RICERCA(CODICE.CARATT(254);SOSTITUISCI(" " &ANNULLA.SPAZI($A1) & " ";" ";CODICE.CARATT(254); 3+1))-RICERCA(CODICE.CARATT(254);SOSTITUISCI(" " & ANNULLA.SPAZI($A1);" ";CODICE.CARATT(254); 3))-1)

    Questa, flessibile, per estrarre TUTTE le parole di una stringa trascinandola verso destra (e/o in basso):

    =STRINGA.ESTRAI(ANNULLA.SPAZI($A1);RICERCA(CODICE.CARATT(254);SOSTITUISCI(" "&ANNULLA.SPAZI($A1);" ";CODICE.CARATT(254); RIF.COLONNA(A1)));RICERCA(CODICE.CARATT(254);SOSTITUISCI(" " &ANNULLA.SPAZI($A1) & " ";" ";CODICE.CARATT(254); RIF.COLONNA(A1)+1))-RICERCA(CODICE.CARATT(254);SOSTITUISCI(" " & ANNULLA.SPAZI($A1);" ";CODICE.CARATT(254); RIF.COLONNA(A1)))-1)
    Invia MPPM 

  7. #6

    L'avatar di scossa
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Verona Provincia
    Età
    57
    Messaggi
    1022
    Versione Office
    .
    Likes ricevuti
    366
    Likes dati
    0
    Citazione Originariamente Scritto da ges Visualizza Messaggio
    Lo so scossa, se riguardi la discussione sono stato uno tra quelli che ha elogiato la "FORMULA EVOLUTA" di Gerardo.:28:
    Sì, lo avevo capito, è che stasera sono "poco serio" :127:
    Bye!
    scossa
    scossa's web site
    ___
    Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
    Invia MPPM 

  8. #7

    L'avatar di scossa
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Verona Provincia
    Età
    57
    Messaggi
    1022
    Versione Office
    .
    Likes ricevuti
    366
    Likes dati
    0
    Citazione Originariamente Scritto da ninai Visualizza Messaggio
    ciao
    alternativa:
    =ANNULLA.SPAZI(STRINGA.ESTRAI(SOSTITUISCI($A2;" ";RIPETI(" ";100));1+200;100))
    Ma scrivere direttamente 201 pareva brutto? o devi tenerti in esercizio con le addizioni? :264:
    Bye!
    scossa
    scossa's web site
    ___
    Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
    Invia MPPM 

  9. #8
    L'avatar di ninai
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Barcellona P.G.
    Età
    55
    Messaggi
    1678
    Versione Office
    2010 PC
    Likes ricevuti
    895
    Likes dati
    184
    altra soluzione:
    =STRINGA.ESTRAI(SOSTITUISCI(SOSTITUISCI(A2;" ";"@";2);" ";"ç";2);TROVA("@";SOSTITUISCI(SOSTITUISCI(A2;" ";"@";2);" ";"ç";2))+1;TROVA("ç";SOSTITUISCI(SOSTITUISCI(A2;" ";"@";2);" ";"ç";2))-1-TROVA("@";SOSTITUISCI(SOSTITUISCI(A2;" ";"@";2);" ";"ç";2)))

    anche quì il 2 si riferisce allo spazio prima della parola da estrarre, pertanto anche questa può adattarsi ad altre estrazioni
    Comunque è un po pasticciata, si può semplificare
    Invia MPPM 

  10. #9
    L'avatar di ninai
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Barcellona P.G.
    Età
    55
    Messaggi
    1678
    Versione Office
    2010 PC
    Likes ricevuti
    895
    Likes dati
    184
    Citazione Originariamente Scritto da scossa Visualizza Messaggio
    Ma scrivere direttamente 201 pareva brutto? o devi tenerti in esercizio con le addizioni? :264:
    :292:

    Si!! infatti la prossima volta scriverò 202-1 , in quanto domani comincio le sottrazioni :1172:
    Invia MPPM 

  11. #10
    L'avatar di ninai
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Barcellona P.G.
    Età
    55
    Messaggi
    1678
    Versione Office
    2010 PC
    Likes ricevuti
    895
    Likes dati
    184
    Citazione Originariamente Scritto da scossa Visualizza Messaggio
    Sì, lo avevo capito, è che stasera sono "poco serio" :127:
    E' entrato in circolo il "Brunello ...." oppure il "Nobile...." ????? :222:
    Invia MPPM 

  12. #11

    L'avatar di scossa
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Verona Provincia
    Età
    57
    Messaggi
    1022
    Versione Office
    .
    Likes ricevuti
    366
    Likes dati
    0
    Citazione Originariamente Scritto da ninai Visualizza Messaggio
    E' entrato in circolo il "Brunello ...." oppure il "Nobile...." ????? :222:
    Brunello! cena "toscana" con pici al ragù di cinghiale, pecorino e finocchiona! :285:
    Ultima modifica fatta da:scossa; 15/09/15 alle 23:47
    Bye!
    scossa
    scossa's web site
    ___
    Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
    Invia MPPM 

  13. #12

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7161
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2065
    Likes dati
    1301
    Non si chiama "finocchiona"?

    In termini probabilistici ci sono tre possibilità:

    1) Mi sbaglio io e in toscana la chiamano "finocchina";
    2) E' stato un refuso dovuto ad una errata digitazione o al completamento automatico del computer;
    3) Il tasso del Brunello ha avuto un'impennata!!

    :127: :127: :127:
    Invia MPPM 

  14. #13

    L'avatar di scossa
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Verona Provincia
    Età
    57
    Messaggi
    1022
    Versione Office
    .
    Likes ricevuti
    366
    Likes dati
    0
    Citazione Originariamente Scritto da ges Visualizza Messaggio
    Non si chiama "finocchiona"?
    Infatti!! così ho scritto :127: leggi bene :295:
    Bye!
    scossa
    scossa's web site
    ___
    Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
    Invia MPPM 

  15. #14
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1126
    Eccoci qua!
    grazie a tutti per il vostro contributo e devo dire che sono un po imbarazzato a rispondere davanti a dei veri templari di excel, ma come si sa in excel ognuno ha i propri cavalli di battaglia ed ecco il mio :127:

    @ ges
    la difficoltà per chi è alle prime armi di dover adattare la lunghezza degli spazi in base alla stringa,
    RIPETI(" ";30)

    per adattare la lunghezza degli spazi basta semplicemente mettere un numero che potenzialmente è superiore ai numeri di caratteri della stringa di origine ( in questo caso 30 ma se non sei sicuro e vuoi stare largo puoi usare 100, 200 ecc...) se non vuoi usare tante risorse del computer potresti usare anche la funzione LUNGHEZZA ma la formula si presenterà meno snella.

    @scossa @ninai
    Questa formula non ha la necessita di adattamenti particolari infatti io vado a colpo sicuro se alla funzione RIPETI do 50 spazi vuoti anche per il primo e secondo argomento della STRINGA,ESTRAI do 50, l' unica cosa che cambio è l' argomento inizio del STRINGA.ESTRAI che ho moltiplicato per 2 (cioè inizio dal 60°carattere)
    Praticamente l'unica difficoltà di questa formula è far generare argomento inizio dello STRINGA.ESTRAI che in alcuni casi si potrebbe generare anche con le funzioni COLONNE o RIGHE ma il punto fermo di questa formula rimarranno i 3 numeri sempre uguali es. 30/30/30 oppure 100/100/100 oppure 200/200/200

    =ANNULLA.SPAZI(STRINGA.ESTRAI(SOSTITUISCI(A2;" ";RIPETI(" ";30));2*30;30))

    Ciao e buona notte a tutti!
    Ultima modifica fatta da:Gerardo Zuccalà; 16/09/15 alle 00:00
    Invia MPPM 

  16. #15

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7161
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2065
    Likes dati
    1301
    Citazione Originariamente Scritto da scossa Visualizza Messaggio
    Infatti!! così ho scritto :127: leggi bene :295:
    Opperbacco!!!! :93:
    Vado a controllare i gradi di quel Pinot con cui ho sorseggiato stasera .... :222:
    Invia MPPM 

  17. #16
    L'avatar di ninai
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Barcellona P.G.
    Età
    55
    Messaggi
    1678
    Versione Office
    2010 PC
    Likes ricevuti
    895
    Likes dati
    184
    Citazione Originariamente Scritto da scossa Visualizza Messaggio
    Infatti!! così ho scritto :127: leggi bene :295:
    furbetto!!! peccato che l'ora della modifica ti inchioda!!

    Ma forse volevi dire "Finocchione"!! inteso come una persona non etero, di grossa stazza ;)
    Invia MPPM 

  18. #17

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7161
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2065
    Likes dati
    1301
    Citazione Originariamente Scritto da ninai Visualizza Messaggio
    furbetto!!! peccato che l'ora della modifica ti inchioda!!

    ...
    Ahhhhhhhh ... mi sembrava ..... il Pinot non è poi così forte! :25:
    Invia MPPM 

  19. #18
    L'avatar di Textomb
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    47
    Messaggi
    171
    Versione Office
    Excel 2016
    Likes ricevuti
    93
    Likes dati
    11
    ragazzi non mi prendete sul serio.
    giusto perchè stasera ho bevuto un goccio anche io...
    =ANNULLA.SPAZI(STRINGA.ESTRAI(A4;INDICE(AGGREGA(15;6;TROVA(" ";STRINGA.ESTRAI(A4;RIF.RIGA(INDIRETTO("1:" & LUNGHEZZA(A4)));1))*RIF.RIGA(INDIRETTO("1:" & LUNGHEZZA(A4)));{2.3});1);INDICE(AGGREGA(15;6;TROVA(" ";STRINGA.ESTRAI(A4;RIF.RIGA(INDIRETTO("1:" & LUNGHEZZA(A4)));1))*RIF.RIGA(INDIRETTO("1:" & LUNGHEZZA(A4)));{2.3});2)-INDICE(AGGREGA(15;6;TROVA(" ";STRINGA.ESTRAI(A4;RIF.RIGA(INDIRETTO("1:" & LUNGHEZZA(A4)));1))*RIF.RIGA(INDIRETTO("1:" & LUNGHEZZA(A4)));{2.3});1)))

    Anche se credo avrei fatto qualcosa di più semplice.
    Function Estrai3(cell As Range) As String
    Dim R
    R = Split(cell, " ")
    If UBound(R) <= 2 Then
    Estrai3 = ""
    Else
    Estrai3 = R(2)
    End If
    Set R = Nothing
    End Function

    Non mi picchiate Vi prego!!!
    Invia MPPM 

  20. #19
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1126
    Ciao textomb
    mi sto avvicinando al VBA e qualche cosa basic la so fare solo che questa tua formula non mi funziona
    non so dove sbaglio

    Inizia nuova Macro
    1. Copiato questo codice
    2. Aprirto la nuova cartella di lavoro,
    3. salvato il file con estensione .xlsm
    4. I tasti ALT + F11 per aprire l'editor di Visual Basic
    5. Premuto i tasti ALT + I per attivare il menu Inserisci
    6. Premuto il tasto M per inserire un modulo standard
    6. Quando il cursore lampeggiva, incollarto il codice
    7. Premuto i tasti ALT + Q per uscire dall'editor, e tornare a Excel
    8. Per eseguire la macro da Excel premere ALT + F8 per visualizzare la finestra Esegui macro. Doppio Fare clic sul nome della macro per eseguirlo.
    dove ho sbagliato?
    ciao
    Invia MPPM 

  21. #20
    L'avatar di Textomb
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    47
    Messaggi
    171
    Versione Office
    Excel 2016
    Likes ricevuti
    93
    Likes dati
    11
    ciao Gerardo.
    Si tratta di una funzione definita UDF
    fino al punto 7 del tuo elenco hai fatto bene.
    il punto 8 invece lo devi sostituire con la seguente.
    vai nella cella B2 e riporti la funzione
    =Estrai3(A2)
    Chiaramente in A2 deve esserci la stringa di cui vuoi estrapolare la 3 parola...
    fammi sapere...
    Invia MPPM 

  22. #21
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1126
    Citazione Originariamente Scritto da Textomb Visualizza Messaggio
    ciao Gerardo.
    Si tratta di una funzione definita UDF
    fino al punto 7 del tuo elenco hai fatto bene.
    il punto 8 invece lo devi sostituire con la seguente.
    vai nella cella B2 e riporti la funzione
    =Estrai3(A2)
    Chiaramente in A2 deve esserci la stringa di cui vuoi estrapolare la 3 parola...
    fammi sapere...
    Yeessss!!! fantastica... funziona alla grande
    ma come facevo a sapere che questa era una funzione?
    avrei dovuto capirlo dal codice, dall' editor VBA ?
    forse da questo pezzettino in rosso?

    Function
    Estrai3(cell As Range) As String
    grazie

    Si tratta di una funzione definita UDF

    Per UDF cosa intendi? che non hai bisogno di eseguirla con un comando e parte da sola?
    grazie
    Ultima modifica fatta da:Gerardo Zuccalà; 16/09/15 alle 01:13
    Invia MPPM 

Discussioni Simili

  1. [Risolto] Colorare due celle adiacenti se presente esito in una terza cella.
    Di enzinho nel forum Domande su Excel in generale
    Risposte: 8
    Ultimo Messaggio: 15/03/17, 23:06
  2. [Risolto] Estrarre parola dopo un segno
    Di Samuela nel forum Domande su Excel in generale
    Risposte: 4
    Ultimo Messaggio: 09/02/17, 15:44
  3. confronto tra 2 tabelle: crearne una terza con elementi comuni e sommati
    Di mauri73 nel forum Domande su Excel in generale
    Risposte: 10
    Ultimo Messaggio: 15/01/17, 23:27
  4. [Risolto] Confronta testo in due celle e scrivi il risultato in una terza cella
    Di dade92 nel forum Domande su Excel in generale
    Risposte: 4
    Ultimo Messaggio: 15/10/16, 12:46
  5. Generare una striga sql
    Di Caronte1980 nel forum Domande su Excel in generale
    Risposte: 0
    Ultimo Messaggio: 01/04/16, 16:51

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •