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