Tabla Dinamica Viceversa

02/09/2006 - 09:28 por Alex Carmen | Informe spam
Hola amigos, tengo una hoja en excel con la siguiente estructura:

ID NOMBRE BASE AREA TIPO
01 Alex B1 xx 10
02 Edgar B2 dd 10
01 Walter B3 mm 11
02 Jorge B4 kk 11

En otra hoja quiero obtener los sgts. tesultados.
COL1 COL2
1001N Alex
1001B B1
1001A xx
1102N Edgar
1102B B2
1102A dd
1103N Walter
1103B B3
1103A mm
1104N Jorge
1104B B4
1104A kk

Donde COL1 es igual a la concatenacion del campo tipo+id y por cada fila de
la "lista1" me genera 3 filas contiendo cada fila el contenido de las
columnas Nombre,Base,Area segun corresponda. (transformar las columnas a
filas).

Espero su valioso aporte, necesariamente tiene que ser en Excel, talvez con
formulas o macros.
Gracias por su atencion.

Atte.
Alex Carmen Z.
Dpto. Informática


Atte.
Alex Carmen Z.
Dpto. Informática

Preguntas similare

Leer las respuestas

#1 moon
02/09/2006 - 03:01 | Informe spam
Con un macro:

En Sheet1: A1: ID, B1: Nombre, C1: BASE, D1: AREA, E1: TIPO
En Sheet2: A1: COL1, B1: COL2

Public Sub listgen()
Dim wb As Workbook
Dim sInput, sOutput As Worksheet
Dim i, r, c As Integer
Set wb = ThisWorkbook
Set sInput = wb.Sheets("Sheet1")
Set sOutput = wb.Sheets("Sheet2")
c = 1: r = 2: i = 2
sOutput.Activate
While sInput.Cells(r, c).Value <> Empty
sOutput.Cells(i, c).Value = sInput.Cells(r, (c + 4)).Value &
sInput.Cells(r, c).Value & "N"
sOutput.Cells(i, (c + 1)).Value = sInput.Cells(r, (c + 1)).Value: i
= i + 1
sOutput.Cells(i, c).Value = sInput.Cells(r, (c + 4)).Value &
sInput.Cells(r, c).Value & "B"
sOutput.Cells(i, (c + 1)).Value = sInput.Cells(r, (c + 2)).Value: i
= i + 1
sOutput.Cells(i, c).Value = sInput.Cells(r, (c + 4)).Value &
sInput.Cells(r, c).Value & "A"
sOutput.Cells(i, (c + 1)).Value = sInput.Cells(r, (c + 3)).Value: i
= i + 1: r = r + 1
Wend
Set sOutput = Nothing
Set sInput = Nothing
Set wb = Nothing
End Sub




"Alex Carmen" schreef in bericht
news:%
Hola amigos, tengo una hoja en excel con la siguiente estructura:

ID NOMBRE BASE AREA TIPO
01 Alex B1 xx 10
02 Edgar B2 dd 10
01 Walter B3 mm 11
02 Jorge B4 kk 11

En otra hoja quiero obtener los sgts. tesultados.
COL1 COL2
1001N Alex
1001B B1
1001A xx
1102N Edgar
1102B B2
1102A dd
1103N Walter
1103B B3
1103A mm
1104N Jorge
1104B B4
1104A kk

Donde COL1 es igual a la concatenacion del campo tipo+id y por cada fila
de
la "lista1" me genera 3 filas contiendo cada fila el contenido de las
columnas Nombre,Base,Area segun corresponda. (transformar las columnas a
filas).

Espero su valioso aporte, necesariamente tiene que ser en Excel, talvez
con
formulas o macros.
Gracias por su atencion.

Atte.
Alex Carmen Z.
Dpto. Informática


Atte.
Alex Carmen Z.
Dpto. Informática


Respuesta Responder a este mensaje
#2 Héctor Miguel
02/09/2006 - 03:32 | Informe spam
hola, Alex !

suponiendo que la lista esta en hoja1 con titulos en la fila 1 y los datos a partir de 'A2'
-> y si no te importa 'echar a perder' dos columnas auxiliares en la hoja 2
moviendo los titulos de hoja 2 -> COL1 y COL2 -> al rango 'C1:D1' -?-

