Concatenar columnas en excel

Concatenar columnas en excel

Necesita ayuda para concatenar las columnas 1 y 2 como se ve en la captura de pantalla.

ingrese la descripción de la imagen aquí

Habrá más entradas en la columna 2, quizás "Azul". Me gustaría que '1 Azul' '2 Azul' '3 Azul', etc. comiencen debajo de la entrada '6 Indigo'.

¡Espero que tenga sentido! Es muy nuevo para sobresalir y es necesario solucionarlo pronto.

EDITAR: necesito combinar toda la columna A con toda la columna B.

Respuesta1

En la celda C2 puede ingresar la fórmula a continuación y completar la fórmula hasta C13 (o lo que sea).

=OFFSET($A$2,MOD(ROW()-2,COUNTA(A:A)-1),0)&" "&OFFSET($B$2,INT((ROW()-2)/(COUNTA(A:A)-1)),0)

Explicación:

La primera parte OFFSET($A$2,MOD(ROW()-2,COUNTA(A:A)-1),0)busca la celda apropiada de la columna A. COUNTA(A:A)-1cuenta el número de elementos en la columna A (menos uno para el encabezado, es decir, la fila 1). MOD(ROW()-2,COUNTA(A:A)-1)calcula el resto cuando la fila actual (C2...C13) se divide por el número de elementos de la columna A. Este valor aparecería como (0,1,2,3,4,5,0,1,2,3, 4,5) en las células (C2...C13); compensar estos valores para hacer referencia $A$2devuelve la fila correcta en la columna A.

&" "&inserta un espacio en el medio.

La segunda parte OFFSET($B$2,INT((ROW()-2)/(COUNTA(A:A)-1)),0)es similar a la primera. Sin embargo, calcula el cociente en lugar del resto. Los valores relevantes para (C2..C13) serían (0,0,0,0,0,0,1,1,1,1,1,1). Al compensarlos con la referencia, $B$2se devuelve "Violeta" o "Índigo" o cualquier texto que siga.

Respuesta2

La única forma que se me ocurre para completar esto sería escribir un script VBA (Visual Basic para Aplicaciones), que es el lenguaje de programación detrás de las macros en Excel.

La lógica detrás de esto (lo siento, no sé el código que tengo en la cabeza) sería:

x = 0 
ForEach entry in column a
    ForEach entry in column b
         Set value of cell c1 + x
         x + 1

información relacionada