Separación de caracteres en una cadena larga (Microsoft Excel)
John tiene una hoja de trabajo que, en la columna A, tiene una gran cantidad de cadenas de texto muy largas. Necesita extraer individualmente los primeros 249 caracteres de cada cadena, colocando un solo carácter en cada celda a la derecha de la cadena.
Hay un par de formas de realizar esta tarea. Es bastante fácil de hacer mediante el uso de una fórmula simple. Por ejemplo, si su primera cadena de texto está en la celda A1, coloque la siguiente fórmula a su derecha, en la celda B1:
=MID($A1,COLUMN()-1,1)
Esta fórmula utiliza funciones de la hoja de cálculo de Excel para separar la cadena de texto. La función COLUMNA, en este caso, devuelve el valor 2 ya que la fórmula está en la columna B y esa es la segunda columna en la hoja de trabajo.
Este valor se reduce en 1 y luego se usa como un puntero en la cadena en la celda A1, marcando de dónde debe provenir el carácter extraído. Cuando copia esta fórmula correctamente, para la cantidad de celdas que desee, termina con caracteres individuales de la cadena, en orden consecutivo.
Por supuesto, si tiene bastantes cadenas en la hoja de trabajo (como lo hace John), entonces copiar esta fórmula en 249 columnas y hacia abajo, digamos, varios cientos de filas puede hacer que la hoja de trabajo sea muy lenta. En tales situaciones, puede ser conveniente utilizar una macro para dividir las cadenas en lugar de una fórmula. La siguiente macro, SplitUp, es un enfoque para hacer el desgarro real.
Sub SplitUp() Dim c As Range Dim r As Range Dim sTemp As String Dim z As Integer Set r = Range("A1", Range("A65536").End(xlUp)) For Each c In r sTemp = Left(c, 249) For z = 1 To Len(sTemp) c.Offset(0, z) = Mid(sTemp, z, 1) Next z Next End Sub
La macro comienza definiendo un rango (r) que consta de todas las celdas de la columna A que contienen valores. Luego, la variable c se usa para representar cada celda en el rango y los primeros 249 caracteres extraídos de cada celda. A continuación, se utiliza un bucle For … Next para extraer cada carácter de la cadena y colocarlo en una celda a la derecha de la cadena.
_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 (2790) 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 posteriores) aquí:
link: / excelribbon-Pulling_Apart_Characters_in_a_Long_String [Separando caracteres en una cadena larga]
.