Saltar al contenido
View in the app

A better way to browse. Learn more.

Ayuda Excel

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Fórmula para volcar caracteres de una cadena en celdas

publicado

Hola,

Trabajando con Excel 2016, estoy tratando de extraer todos los caracteres de una cadena de texto en diferentes celdas (un "split" caracter a caracter de un texto a celdas) pero no veo la manera.

Por favor, ¿seríais tan amables de echarme una mano?

Gracias 

Featured Replies

publicado

Hola,

...separar en diferentes celdas... ¿en vertical? ¿en horizontal? ¿en diagonal? ¿seguidas? ¿en alguna determinada cadencia?

Para tenerlo claro, ¿por qué no subes un archivo con varios ejemplos resueltos (qué tienes y qué esperas conseguir)?

publicado

Esta UDF hace lo que quieres:

Function SeparaChars(Celda As String) As Variant
Dim Cadena() As Variant
ReDim Cadena(Len(Celda) - 1)
For x = 1 To UBound(Cadena) + 1: Cadena(x - 1) = Mid(Celda, x, 1): Next
SeparaChars = Cadena
End Function

 

publicado
  • Autor
Hace 1 hora, Antoni dijo:

Esta UDF hace lo que quieres:

Function SeparaChars(Celda As String) As Variant
Dim Cadena() As Variant
ReDim Cadena(Len(Celda) - 1)
For x = 1 To UBound(Cadena) + 1: Cadena(x - 1) = Mid(Celda, x, 1): Next
SeparaChars = Cadena
End Function

 

Disculpad la ignorancia, soy muy nuevo con la UDFs, ¿cómo podría visualizar el valor devuelto en la hoja Excel? (ahora mismo sólo consigo visualizar el primer valor del array devuelto)

publicado

Hola de nuevo a todos,

Aprovechando el archivo de @Antoni, y si ésa es la solución que se busca, doy otra solución para M365 (por si a alguien le interesa), con fórmulas:

=TOMAR(EXTRAE(A6;COLUMNA(A5:ZZ5);1);;LARGO(A6))

Evalúa el dato de A6, que puede copiarse en vertical hasta donde sea necesario.

En este caso, no sería necesaria la extensión *.xlsm; bastaría con *xlsx

Saludos,

Separar caracteres (B).xlsm

publicado

...y bueno, ya puestos, podría utilizarse 1 única fórmula de matriz derramada para todo el rango:

=LET(a;A6:A8;TOMAR(EXTRAE(a;COLUMNA(A5:ZZ5);1);;MAX(LARGO(a))))

Bastará modificar el primer argumento (A6:A8) por el rango real que ocupen todos los datos.  Por supuesto, siempre refiriéndonos a M365.

Saludos,

Separar caracteres (C).xlsm

publicado
  • Autor

Muchas gracias a todos, habéis sido de gran ayuda y he aprendido un montón a raíz de todos vuestros comentarios.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.