Cómo crear nuevas columnas a partir de datos en la columna A en Excel

Cómo crear nuevas columnas a partir de datos en la columna A en Excel

Tengo una hoja de Excel donde todos los datos están en la columna A. Quiero hacer columnas separadas de cada 9 celdas.

Mover celdas a columnas

¿Es VBA la mejor manera de hacer esto?

Respuesta1

Te sugiero que pruebes fórmulas.

Como =IF(OFFSET($A$1,MOD(COLUMN(A1)-1,9)+(ROW(A1)-1)*9,)=0,"",OFFSET($A$1,MOD(COLUMN(A1)-1,9)+(ROW(A1)-1)*9,)).

ingrese la descripción de la imagen aquí

Respuesta2

Puede utilizar la =INDEX()función para reorganizar sus datos.

Por ejemplo, si su entrada está en la columna de la hoja de trabajo Aque comienza en la celda A1y desea que la celda superior izquierda de su salida esté en la celda, C10use la siguiente fórmula en la celdaC10

=INDEX($A:$A,9*(ROW()-ROW($C$10))+1+COLUMN()-COLUMN($C$10))

Si desea que las dimensiones de la salida tengan un ancho distinto de 9 columnas, sustituya el valor elegido por el 9 en la fórmula. De manera similar, si la entrada no comienza en la fila 1

Luego, esta fórmula se puede copiar al resto de su área de salida.

Si tienes Excel para Microsoft 365 o Excel 2021 entonces puedes incorporar el tipo de sustitución sugerida por @Emily pero sin la engorrosa repetición usando la =LET()función. Por ejemplo:

=LET(cell,INDEX($A:$A,9*(ROW()-ROW($C$10))+1+COLUMN()-COLUMN($C$10)),IF(cell=0,"",cell))

o

=LET(cell,INDEX($A:$A,9*(ROW()-ROW($C$10))+1+COLUMN()-COLUMN($C$10)),IF(ISBLANK(cell),"",cell))

información relacionada