Fai la tua domanda

Revision history [indietro]

click to hide/show revision 1
versione iniziale

Utilizzo un metodo simile a https://ask.libreoffice.org/en/question/18059/how-to-reorder-first-name-last-name-in-a-text-string/?answer=18062#post-id-18062

Ricordati di attivare le espressioni regolari nelle formule da Opzioni > Calc > Calcola > Permetti espressioni regolari.

Poi dobbiamo controllare vari casi: persone con piú di un nome o cognome; cognome che cominci per "di", "de" o simili (preposizioni e preposizioni articolate, per semplicità suppongo siano di 2 o 3 caratteri); rimozione di apostrofi (ed eventualmente trattini). Presumo anche che sia usato solo il primo nome e il primo cognome.

Se il nome è in colonna A, cognome in colonna B, il punto in C1 e il @dominio in D1 la formula sarà qualcosa come:

==SOSTITUISCI(MINUSC(CONCATENA(SE(CONTA.SE(A1;".+ .+");SINISTRA(A1;TROVA(" ";A1)-1);A1);$I$1;SE(CONTA.SE(B1;"^.. .+ .+");SINISTRA(B1;TROVA(" ";SOSTITUISCI(B1;"^(..) ";#RIF!$1)-1+2));SE(CONTA.SE(B1;".+ .+");SOSTITUISCI(B1;" ";"");B1));$J$1));"'";"")

Utilizzo un metodo simile a https://ask.libreoffice.org/en/question/18059/how-to-reorder-first-name-last-name-in-a-text-string/?answer=18062#post-id-18062

Ricordati di attivare le espressioni regolari nelle formule da Opzioni > Calc > Calcola > Permetti espressioni regolari.

Poi dobbiamo controllare vari casi: persone con piú di un nome o cognome; cognome che cominci per "di", "de" o simili (preposizioni e preposizioni articolate, per semplicità suppongo siano di 2 o 3 caratteri); rimozione di apostrofi (ed eventualmente trattini). Presumo anche che sia usato solo il primo nome e il primo cognome.

Se il nome è in colonna A, cognome in colonna B, il punto in C1 e il @dominio in D1 la formula sarà qualcosa come:

==SOSTITUISCI(MINUSC(CONCATENA(SE(CONTA.SE(A1;".+ .+");SINISTRA(A1;TROVA(" ";A1)-1);A1);$I$1;SE(CONTA.SE(B1;"^.. ";A1)-1);A1);$C$1;SE(CONTA.SE(B1;"^.. .+ .+");SINISTRA(B1;TROVA(" ";SOSTITUISCI(B1;"^(..) ";#RIF!$1)-1+2));SE(CONTA.SE(B1;".+ ";B1)-1+2));SE(CONTA.SE(B1;".+ .+");SOSTITUISCI(B1;" ";"");B1));$J$1));"'";"")
";"");B1));$D$1));"'";"")

Utilizzo un metodo simile a https://ask.libreoffice.org/en/question/18059/how-to-reorder-first-name-last-name-in-a-text-string/?answer=18062#post-id-18062

Ricordati di attivare le espressioni regolari nelle formule da Opzioni > Calc > Calcola > Permetti espressioni regolari.

Poi dobbiamo controllare vari casi: persone con piú di un nome o cognome; cognome che cominci per "di", "de" o simili (preposizioni e preposizioni articolate, per semplicità suppongo siano di 2 o 3 caratteri); rimozione di apostrofi (ed eventualmente trattini). Presumo anche che sia usato solo il primo nome e il primo cognome.

Se il nome è in colonna A, cognome in colonna B, il punto in C1 e il @dominio in D1 la formula sarà qualcosa come:

==SOSTITUISCI(MINUSC(CONCATENA(SE(CONTA.SE(A1;".+ =SOSTITUISCI(MINUSC(CONCATENA(SE(CONTA.SE(A1;".+ .+");SINISTRA(A1;TROVA(" ";A1)-1);A1);$C$1;SE(CONTA.SE(B1;"^.. .+ .+");SINISTRA(B1;TROVA(" ";SOSTITUISCI(B1;"^(..) ";B1)-1+2));SE(CONTA.SE(B1;".+ .+");SOSTITUISCI(B1;" ";"");B1));$D$1));"'";"")

L'ho poi cambiato in questo per tenere conto dei cognomi che cominciano per Di/De/Al e poi hanno uno o due nomi:

=SOSTITUISCI(MINUSC(CONCATENA(SE(CONTA.SE(E2;".+ .+");SINISTRA(E2;TROVA(" ";E2)-1);E2);$G$1;SE(CONTA.SE(D2;"^.. .+ .+");SINISTRA(SOSTITUISCI(D2;" ";"";1);TROVA(" ";SOSTITUISCI(D2;" ";""; 1))-1);SE(CONTA.SE(D2;"^.. .+");SOSTITUISCI(D2;" ";"";1);SE(CONTA.SE(D2;".+ .+");SINISTRA(D2;TROVA(" ";D2)-1);D2)));$H$1));"'";"")