Risultati da 1 a 26 di 26

Discussione: STRINGA.ESTRAI, funzione a me sconosciuta, qualche consiglio?



  1. #1
    L'avatar di die84albe
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    italia
    Messaggi
    11
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    1

    STRINGA.ESTRAI, funzione a me sconosciuta, qualche consiglio?

    Ciao a tutti, sto adesso provando a sfruttare la funzione "STRINGA.ESTRAI"

    il seguito ad dei test con un software aziendale ho esportato i risultati in xls e ho nella colonna A questo format:

    descrizione(piu parole e numeri) - TEST 2 NOME1, luogo1 - TEST1
    descrizione(piu parole e numeri) - TEST 2 NOME2, luogo2 - TEST1
    descrizione(piu parole e numeri) - TEST 2 NOME3, luogo3 - TEST1
    descrizione(piu parole e numeri) - TEST 2 NOME4, luogo4 - TEST1
    descrizione(piu parole e numeri) - TEST 2 NOME5, luogo5 - TEST1
    descrizione(piu parole e numeri) - TEST 2 NOME6, luogo6 - TEST1
    ecc.

    La "descrizione(piu parole e numeri)" appunto è una descirzione di poche parole e o numeriche cambia in ogni stringa, seguite da uno spazio trattino spazio ( - ) .
    TEST 2 è sempre uguale per ogni stringa.
    NOME1 NOME 2 ecc. appunto è il nome esportato dal software, anch'esso cambia ogni stringa e puo essere di piu parole, seguito dalla virgola.
    luogo1 luogo2 ecc. il luogo di appartenenza del nome, diverso in ogni stringa e seguito da - TEST1
    TEST1 è sempre uguale per ogni stringa.

    Dovrei semplicemente estratte:
    nella colonna B - NOME1 NOME 2 ecc
    nella colonna C - luogo1 luogo 2 ecc


    Mi son buttato ma sono arrivato fino a qui:

    =STRINGA.ESTRAI(A1;1;RICERCA(CODICE.CARATT(254);SOSTITUISCI(A1;"-";CODICE.CARATT(254);LUNGHEZZA(A1)-LUNGHEZZA(SOSTITUISCI(A1;"-";""))))-1)
    ma riesco a eliminare solo la parte " - TEST1"

    qualche buon anima che ci vede lungo ?


    CIAO!

  2. #2

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2808
    Versione Office
    Excel 2013
    Likes ricevuti
    1020
    Likes dati
    979
    Se ho capito bene (sempre con STRINGA.ESTRAI)
    per il nome:=STRINGA.ESTRAI(A1;RICERCA("TEST 2 ";A1)+7;C1-(RICERCA("TEST 2 ";A1)+6))
    per il luogo:=STRINGA.ESTRAI(A1;RICERCA(",";A1)+2;RICERCA(" - ";A1;C1)-(RICERCA(",";A1)-1)-4)

  3. #3
    L'avatar di die84albe
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    italia
    Messaggi
    11
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    1
    Ricevo un errore, allego il file di test
    Grazie
    File Allegati File Allegati

  4. #4

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2808
    Versione Office
    Excel 2013
    Likes ricevuti
    1020
    Likes dati
    979
    Ora sono fuori, se nel frattempo non ti risponde nessuno, domani ti faccio sapere

    Inviato dal mio Nexus 7 utilizzando Tapatalk

  5. #5
    L'avatar di Bolz1
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Padova
    Età
    41
    Messaggi
    117
    Versione Office
    '11 e 16 MAC
    Likes ricevuti
    7
    Likes dati
    1
    Per il luogo prova questa

    =STRINGA.ESTRAI(A2;RICERCA(",";A2)+2;RICERCA(" - ";A2;RICERCA(",";A2))-(RICERCA(",";A2)+2))

    L'errore della formula di rubik te lo da perché quel riferimento C1 era riferito all'etichetta della colonna e se lo metti nella cella dove scrivi la formula ti da un riferimento circolare...comunque poi modificando poco la sua ho fatto quella sopra

    E questa per il nome


    =STRINGA.ESTRAI(A2;RICERCA("TEST 2";A2)+7;RICERCA(",";A2)-RICERCA("TEST 2";A2)-7)

    Fammi sapere se va...
    File Allegati File Allegati
    "Se tu segui tua stella non puoi fallire a glorioso porto" (Dante, Inferno - XV)

  6. #6
    L'avatar di die84albe
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    italia
    Messaggi
    11
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    1
    Gracias,
    sto provando la stringa col nome e sembra andare ma se nella descrizione c'è punteggiatura, da errore.

  7. #7
    L'avatar di die84albe
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    italia
    Messaggi
    11
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    1
    Sto testando per il nome, ed ho notato che se nella descrizione c'è dell a punteggiatura avviene un errore :(

  8. #8
    L'avatar di die84albe
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    italia
    Messaggi
    11
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    1
    Sto provando la stringa Nome e noto che se c'è punteggiatura nella descrizione compare errore :(
    Scusate il messaggio multiplo, stranamente dopo l'invio della risposta mi dava errore 500 e caricando la pagina non visualizzavo la mia risposta nel topic allora lo riscrivevo.

  9. #9
    L'avatar di Bolz1
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Padova
    Età
    41
    Messaggi
    117
    Versione Office
    '11 e 16 MAC
    Likes ricevuti
    7
    Likes dati
    1
    Che intendi per punteggiatura? Io ho provato a mettere la punteggiatura (tranne la virgola ovviamente) ma non mi da errore...incollami una descrizione che ti da errore, il file ce l'ho già...

    guarda la prima riga

    "Se tu segui tua stella non puoi fallire a glorioso porto" (Dante, Inferno - XV)

  10. #10
    L'avatar di pkrome59
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Reggio Calabria
    Età
    58
    Messaggi
    1188
    Versione Office
    Office 2013
    Likes ricevuti
    1198
    Likes dati
    2133
    Ciao, prova le seguenti:
    Per il nome
    In B2:
    =STRINGA.ESTRAI(A2;TROVA("2 ";A2)+2;TROVA(",";A2)-(TROVA("2";A2)+2))
    Per il luogo
    In C2:
    =STRINGA.ESTRAI(A2;TROVA(",";A2)+1;TROVA("TEST1";A2)-TROVA(",";A2)-3)
    Allego il file di prova.
    Fa sapere.

    N.B. Chiedo scusa a Bolz1, al momento dell'invio non mi sono accorto della sua risposta.
    File Allegati File Allegati

  11. #11
    L'avatar di Bolz1
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Padova
    Età
    41
    Messaggi
    117
    Versione Office
    '11 e 16 MAC
    Likes ricevuti
    7
    Likes dati
    1
    pkrome l'unica cosa è che nella descrizione ci possono essere lettere e numeri e scrivendo "2 " nel TROVA, si rischia che se nella descrizione c'è, per esempio, "L'architetto è stato 2 volte a venezia", ti sballa il conto...io lascerei come stringa da trovare "TEST 2" e credo sia difficile che esso compaia nella descrizione...

    Però vorrei ancora capire cosa intente die84albe per punteggiatura nella descrizione... :)
    "Se tu segui tua stella non puoi fallire a glorioso porto" (Dante, Inferno - XV)

  12. #12
    L'avatar di die84albe
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    italia
    Messaggi
    11
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    1
    Purtroppo nella descrizione c'è pure la virgola, sostituendo/eliminando quello che c'è prima di - TEST 2?
    Ultima modifica fatta da:Canapone; 19/05/17 alle 16:38

  13. #13
    L'avatar di Bolz1
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Padova
    Età
    41
    Messaggi
    117
    Versione Office
    '11 e 16 MAC
    Likes ricevuti
    7
    Likes dati
    1
    Ah beh, allora le cose cambiano...ora vado a dormire, domani al mio risveglio qualcuno ti avrà già postato la soluzione... :167:

    Cmq

    intanto prova questa per il nome

    =+STRINGA.ESTRAI(A2;RICERCA("TEST 2";A2)+7;RICERCA(",";A2;RICERCA("TEST 2";A2))-RICERCA("TEST 2";A2)-7)

    e questa per il luogo

    =STRINGA.ESTRAI(A2;RICERCA(",";A2;RICERCA(B2;A2))+2;RICERCA(" - ";A2;RICERCA(",";A2;RICERCA(B2;A2)))-(RICERCA(",";A2;RICERCA(B2;A2))+2))

    ovviamente sempre continuando ad usare il "ricerca"...

    Let us know...

    "Se tu segui tua stella non puoi fallire a glorioso porto" (Dante, Inferno - XV)

  14. I seguenti utenti hanno dato un "Like"


  15. #14
    L'avatar di pkrome59
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Reggio Calabria
    Età
    58
    Messaggi
    1188
    Versione Office
    Office 2013
    Likes ricevuti
    1198
    Likes dati
    2133
    Ciao Bolz1, ottima osservazione, non ci avevo pensato.
    Bisogna trovare un altro criterio.
    Ciao.

  16. #15
    L'avatar di die84albe
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    italia
    Messaggi
    11
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    1
    Grazie!!!!!!
    ho provato a caricare una parte di db funziona alla grande!
    però trovo anche delle altre forme di stringa come:

    Nome, luogo - indirizzo - descrizione(piu paro.,'!le e numeri) - TEST1
    Nome, luogo - descrizione(piu parole e numeri) - TEST1

    su circa 10000 stringhe un 30% circa ha questa forma in ordine sparso, inceve di cambiare funzione manualmente è possibile usare la funzione SE o una affine?

    NOTTE!

  17. #16
    L'avatar di pkrome59
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Reggio Calabria
    Età
    58
    Messaggi
    1188
    Versione Office
    Office 2013
    Likes ricevuti
    1198
    Likes dati
    2133
    Ciao die84albe, ho fatto diversi test e le formule che ti propongo, sembrano funzionare.
    Stringhe da analizzare in colonna A, nome in B, luogo in C.

    In B2:
    =STRINGA.ESTRAI(SOSTITUISCI(STRINGA.ESTRAI(SOSTITUISCI(A2;DESTRA(A2;8);"")&"*";TROVA("TEST 2 ";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6;TROVA("*";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")-(TROVA("TEST 2";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6));",";"#");1;LUNGHEZZA(SOSTITUISCI(STRINGA.ESTRAI(SOSTITUISCI(A2;DESTRA(A2;8);"")&"*";TROVA("TEST 2 ";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6;TROVA("*";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")-(TROVA("TEST 2";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6));",";"#"))-(LUNGHEZZA(C2)+1))

    In C2:
    =STRINGA.ESTRAI(SOSTITUISCI(STRINGA.ESTRAI(SOSTITUISCI(A2;DESTRA(A2;8);"")&"*";TROVA("TEST 2 ";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6;TROVA("*";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")-(TROVA("TEST 2";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6));",";"#");TROVA("#";SOSTITUISCI(STRINGA.ESTRAI(SOSTITUISCI(A2;DESTRA(A2;8);"")&"*";TROVA("TEST 2 ";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6;TROVA("*";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")-(TROVA("TEST 2";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6));",";"#"))+1;TROVA("#";SOSTITUISCI(STRINGA.ESTRAI(SOSTITUISCI(A2;DESTRA(A2;8);"")&"*";TROVA("TEST 2 ";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6;TROVA("*";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")-(TROVA("TEST 2";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6));",";"#"))-TROVA(" ";SOSTITUISCI(STRINGA.ESTRAI(SOSTITUISCI(A2;DESTRA(A2;8);"")&"*";TROVA("TEST 2 ";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6;TROVA("*";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")-(TROVA("TEST 2";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6));",";"#"))+6)

    Entrambe da tirare giù alla bisogna.
    Allego il file di prova.
    Fa sapere.
    N.B. Ho utilizzato i simboli * e # ritenendoli rari, eventualmente puoi sostituirli con simboli che più ritieni opportuno, inoltre la formula in B2 è vincolata alla formula in C2 ( incollare prima in C2, poi in B2).
    File Allegati File Allegati

  18. #17
    L'avatar di die84albe
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    italia
    Messaggi
    11
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    1
    Ciao a tutti, pkrome59, ho caricato il db sulle tue funzioni, nel caso di
    descrizione(piu parole e numeri) - TEST 2 NOME1, luogo1 - TEST1
    funziona alla perfezione :) grazie,
    vi sono delle varianti nel db che son costituite così:

    Nome, luogo - indirizzo - descrizione(piu paro.,'!le e numeri) - TEST1
    Nome, luogo - descrizione(piu parole e numeri) - TEST1

    conviene separarli dal resto o si riescie a incorporare nella funzione?
    Sarò sincero pkrome59, io mi sono perso, troppo articolata la tua proposta:))


    ciauuu!
    File Allegati File Allegati

  19. #18
    L'avatar di pkrome59
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Reggio Calabria
    Età
    58
    Messaggi
    1188
    Versione Office
    Office 2013
    Likes ricevuti
    1198
    Likes dati
    2133
    Ciauuu!, e un caloroso saluto a tutti.
    Tornando a noi, prova queste varianti dovrebbero andare bene.

    In B1:
    =SE.ERRORE(SE(TROVA("TEST 2";A2)>0;STRINGA.ESTRAI(SOSTITUISCI(STRINGA.ESTRAI(SOSTITUISCI(A2;DESTRA(A2;8);"")&"*";TROVA("TEST 2 ";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6;TROVA("*";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")-(TROVA("TEST 2";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6));",";"#");1;LUNGHEZZA(SOSTITUISCI(STRINGA.ESTRAI(SOSTITUISCI(A2;DESTRA(A2;8);"")&"*";TROVA("TEST 2 ";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6;TROVA("*";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")-(TROVA("TEST 2";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6));",";"#"))-(LUNGHEZZA(C2)+1)));STRINGA.ESTRAI(A2;1;TROVA(",";A2;1)-1))

    In C1:
    =SE.ERRORE(SE(TROVA("TEST 2";A2)>0;STRINGA.ESTRAI(SOSTITUISCI(STRINGA.ESTRAI(SOSTITUISCI(A2;DESTRA(A2;8);"")&"*";TROVA("TEST 2 ";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6;TROVA("*";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")-(TROVA("TEST 2";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6));",";"#");TROVA("#";SOSTITUISCI(STRINGA.ESTRAI(SOSTITUISCI(A2;DESTRA(A2;8);"")&"*";TROVA("TEST 2 ";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6;TROVA("*";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")-(TROVA("TEST 2";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6));",";"#"))+1;TROVA("#";SOSTITUISCI(STRINGA.ESTRAI(SOSTITUISCI(A2;DESTRA(A2;8);"")&"*";TROVA("TEST 2 ";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6;TROVA("*";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")-(TROVA("TEST 2";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6));",";"#"))-TROVA(" ";SOSTITUISCI(STRINGA.ESTRAI(SOSTITUISCI(A2;DESTRA(A2;8);"")&"*";TROVA("TEST 2 ";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6;TROVA("*";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")-(TROVA("TEST 2";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6));",";"#"))+6));STRINGA.ESTRAI(A2;LUNGHEZZA(STRINGA.ESTRAI(A2;1;TROVA(",";A2;1)-1))+2;TROVA(" - ";A2)-6))

    Entrambe da tirare giù alla bisogna.
    Allego il file di prova.
    Fa sapere.
    N.B. Ho utilizzato i simboli * e # ritenendoli rari, eventualmente puoi sostituirli con simboli che più ritieni opportuno, inoltre la formula in B2 è vincolata alla formula in C2 ( incollare prima in C2, poi in B2).
    File Allegati File Allegati

  20. I seguenti utenti hanno dato un "Like"

    ges

  21. #19
    L'avatar di pkrome59
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Reggio Calabria
    Età
    58
    Messaggi
    1188
    Versione Office
    Office 2013
    Likes ricevuti
    1198
    Likes dati
    2133
    Ciauuu!, e un caloroso saluto a tutti.
    La formula in C1 pubblicata nel post #18 presenta delle lacune ed è stata sostituita dalla seguente riportata in questo post. Per completezza la formula in B1 è la stessa di quella riportata nel post #18.
    Con questa variante nelle ipotesi del file allegato al post #17 le cose dovrebbero andare bene.

    In B1:
    =SE.ERRORE(SE(TROVA("TEST 2";A2)>0;STRINGA.ESTRAI(SOSTITUISCI(STRINGA.ESTRAI(SOSTITUISCI(A2;DESTRA(A2;8);"")&"*";TROVA("TEST 2 ";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6;TROVA("*";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")-(TROVA("TEST 2";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6));",";"#");1;LUNGHEZZA(SOSTITUISCI(STRINGA.ESTRAI(SOSTITUISCI(A2;DESTRA(A2;8);"")&"*";TROVA("TEST 2 ";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6;TROVA("*";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")-(TROVA("TEST 2";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6));",";"#"))-(LUNGHEZZA(C2)+1)));STRINGA.ESTRAI(A2;1;TROVA(",";A2;1)-1))

    In C1:
    =SE.ERRORE(SE(TROVA("TEST 2";A2)>0;STRINGA.ESTRAI(SOSTITUISCI(STRINGA.ESTRAI(SOSTITUISCI(A2;DESTRA(A2;8);"")&"*";TROVA("TEST 2 ";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6;TROVA("*";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")-(TROVA("TEST 2";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6));",";"#");TROVA("#";SOSTITUISCI(STRINGA.ESTRAI(SOSTITUISCI(A2;DESTRA(A2;8);"")&"*";TROVA("TEST 2 ";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6;TROVA("*";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")-(TROVA("TEST 2";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6));",";"#"))+1;TROVA("#";SOSTITUISCI(STRINGA.ESTRAI(SOSTITUISCI(A2;DESTRA(A2;8);"")&"*";TROVA("TEST 2 ";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6;TROVA("*";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")-(TROVA("TEST 2";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6));",";"#"))-TROVA(" ";SOSTITUISCI(STRINGA.ESTRAI(SOSTITUISCI(A2;DESTRA(A2;8);"")&"*";TROVA("TEST 2 ";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6;TROVA("*";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")-(TROVA("TEST 2";SOSTITUISCI(A2;DESTRA(A2;8);"")&"*")+6));",";"#"))+6));STRINGA.ESTRAI(A2;TROVA(",";A2;1)+1;TROVA(" - ";A2)-TROVA(",";A2;1)))

    Entrambe da tirare giù alla bisogna.
    Allego il file di prova.
    Fa sapere.
    N.B. Ho utilizzato i simboli * e # ritenendoli rari, eventualmente puoi sostituirli con simboli che più ritieni opportuno, inoltre la formula in B2 è vincolata alla formula in C2 ( incollare prima in C2, poi in B2).
    File Allegati File Allegati

  22. #20
    L'avatar di die84albe
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    italia
    Messaggi
    11
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    1
    Ciao pkrome59, sembra funzionale!!:) ora sto schizzando perchè la "TEST 2" cambia in base al db, quindi in base al db vado a cambiare la voce anche neela funzione.
    presumo che questi +6 corrispondano alle lettere/spazi/numeri di TEST 2?
    in questo caso se ho una parola che occupa 13 (TESTO 8912348)spazi dovrò aggiungere +13, ma non capisco i +1 .
    e un altra domanda, in certe parti vedo un "TEST 2" in altre "TEST 2 " mi sono perso pure qui.
    se mi spiegassi te ne sarei grato:)

    grazie ancora

  23. #21
    L'avatar di pkrome59
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Reggio Calabria
    Età
    58
    Messaggi
    1188
    Versione Office
    Office 2013
    Likes ricevuti
    1198
    Likes dati
    2133
    Ciao die84albe, hai intuito perfettamente, "+6" rappresenta il numero di caratteri della stringa "TEST 2", dal momento che anche lo " " rappresenta un carattere, per cui la congettura che fai è esatta (se hai una parola composta da 13 caratteri (TESTO 8912348) dovrai aggiungere +13;
    Il "+1", è una costante unitaria che sommata in questo caso alla funzione TROVA(",";A2;1)+1, ci consente di iniziare ad estrarre a partire del carattere successivo alla ",";TROVA("#";A2;1)+1, ci consente di iniziare ad estrarre a partire del carattere successivo a "#".

    Per quanto riguarda "TEST 2 " al posto di "TEST 2", perché avendo sviluppato la formula per parti per poi assemblarla, laddove è interessato "TEST 2" ho la necessità di aggiungere "1"; laddove vi è "TEST 2 ", non ho bisogno di aggiungere "1".
    Tieni presente che avrei potuto mantenere l'uso dell'uno o dell'altro indifferentemente con l'accortezza di aggiungere o non aggiungere "1".

    Ciao

  24. #22
    L'avatar di die84albe
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    italia
    Messaggi
    11
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    1
    Ciao pkrome59, ho apportato le modifiche in base al nome TEST 2 e il +6 però noto che varia anche in base al cambiamento di TEST1, come nel caso che riportavo prima, TEST1 varia assieme al TESTO 8912348,
    ma non è di 13 caratteri, nello specifico è composto da 11 caratteri.
    difatti come risultato della funzione ho (in cella C): luogo - TES (in cui TES è il residuo del nuovo valore TEST1)
    ho provato ad eliminarlo in massa con sostituisci ma perdo caratteri nel valore uscente di "luogo"
    sto impazzendo:187:

  25. #23
    L'avatar di die84albe
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    italia
    Messaggi
    11
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    1
    e ho notato inltre che rimane uno spazio davanti la luogo e al nome.
    Buonanotte!

  26. #24
    L'avatar di pkrome59
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Reggio Calabria
    Età
    58
    Messaggi
    1188
    Versione Office
    Office 2013
    Likes ricevuti
    1198
    Likes dati
    2133
    Buon giorno die84albe, come dice il saggio, avvolte le soluzioni più semplici sono le migliori.
    Nelle ipotesi del file che ti allego, le seguenti sono risolutrici e di facile interpretazione e non ultimo adattabili alla bisogna sostituendo di volta in volta le parole chiavi:
    "TEST 2" e "TEST1" con dei caratteri rari tramite la funzione "Sostituisci" e "CodiceCarattere".

    In B2:
    =SE.ERRORE(SE(TROVA("TEST 2";A2)>0;STRINGA.ESTRAI(A2;TROVA("TEST2";A2)+6;TROVA(",";A2;TROVA("TEST 2";A2))-(TROVA("TEST 2";A2)+6)));STRINGA.ESTRAI(A2;1;TROVA(",";A2;1)-1))

    In C2:
    =SE.ERRORE(SE(TROVA("TEST 2";A2)>0;STRINGA.ESTRAI(A2;TROVA(",";A2;TROVA("TEST 2";A2))+1;TROVA("TEST1";A2)-TROVA(",";A2;TROVA("TEST 2";A2))-3));STRINGA.ESTRAI(A2;TROVA(",";A2;1)+1;TROVA(" - ";A2)-TROVA(",";A2;1)))

    Entrambe da tirare giù alla bisogna.
    Allego il file di prova.

    N.B. Per la presenza della "," nella formula non ti devi preoccupare, perché la funzione trova col terzo argomento, in genere facoltativo mentre in questo caso risolutrice, andrà a trovare l'ultima "," presente nel testo.

    Fa sapere.
    File Allegati File Allegati

  27. #25
    L'avatar di pkrome59
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Reggio Calabria
    Età
    58
    Messaggi
    1188
    Versione Office
    Office 2013
    Likes ricevuti
    1198
    Likes dati
    2133
    Buon giorno die84albe, ricopio le formule perché mi sono accorto che la formula in B2 del post#24, per errore di trascrizione avevo scritto "TEST2" invece di "TEST 2".

    In B2:
    =SE.ERRORE(SE(TROVA("TEST 2";A2)>0;STRINGA.ESTRAI(A2;TROVA("TEST 2";A2)+6;TROVA(",";A2;TROVA("TEST 2";A2))-(TROVA("TEST 2";A2)+6)));STRINGA.ESTRAI(A2;1;TROVA(",";A2;1)-1))

    In C2:
    =SE.ERRORE(SE(TROVA("TEST 2";A2)>0;STRINGA.ESTRAI(A2;TROVA(",";A2;TROVA("TEST 2";A2))+1;TROVA("TEST1";A2)-TROVA(",";A2;TROVA("TEST 2";A2))-3));STRINGA.ESTRAI(A2;TROVA(",";A2;1)+1;TROVA(" - ";A2)-TROVA(",";A2;1)))

    Entrambe da tirare giù alla bisogna.
    Allego il file di prova.


    Fa sapere.

  28. #26
    L'avatar di pkrome59
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Reggio Calabria
    Età
    58
    Messaggi
    1188
    Versione Office
    Office 2013
    Likes ricevuti
    1198
    Likes dati
    2133
    Ciao die84albe, nell'eventualità che i dati estratti dal tuo DB debbano essere riutilizzati in formule successive è bene che venga utilizzata un'altra funzione "Annulla.Spazi", la quale per definizione toglie gli spazi iniziali e finali alle stringhe.
    Per cui le formule riadattate saranno le seguenti:

    In B2:
    =ANNULLA.SPAZI(SE.ERRORE(SE(TROVA("TEST 2";A2)>0;STRINGA.ESTRAI(A2;TROVA("TEST 2";A2)+6;TROVA(",";A2;TROVA("TEST 2";A2))-(TROVA("TEST 2";A2)+6)));STRINGA.ESTRAI(A2;1;TROVA(",";A2;1)-1)))

    In C2:
    =ANNULLA.SPAZI(SE.ERRORE(SE(TROVA("TEST 2";A2)>0;STRINGA.ESTRAI(A2;TROVA(",";A2;TROVA("TEST 2";A2))+1;TROVA("TEST1";A2)-TROVA(",";A2;TROVA("TEST 2";A2))-3));STRINGA.ESTRAI(A2;TROVA(",";A2;1)+1;TROVA(" - ";A2)-TROVA(",";A2;1))))

    Entrambe da tirare giù alla bisogna.

    Ciao.

Discussioni Simili

  1. [Risolto] Applicare stringa.estrai in userform
    Di G.Bove nel forum Domande su Excel VBA e MACRO
    Risposte: 13
    Ultimo Messaggio: 28/01/17, 23:37
  2. Estrai Stringa
    Di Pacifico437 nel forum Domande su Excel VBA e MACRO
    Risposte: 9
    Ultimo Messaggio: 31/07/16, 19:35
  3. Stringa estrai che mi escluda lo zero
    Di BRAZ66 nel forum Domande su Excel in generale
    Risposte: 4
    Ultimo Messaggio: 15/07/16, 19:29
  4. Funzione Stringa estrai+Trova
    Di Berna11 nel forum Domande su Excel in generale
    Risposte: 9
    Ultimo Messaggio: 24/02/16, 11:34
  5. Stringa estrai
    Di nick0573 nel forum Domande su Excel in generale
    Risposte: 15
    Ultimo Messaggio: 17/11/15, 11:11

Tag per Questa Discussione

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
  •