Obecnie próbuję uzgodnić pola „Nazwa” z dwóch oddzielnych źródeł danych. Mam wiele nazw, które nie pasują dokładnie, ale są wystarczająco blisko, aby można je było uznać za dopasowane (przykłady poniżej). Czy masz jakieś pomysły, jak mogę poprawić liczbę automatycznych dopasowań? Już eliminuję środkowe inicjały z kryteriów meczu.
Aktualny wzór dopasowania:
=IFERROR(IF(LEFT(SYSTEM A,IF(ISERROR(SEARCH(" ",SYSTEM A)),LEN(SYSTEM A),SEARCH(" ",SYSTEM A)-1))=LEFT(SYSTEM B,IF(ISERROR(SEARCH(" ",SYSTEM B)),LEN(SYSTEM B),SEARCH(" ",SYSTEM B)-1)),"",IF(LEFT(SYSTEM A,FIND(",",SYSTEM A))=LEFT(SYSTEM B,FIND(",",SYSTEM B)),"Last Name Match","RESEARCH")),"RESEARCH")
źródło
Chciałbym skorzystać z tej listy (tylko sekcja angielska), aby pomóc wyeliminować typowe skróty.
Ponadto warto rozważyć użycie funkcji, która dokładnie powie ci, jak „zamknąć” dwa ciągi znaków. Poniższy kod przyszedł stąd i dzięki smirkingman .
Pozwoli to powiedzieć, ile wstawień i usunięć należy wykonać w jednym ciągu, aby przejść do drugiego. Spróbowałbym utrzymać ten numer na niskim poziomie (a nazwiska powinny być dokładne).
źródło
Mam (długą) formułę, której możesz użyć. Nie jest tak wyostrzony jak powyższe - i działa tylko na nazwisko, a nie na imię i nazwisko - ale może się przydać.
Więc jeśli masz wiersz nagłówka i chcesz porównać
A2
zB2
umieść to w każdej innej komórki w tym wierszu (npC2
) i skopiować w dół do końca.Zwróci to:
Następnie da ci stopień od 0 ° do 6 ° w zależności od liczby punktów porównania między nimi. (tj. 6 ° porównuje lepiej).
Jak mówię, nieco szorstki i gotowy, ale mam nadzieję, że dostaniesz mniej więcej odpowiedni bal-park.
źródło
Szukał czegoś podobnego. Znalazłem kod poniżej. Mam nadzieję, że pomoże to następnemu użytkownikowi, który przejdzie na to pytanie
Powiedziałbym, że jest wystarczająco blisko tego, czego chciałeś :)
źródło
Możesz użyć funkcji podobieństwa (pwrSIMILARITY), aby porównać ciągi i uzyskać procentowe dopasowanie tych dwóch. Możesz ustawić rozróżnianie wielkości liter lub nie. Musisz zdecydować, jaki procent dopasowania jest „wystarczająco blisko” do twoich potrzeb.
Istnieje strona referencyjna pod adresem http://officepowerups.com/help-support/excel-function-reference/excel-text-analyzer/pwrsimilarity/ .
Ale działa całkiem dobrze do porównywania tekstu w kolumnie A z kolumną B.
źródło
Chociaż moje rozwiązanie nie pozwala na identyfikację bardzo różnych ciągów, jest użyteczne przy częściowym dopasowaniu (dopasowaniu podciągu), np. „To ciąg”, a „ciąg” spowoduje „dopasowanie”:
po prostu dodaj „*” przed i po ciągu, aby wyszukać w tabeli.
Zwykła formuła:
staje się
„&” to „krótka wersja” dla concatenate ()
źródło
Ten kod skanuje kolumny a i kolumnę b, jeśli znajdzie jakieś podobieństwo w obu kolumnach, wyświetli się na żółto. Możesz użyć filtra kolorów, aby uzyskać końcową wartość. Nie dodałem tej części do kodu.
źródło