usa las siguientes formulas [en la fila 2 de la hoja 2]
==[A2] =3*(residuo(filas($b$2:b2),3)=0)+residuo(filas($b$2:b2),3)
[B2] =contar.si($a$2:a2,1)
[C2] =desref(hoja1!$a$1,b2,4)&desref(hoja1!$a$1,b2,)&izquierda(desref(hoja1!$a$1,,a2))
[D2] =desref(hoja1!$a$1,b2,a2)

luego copias/arrastras/... el rango 'A2:D2' n_filas hacia abajo [como sean necesarias] ;)

solo toma en consideracion que mi sistema usa como separador de argumentos a la coma ',' NO al punto y coma ';' :D

si cualquier duda... [o informacion adicional]... comentas ?
saludos,
hector.

__ la consulta original __
... tengo una hoja en excel con la siguiente estructura:
ID NOMBRE BASE AREA TIPO
01 Alex B1 xx 10
02 Edgar B2 dd 10
01 Walter B3 mm 11
02 Jorge B4 kk 11
En otra hoja quiero obtener los sgts. tesultados.
COL1 COL2
1001N Alex
1001B B1
1001A xx
1102N Edgar
1102B B2
1102A dd
1103N Walter
1103B B3
1103A mm
1104N Jorge
1104B B4
1104A kk
Donde COL1 es igual a la concatenacion del campo tipo+id y por cada fila de la "lista1" me genera 3 filas
contiendo cada fila el contenido de las columnas Nombre,Base,Area segun corresponda. (transformar las columnas a filas).
Respuesta Responder a este mensaje
#3 Alex Carmen
05/09/2006 - 04:48 | Informe spam
Los resultados son justo lo que necesitaba.

Gracias a todos por responder.

saludos.

"moon" <6369706865725F6475646540706C616E65742E6E6C> escribió en el mensaje
news:44f8d7fd$1$2021$

Con un macro:

En Sheet1: A1: ID, B1: Nombre, C1: BASE, D1: AREA, E1: TIPO
En Sheet2: A1: COL1, B1: COL2

Public Sub listgen()
Dim wb As Workbook
Dim sInput, sOutput As Worksheet
Dim i, r, c As Integer
Set wb = ThisWorkbook
Set sInput = wb.Sheets("Sheet1")
Set sOutput = wb.Sheets("Sheet2")
c = 1: r = 2: i = 2
sOutput.Activate
While sInput.Cells(r, c).Value <> Empty
sOutput.Cells(i, c).Value = sInput.Cells(r, (c + 4)).Value &
sInput.Cells(r, c).Value & "N"
sOutput.Cells(i, (c + 1)).Value = sInput.Cells(r, (c + 1)).Value:


i
= i + 1
sOutput.Cells(i, c).Value = sInput.Cells(r, (c + 4)).Value &
sInput.Cells(r, c).Value & "B"
sOutput.Cells(i, (c + 1)).Value = sInput.Cells(r, (c + 2)).Value:


i
= i + 1
sOutput.Cells(i, c).Value = sInput.Cells(r, (c + 4)).Value &
sInput.Cells(r, c).Value & "A"
sOutput.Cells(i, (c + 1)).Value = sInput.Cells(r, (c + 3)).Value:


i
= i + 1: r = r + 1
Wend
Set sOutput = Nothing
Set sInput = Nothing
Set wb = Nothing
End Sub




"Alex Carmen" schreef in bericht
news:%
> Hola amigos, tengo una hoja en excel con la siguiente estructura:
>
> ID NOMBRE BASE AREA TIPO
> 01 Alex B1 xx 10
> 02 Edgar B2 dd 10
> 01 Walter B3 mm 11
> 02 Jorge B4 kk 11
>
> En otra hoja quiero obtener los sgts. tesultados.
> COL1 COL2
> 1001N Alex
> 1001B B1
> 1001A xx
> 1102N Edgar
> 1102B B2
> 1102A dd
> 1103N Walter
> 1103B B3
> 1103A mm
> 1104N Jorge
> 1104B B4
> 1104A kk
>
> Donde COL1 es igual a la concatenacion del campo tipo+id y por cada fila
> de
> la "lista1" me genera 3 filas contiendo cada fila el contenido de las
> columnas Nombre,Base,Area segun corresponda. (transformar las columnas a
> filas).
>
> Espero su valioso aporte, necesariamente tiene que ser en Excel, talvez
> con
> formulas o macros.
> Gracias por su atencion.
>
> Atte.
> Alex Carmen Z.
> Dpto. Informática
>
>
> Atte.
> Alex Carmen Z.
> Dpto. Informática
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida