Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

TROVARE NOME COGNOME ANCHE SE INVERTITO

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

TROVARE NOME COGNOME ANCHE SE INVERTITO

Postdi scanacc » 15/10/20 19:29

Domanda da 100 milioni di dollari.
in una stringa di testo c'è scritto MARIO LUIGI ROSSI (A1)
Vorrei sapere se esiste una formula che riesce a informarmi, attraverso il confronto con la cella B2 dove c'è scritto LUIGI MARIO ROSSI oppure ROSSI LUIGI MARIO, che si tratta della solita persona.
Ovviamente facendo finta che non esistono omonimie.
Grazie per il sicuro aiuto
scanacc
Utente Senior
 
Post: 282
Iscritto il: 06/12/15 10:30

Sponsor
 

Re: TROVARE NOME COGNOME ANCHE SE INVERTITO

Postdi Anthony47 » 15/10/20 23:23

Un noto adagio dice: Shit in, shit out (traduzione disponibile su richiesta)
Puntare sul nome/cognome per identificare in modo univoco le persone e' una strada che si sa dove porta...
Comunque metti questo codice in un modulo standard del tuo Progetto Vba:
Codice: Seleziona tutto
Function DuraEst(ByVal NomeA As String, NomeB As String) As Long
Dim mySplitA, mySplitB, myMatch, noMatch As Long
mySplitA = Split(NomeA & " 1", " ", , vbTextCompare)
mySplitB = Split(NomeB & " 1", " ", , vbTextCompare)
'
For I = 0 To UBound(mySplitA)
    myMatch = Application.Match(mySplitA(I), mySplitB, False)
    If IsError(myMatch) Then noMatch = noMatch + 1
Next I
If UBound(mySplitB) > UBound(mySplitA) Then
    noMatch = noMatch + UBound(mySplitB) - UBound(mySplitA)
End If
DuraEst = noMatch
End Function

Poi, se una stringa e' in A2 e l'altra in B2, metti in C2 la formula
Codice: Seleziona tutto
=DuraEst(A2;B2)

Ti verra' restituito un numero che indica quante parole di differenza ci sono tra le due stringhe.
Il risultato 0 fa pensare che ci sia probabile uguaglianza; ma conviene farci una ulteriore verifica a occhio, perche' se confronti
Giovanni De Maria con Maria De Giovanni avrai 0 come risultato ma c'e' il fondato sospetto che siano persone diverse.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17219
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: TROVARE NOME COGNOME ANCHE SE INVERTITO

Postdi wallace&gromit » 16/10/20 09:53

Oppure come il mio barbiere che si chiama Albino Pinto de Sousa, ma anche Albino de Sousa Freitas oppure Albino Freito Pinto o semplicemente Batista!
Office2016 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2024
Iscritto il: 16/01/12 14:21

Re: TROVARE NOME COGNOME ANCHE SE INVERTITO

Postdi Marius44 » 16/10/20 21:36

Salve a tutti

Basandomi sul titolo non capisco come Excel o VBA possano distinguere le ... preferenze sessuali
TROVARE NOME COGNOME ANCHE SE "" INVERTITO ""

:lol: :lol: :lol:

Ovviamente scherzo.
Supponiamo di avere un elenco di nominativi nell'intervallo D2:D15
Vogliamo che vengano estratti tutti i nomi che coincidono con quello inserito in A2

Se in G2 inserisco questa formula (e la copio fino a G15)
=SE.ERRORE(INDICE($D$2:$D$15;AGGREGA(15;6;RIF.RIGA($D$2:$D$15)/((TROVA(A$2;$D$2:$D$15)>0)*(A$2<>""))-RIF.RIGA($A$2)+1;RIF.RIGA($A1)));"")

ottengo l'elenco cercato.
Provare per credere :)
https://www.dropbox.com/s/aaei015g5ng0v4l/Estraz_Marius.xlsx?dl=0

Ciao,
Mario
Marius44
Utente Senior
 
Post: 516
Iscritto il: 07/09/15 22:00

Re: TROVARE NOME COGNOME ANCHE SE INVERTITO

Postdi Anthony47 » 16/10/20 23:44

Interessante, Mario; e' un altro possibile modo per indagare combinazione per combinazione

Ma temo che scanacc debba cercare altri modi per individuare in modo univoco i suoi nominativi: credo che strumenti come il CodiceFiscale o la Partita Iva o la Matricola aziendale siano stati inventati proprio per questo.

CIAO!
Avatar utente
Anthony47
Moderatore
 
Post: 17219
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: TROVARE NOME COGNOME ANCHE SE INVERTITO

Postdi scanacc » 22/10/20 09:08

Penso di aver risolto. Almeno se il NOME E COGNOME è composto da non più di 3 parole.
Esempio in A1 è scritto LUIGI MARIO ROSSI
1) Ho creato una tabella che scompone il nome.
2) Lo ho scomposto in tutti i vari modi (i nomi e cognomi composti da 3 parole si possono comporre in 6 modi) e l'ho scomposto anche nell'eventualità siano riportati solo 2 parole su 3 (anche qui si possono scomporre in 6 modi)
3) ho creato una colonna di CONCATENA
4) Ho chiesto alla cella in B2 dove è riportato ROSSI LUIGI MARIO di confrontarsi con i nomi riportati nella colonna CONCATENA.
Sembra che funzioni
scanacc
Utente Senior
 
Post: 282
Iscritto il: 06/12/15 10:30

Re: TROVARE NOME COGNOME ANCHE SE INVERTITO

Postdi scanacc » 22/10/20 09:15

Ovviamente si può adottare anche con nomi composti da 4 parole e più ma per ora mi va bene così
scanacc
Utente Senior
 
Post: 282
Iscritto il: 06/12/15 10:30


Torna a Applicazioni Office Windows


Topic correlati a "TROVARE NOME COGNOME ANCHE SE INVERTITO":


Chi c’è in linea

Visitano il forum: Nessuno e 19 ospiti

cron