Pagina 1 di 1

dividi 2 nomi in celle diverse

MessaggioInviato: 21 nov 2011, 19:03
da trittico69
Ho dei nominativi in una cella “A1” in un foglio "B”
In un atro foglio “I” in “A1” devo mettere una formula che:
tolga gli spazi-ANNULLA.SPAZI
trasformi in maiuscolo-MAIUSC
non faccia visualizzare "valore" se la cella “A1” del foglio “B” è vuota
se sono due nomi separarli in due celle “A1” e “B1”- MAIUSC(SINISTRA(ANNULLA.SPAZI(B!A1);TROVA(" ";ANNULLA.SPAZI(B!A1))-1))
MAIUSC(ANNULLA.SPAZI(SOSTITUISCI(MAIUSC(B!A1);A2;"";1)))
se sono tre mettere i primo due nella prima cella e il terzo nella seconda
se sono 4 nomi mettere 2 nella prima e 2 nella seconda
se sono 5 mettere 3 nella prima e 2 nella seconda
se sono 6 mettere 3 nella prima e tre nella seconda
se sono 7 mettere 4 nella prima e 3 nella seconda
questo perché ci sono nominativi stranieri che hanno numerosi nomi..
non faccia visualizzare "valore" se la cella “A1” del foglio “B” è vuota
spero che qualcuno riesca a farlo con un unica formula...
no macro-codice
grazie...

Re: dividi 2 nomi in celle diverse

MessaggioInviato: 22 nov 2011, 0:07
da c1b8
Se in A1 hai il nome di partenza, se il nome non contiene MAI il carattere "#" allora:
La prima parte del nome la ottiene con:
Codice: Seleziona tutto
=MAIUSC(SE(ANNULLA.SPAZI(A1)="";"";SINISTRA(ANNULLA.SPAZI(A1);SE.ERRORE(TROVA("#";SOSTITUISCI(ANNULLA.SPAZI(A1);" ";"#";LUNGHEZZA(ANNULLA.SPAZI(A1))-LUNGHEZZA(SOSTITUISCI(ANNULLA.SPAZI(A1);" ";""))));LUNGHEZZA(ANNULLA.SPAZI(A1))))))

La seconda parte con:
Codice: Seleziona tutto
=MAIUSC(SE(ANNULLA.SPAZI(A1)="";"";DESTRA(ANNULLA.SPAZI(A1);LUNGHEZZA(ANNULLA.SPAZI(A1))-SE.ERRORE(TROVA("#";SOSTITUISCI(ANNULLA.SPAZI(A1);" ";"#";LUNGHEZZA(ANNULLA.SPAZI(A1))-LUNGHEZZA(SOSTITUISCI(A1;" ";""))));LUNGHEZZA(ANNULLA.SPAZI(A1))))))

Devi gestire i diversi fogli.

Re: dividi 2 nomi in celle diverse

MessaggioInviato: 22 nov 2011, 0:38
da trittico69
la prima formula che ho messo in A1 mi da errore e la seconda in B2 mi da zero
ricordo che ho excel 2003

Re: dividi 2 nomi in celle diverse

MessaggioInviato: 22 nov 2011, 10:01
da c1b8
Per Excel 2003 è richiesta una piccola modifica.
I test che ho effettuato sono i seguenti:
- in A1 ho digitato il nome da dividere
- in C1 ho inserito la seguente formula necessaria ad estrarre la prima parte del nome:
Codice: Seleziona tutto
=MAIUSC(SINISTRA(ANNULLA.SPAZI(A1);SE(VAL.ERRORE(TROVA("#";SOSTITUISCI(ANNULLA.SPAZI(A1);" ";"#";LUNGHEZZA(ANNULLA.SPAZI(A1))-LUNGHEZZA(SOSTITUISCI(A1;" ";"")))));LUNGHEZZA(ANNULLA.SPAZI(A1));TROVA("#";SOSTITUISCI(ANNULLA.SPAZI(A1);" ";"#";LUNGHEZZA(ANNULLA.SPAZI(A1))-LUNGHEZZA(SOSTITUISCI(A1;" ";"")))))))

- in D1 ho inserito la seguente formula necessaria ad estrarre l'ultima parte del nome:
Codice: Seleziona tutto
=MAIUSC(DESTRA(ANNULLA.SPAZI(A1);LUNGHEZZA(ANNULLA.SPAZI(A1))-SE(VAL.ERRORE(TROVA("#";SOSTITUISCI(ANNULLA.SPAZI(A1);" ";"#";LUNGHEZZA(ANNULLA.SPAZI(A1))-LUNGHEZZA(SOSTITUISCI(A1;" ";"")))));LUNGHEZZA(ANNULLA.SPAZI(A1));TROVA("#";SOSTITUISCI(ANNULLA.SPAZI(A1);" ";"#";LUNGHEZZA(ANNULLA.SPAZI(A1))-LUNGHEZZA(SOSTITUISCI(A1;" ";"")))))))

Con le modifiche effettuate funziona su Excel 2003.

Re: dividi 2 nomi in celle diverse

MessaggioInviato: 22 nov 2011, 14:16
da trittico69
la formula va bene...se si potesse fare che se ci sono 4 nomi 2 vanno in una cella e 2 in un'altra....adesso invece vanno i primi tre nella prima e l'ultimo nella seconda cella.