Extracción de números de calles de una dirección (Microsoft Excel)
Allan tiene una lista de varios cientos de nombres y direcciones. Las direcciones de las calles van desde Main Street, 123 Main Street, US RT 2 o 187 South Elm St. Le gustaría separar el número de la calle de las direcciones.
Entonces, la dirección 123 Main Street terminaría con «123» en una celda y «Main Street» en otra. Si no hay un número de calle, nada termina en la columna del número de calle. La herramienta Texto a columnas no funcionará y se pregunta cómo puede hacerlo.
En un mundo perfecto, Excel le permitiría dividir fácilmente los números de los nombres de las calles. Dado que esta opción no existe, tiene un par de opciones. La opción que lleva más tiempo consiste en agregar una columna adicional y volver a escribir los datos. Sin embargo, si desea ahorrar algo de tiempo, puede utilizar una variedad de fórmulas para realizar la tarea.
Suponiendo que la lista de direcciones está en la columna A (comenzando en la celda A1), podría usar una fórmula similar a la siguiente para extraer la parte numérica de la dirección:
=IF(ISERROR(VALUE(LEFT(A1,1))),"",LEFT(A1,FIND(" ",A1)-1))
Suponiendo que pones la fórmula en la celda B1, podrías usar una fórmula diferente para derivar la parte no numérica de la dirección:
=TRIM(RIGHT(A1,LEN(A1)-LEN(B1)))
Tenga en cuenta que este enfoque tiene una limitación. Algunas direcciones, especialmente en las principales áreas metropolitanas, utilizan un formato como 152-33 Bell Blvd. Las fórmulas anteriores funcionarán para estas direcciones, pero si se usa la alternativa 152 33 Bell Blvd., la fórmula se analizará incorrectamente. A menos que desee comprar un programa de análisis de direcciones desarrollado profesionalmente, las fórmulas anteriores y una exploración visual rápida de los resultados deberían ser adecuadas.
Otra fórmula funciona en este caso. Suponiendo que su dirección está en la celda A2, ingrese la siguiente fórmula en la celda B2:
=IF(ISNUMBER(VALUE(LEFT(A2,1))),VALUE(LEFT(A2,FIND(" ",A2)-1)),"")
Esta fórmula dice: «Si el primer carácter no es un número, deje la celda en blanco. De lo contrario, déme todos los caracteres de la izquierda hasta el primer espacio, pero sin incluirlo». Luego, puede usar el resultado de esta fórmula para extraer la parte no numérica de la dirección:
=IF(B2="",A2,MID(A2,FIND(" ",A2)+1,99))
Otro enfoque consiste en utilizar una fórmula de matriz. Aquí nuevamente, asumiendo que su dirección está en la celda A2, puede usar lo siguiente:
=IF(ISNUMBER(1*MID(A2,ROW($1:$1),1)) = TRUE, LEFT(A2,FIND(" ",A2,1)),"")
Dado que esta es una fórmula de matriz, debe ingresarla usando Ctrl + Shift + Enter. El resultado es que la fórmula devuelve la parte numérica inicial de la dirección. Luego puede determinar la parte no numérica usando la siguiente fórmula de matriz:
=IF(ISNUMBER(1*MID(A2,ROW($1:$1),1)) = TRUE, RIGHT(A2,LEN(A2)-FIND(" ",A2,1)),A2)
Por último, la siguiente macro se puede utilizar para separar la dirección de la calle del nombre de la calle.
Sub GetStreetNum() Dim sStreet As String Dim J As Integer Dim iNum As Integer For Each cell In Selection sStreet = cell.Value J = InStr(sStreet, " ") If J > 0 Then iNum = Val(Left(sStreet, J)) If iNum > 0 Then cell.Offset(0, 1).Value = iNum sStreet = Trim(Mid(sStreet, J, Len(sStreet))) End If End If cell.Offset(0, 2).Value = sStreet Next End Sub
Para usar esta macro, simplemente seleccione el rango de celdas que contienen sus direcciones y luego ejecútelo. La parte inicial numérica de la dirección aparecerá en la celda a la derecha de cada dirección y el saldo de la dirección se colocará en la celda a la derecha de esa. (Por lo tanto, debe asegurarse de que haya dos columnas en blanco a la derecha de las direcciones que seleccione).
_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 (8029) se aplica a Microsoft Excel 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posterior) aquí:
link: / excelribbon-Extracting_Street_Numbers_from_an_Address [Extraer números de calles de una dirección]
.