Todoexpertos.com
http://www.todoexpertos.com
La respuesta está en Internet
Información de la pregunta
Título: Copiar fórmulas de manera no correlativa
Experto: eldata
Valoración: 4
Fecha: 23/03/2009


Copiar fórmulas de manera no correlativa
Hola,
Desde una hoja Excel debo crear un archivo en formato ASCII. Para ello, en la siguiente pestaña creo fórmulas cogiendo datos de la primera. Sin embargo, de cada línea de la pestaña 1 genero 3 líneas en la pestaña 2, por lo que la 4ª línea de la pestaña 2 tiene que coger datos de la segunda línea de la pestaña 1. ¿Cómo puedo hacer eso automáticamente? Ya que si copio y pego la fórmula me va a coger los datos de la línea 4.
Espero haberme explicado con claridad.
Gracias

Copiar fórmulas de manera no correlativa
Lo que tenemos que hacer es calcular la fila de la pestaña 1 le que corresponde corresponde cada una de la pestaña 2.
Se supone en ambas hojas tenemos un título en la fila 1 y los datos comienzan en la fila 2.
Mas o menos la idea es dividir entre 3 el valor de la fila de la pestaña 2 para calcular la fila de la pestaña 1, la columna tu la defines según tus necesidades.
La formula te queda así:
=INDIRECTO("Hoja1!A"&TRUNCAR((FILA()+1)/3)+1)
La función INDIRECTO nos arma la referencia a una celda dependiendo del texto que le pasamos por parámetro, y la función FILA cuando no se le pasa ningún parámetro nos retorna el número de la fila de donde se está haciendo el llamado a la función.
Ahora te toca cambiarle el nombre a la hoja si es necesario (de Hoja1 a la que tengas tu), y cambia A por la columna que necesites.
Cualquier cosa me avisas.
http://dataage.blogspot.com

Copiar fórmulas de manera no correlativa
Entonces, si tengo una fórmula como ésta
=SI(Hoja1!E2=0;"";REPETIR(" ";6-LARGO(Hoja1!A2))&Hoja1!A2&Hoja1!B2&Hoja1!C2&Hoja1!D2)
 
¿Tengo que cambiar cada celda a la que hago referencia por la fórmula que me sugieres?
Gracias
 

Copiar fórmulas de manera no correlativa
Te quedaría esta cosa horrible:
=SI(indirecto("Hoja1!E"&truncar((fila()+1)/3)+1)=0;"";repetir(" ";6-largo(indirecto("Hoja1!A"&truncar((fila()+1)/3)+1)))&indirecto("Hoja1!A"&truncar((fila()+1)/3)+1)&indirecto("Hoja1!B"&truncar((fila()+1)/3)+1)&indirecto("Hoja1!C"&truncar((fila()+1)/3)+1)&indirecto("Hoja1!D"&truncar((fila()+1)/3)+1))
Cualquier cosa me avisas.
http://www.thedataage.com

Pregunta finalizada. Valoración: 4
Muchas gracias. He hecho una pequeña prueba y parece que funciona. Has sido de muchísima ayuda.


Volver al mensaje
http://www.todoexpertos.com/categorias/tecnologia-e-internet/software-y-aplicaciones/microsoft-excel/respuestas/2042297/copiar-formulas-de-manera-no-correlativa