Reto N° 2: Fórmula que al desplazar verticalmente tome datos horizontales
-->Luego del primer reto planteado el cual lo resolvieron facilmente y de muchas formas; he quedado mas que satisfecho por la rapidez y el interés que le pusieron en resolver el problema, he podido darme cuenta que gran parte de la comunidad que sigue esta web esta muy enganchada con Excel, pareciendome excelente.
He planteado un segundo reto para que puedas medir tus capacidades, es simple solo debes de encontrar o armar una formula que al desplazarlo de forma vertical obtengas los datos horizontales tal y como se ve en la imagen animada que he puesto al inicio de esta publiación; se me ocurrió hacer este sencillo reto pensando en las referencias relativas y absolutas de Excel.
Te aseguro que es fácil, pero si no conoces gran parte de las fórmulas como que te podrias tardar un poco en resolverlo, espero que solucionen este reto de muchas maneras.
Descargar Cuanto sabes de excel – soluciona este 2do reto en excel.xls
Si tienes la respuesta puedes enviarmelo a mi correo [email protected] , dejar tu comentario en la página o dejar un comentario en el Fanpage de Excel Negocios
Respuesta: =DESREF($B$2,0,FILA()-FILA($B$4))
como se haría si lo que buscamos es hacer un vinculo (+celda para cada ves que se cambie algo en la hoja 1, actualizace la segunda hoja) en una nueva hoja si la fuente de los datos estan horizontales y los queremos poner verticales,
Voy a tomar nota de lo que dices para hacerlo en un reto, me parece interesante. Saludos.
Otra solución sería
=INDIRECTO(DIRECCION(2,FILA()-2))
se tranquean demasiado es simple =INDICE($B$2:$F$2,1,FILA(B1))
Se tranuquean demasiado es =INDICE($B$2:$F$2,1,FILA(B1)) 😉
Oigan, y si la conluman o fila está en otro archivo??
Saludos!
tienes que re-configurar tus fórmulas para otras celdas.
Hola:
Les paso otra solucion utilizando la funcion transponer de manera matricial
{=TRANSPONER($A$2:$E$2)}
Pasos:
Suponiendo que los datos estan desde la celda A2 hasta E2,realizamos los siguientes pasos
– Seleccionar 5 celdas, desde a4 hasta a8
-Manteniendo seleccionada las 5 celdas, escribir en la celda a4 la siguiente formula: =TRANSPONER($A$2:$E$2)
-Una vez terminado de escribir la funcion anterior, presionar CTRL+SHIFT + ENTER
Lo que hara el paso anterior es poner la funcion en modo matricial, por lo tanto si vemos la formula automaticamente se agregan dos corchetes de esta manera: {=TRANSPONER($A$2:$E$2)}
Saludos
perfecto!.
Hola Freddy, cómo puedo replicar esta fórmula si quiero trasponer sucesivas filas a la misma columna, en el orden que estaban las filas? Gracias.
Primero, bajo la opción “name manager” dale un nombre al array “rango” B2:F2, para mi caso lo llamo Lst,
Segundo, pósate en la celda b4 y escribe =INDEX(Lst,ROW()-3) y arrastra abajo; Seria es español como =índice(lst,fila()-3)
Explicación:
La formula INDICE aplicable al rango B2:F2 =lst definido bajo Name manager, reconocerá el rango de manera ascendente de izquiera a derecha; 1,2,3,4,5.
la formula “row()” te retorna el numero de fila donde tu celda (cursor) esta posicionada sin importar en que columna estés, siguiendo el ejemplo planteado;
Ej, en celda B4, row() te retorna el valor 4 pero al substraerle 3, obtenemos el valor 1
Ej, en celda B5, row() te retorna el valor 5 pero al substraerle 3, obtenemos el valor 2
Ej, en celda B6, row() te retorna el valor 6 pero al substraerle 3, obtenemos el valor 3
Ej, en celda B7, row() te retorna el valor 7 pero al substraerle 3, obtenemos el valor 4
Ej, en celda B8, row() te retorna el valor 8 pero al substraerle 3, obtenemos el valor 5
Nuevamente al aplicar la formula, índice(lst,fila()-3) desde B4 hasta B8, Excel retornara los valores ascendente en texto de manera vertical desde el rango B2:F2 a las cuales les podrías anteponer B$2$:$F$2, para convertir el rango en referencia absoluta.
Buen día,
Referencia de celda en estilo F1C1
=INDIRECTO(«F2C»&FILA()-2;0)
Muy buenos los ejercicios
PERO CON LA FORMULA QUE DAN NO SE PUEDE AYUDA POR FAVOR ME PODRÍAN DECIR LA FORMULA EXACTA!
en vez de «;» usa «,»
dije formula y no vba, fernando es correcto.
Así:
=INDIRECTO(«F»&2&»C»&FILA()-2,FALSO)
Y jalas la fórmula.
También se puede hacer con la función transponer, pero especificandola como una fórmula de matriz.
🙂 solucion en VBA
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim cant As Integer
cant = Selection.Count
For I = 1 To cant
Range(«B» & I + 3).Value = «»
Range(«B» & I + 3).Value = ActiveCell(1, I)
Next
End Sub