Necesito mantener el orden de los datos. Entonces, para explicar, necesito mover los datos del celular.
a1 a b1,
a2 a c1,
a3 a d1,
a4 a e1,
a5 a f1,
a6 a g1,
a7 a h1,
a8 a i1,
a9 a B2
a10 a C2
a11 a D2
a12 a E2
a13 a F2
a14 a G2
a15 a H2
a16 a I2
Enjuague y repita hasta haber revisado las 24000 entradas de la columna A.
Ciertamente, existe una manera fácil de lograr esto mediante macro o vba. ¿Quizás una característica de las versiones más recientes ya podría hacer esto?
Respuesta1
Aquí hay una solución VBA:
Option Explicit
Private Sub ReArrangeCells()
Dim ws As Worksheet, LastRow As Long
Set ws = Excel.ActiveSheet
LastRow = Range("A65536").End(xlUp).Row
Dim i As Long, j As Long, FromCell As Range, ToCell As Range, sNewCol As String, sNewRow As String
For i = 1 To LastRow
Set FromCell = ws.Range("A" & i) 'the cell we want to move
sNewCol = IIf(i Mod 8 = 0, Chr$(72), Chr$((i Mod 8) + 64))
sNewRow = IIf(i Mod 8 = 0, (i \ 8), (i \ 8) + 1)
Set ToCell = ws.Range(sNewCol & sNewRow) 'the cell we want to copy the data to
FromCell.Copy ToCell
If i <> 1 Then FromCell.Clear
If i Mod 100 = 0 Then DoEvents
Next i
End Sub
Respuesta2
Aquí hay una solución. Se supone lo siguiente:
- Todos los datos originales están en la columna A.
- La columna B contiene solo el índice de la fila.
Fórmula: =INDIRECT(CONCATENATE("a",$B2*8 + col_offset))
donde col_offset es el número de columna (indexada a cero). Entonces en la primera columna estaría =INDIRECT(CONCATENATE("a",$B2*8))
y en la octava columna estaría =INDIRECT(CONCATENATE("a",$B2*8+7))
.
Una imagen para aclarar las cosas:
Editar:Nueva fórmula: =INDIRECT(CONCATENATE("a",(ROW()-2)*8+(COLUMN()-3)))
donde -2
y -3
son desplazamientos de filas y columnas. Simplemente pegue esto en todas las celdas donde desea que aparezcan sus datos. (esta solución es mejor porque ahora se puede eliminar la columna B)
Respuesta3
Las respuestas de VBA son las mejores para manejar una gran cantidad de datos, pero señalaré que también puedes hacerlo copiando y pegando usando "Transponer". Es una solución sencilla con un clic derecho para necesidades pequeñas. Esto se aplica con seguridad a 2010 y creo que también a 2007.
Parece que tampoco puedo hacer imágenes todavía.
- Copia tus celdas verticalmente
- Haga clic derecho en otra celda y use la cuarta opción en "Opciones de pegado" (parece dos rectángulos azules en ángulo recto)
Más rápido en algunas circunstancias.