Farris tiene una hoja de trabajo que contiene direcciones. Algunas direcciones son muy cercanas a lo mismo, de modo que la dirección de la calle es la misma y solo difiere la parte del número de suite de la dirección. Por ejemplo, una fila puede tener una dirección de «85 Seymour Street, Suite 101» y otra fila puede tener una dirección de «85 Seymour Street, Suite 412». Farris se pregunta cómo eliminar los duplicados en la lista de direcciones basándose en una coincidencia parcial, basada únicamente en la dirección de la calle e ignorando el número de la suite.

La solución más simple es dividir las direcciones en columnas separadas, de modo que el número de suite esté en su propia columna. Puede hacerlo siguiendo estos pasos:

  1. Asegúrese de que haya una columna en blanco a la derecha de la columna de dirección.

  2. Seleccione las celdas que contienen direcciones.

  3. Muestre la pestaña Datos de la cinta.

  4. Haga clic en la herramienta Texto a columnas en el grupo Herramientas de datos. Excel inicia el asistente Convertir texto en columnas. (Ver figura 1)

  5. En el primer paso del Asistente, asegúrese de que la opción Delimitada esté seleccionada, luego haga clic en Siguiente.

  6. En el segundo paso del Asistente, asegúrese de que la casilla de verificación Coma esté seleccionada y luego haga clic en Siguiente.

  7. En el tercer paso del asistente, haga clic en Finalizar.

La dirección de la calle ahora debería residir en la columna original y la columna en blanco antes debería contener ahora todo lo que estaba después de la coma en las direcciones originales. En otras palabras, el número de suite está en su propia columna. Con sus datos en esta condición, es un paso fácil utilizar el filtrado para mostrar o extraer las direcciones postales únicas.

Si no desea dividir permanentemente las direcciones en dos columnas, puede usar una fórmula para determinar los duplicados. Suponiendo que la lista de direcciones está ordenada, podría usar una fórmula similar a la siguiente:

=IF(OR(ISERROR(FIND(",",A3)),ISERROR(FIND(",",A2))), "",IF(LEFT(A3,FIND(",",A3))=LEFT(A2,FIND(",",A2)), "Duplicate",""))

Esta fórmula supone que las direcciones que se van a verificar están en la columna A y que esta fórmula se coloca en algún lugar de la fila 3 de una columna diferente. Primero verifica si hay una coma en la dirección en la fila actual o en la dirección en la fila anterior. Si no hay coma en ninguna de las direcciones, se asume que no hay posibles duplicados.

Si hay una coma en ambos, la fórmula verifica la parte de las direcciones antes de la coma. Si coinciden, entonces la palabra «Duplicar»

es regresado; si no coinciden, no se devuelve nada.

El resultado de copiar la fórmula en la columna (de modo que una fórmula corresponda a cada dirección) es que tendrá la palabra «Duplicar»

aparecen junto a las direcciones que coinciden con la primera parte de la dirección anterior. A continuación, puede averiguar qué quiere hacer con los duplicados que se encuentran.

Otra opción es utilizar una macro para determinar sus posibles duplicados.

Hay muchas formas en las que se puede diseñar una macro para determinar duplicados; el que se muestra aquí simplemente verifica los primeros X caracteres de un valor de «clave» contra un rango y devuelve la dirección de la primera celda coincidente.

Function NearMatch(vLookupValue, rng As Range, iNumChars)

Dim x As Integer     Dim sSub As String

Set rng = rng.Columns(1)

sSub = Left(vLookupValue, iNumChars)

For x = 1 To rng.Cells.Count         If Left(rng.Cells(x), iNumChars) = sSub Then             NearMatch = rng.Cells(x).Address             Exit Function         End If     Next     NearMatch = CVErr(xlErrNA)

End Function

Por ejemplo, supongamos que sus direcciones están en el rango A2: A100.

En la columna B puede utilizar esta función NearMatch para devolver direcciones de posibles duplicados. En la celda B2 ingrese la siguiente fórmula:

=NearMatch(A2,A3:A$100,12)

El primer parámetro de la función (A2) es la celda que desea utilizar como su «clave». Los primeros 12 caracteres de esta celda se comparan con los primeros 12 caracteres de cada celda en el rango A3: A $ 100. Si se encuentra una celda en ese rango en el que coinciden los primeros 12 caracteres, la función devuelve la dirección de esa celda. Si no se encuentra ninguna coincidencia, se devuelve el error # N / A. Si copia la fórmula en B2 hacia abajo, en las celdas B3: B100, cada dirección correspondiente en la columna A se compara con todas las direcciones debajo. Terminas con una lista de posibles duplicados en la lista original.

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (7886) se aplica a Microsoft Excel 2007, 2010, 2013 y 2016.

Puede encontrar una versión de este consejo para la interfaz de menú anterior de Excel aquí:

link: / excel-Removing_Duplicates_Based_on_a_Partial_Match [Eliminación de duplicados basados ​​en una coincidencia parcial].