Copiar e pegar formulas

16/06/2007 - 01:30 por Albino | Informe spam
Olá
Tengo un pequenho problema que és:
Como se hace para pegar una formula en uma linea , pero sim alterar la
numeracion tantas veces como la cantidade de lineas que van de un rango a
outro
Un poco confuso, bien és assim:
Tengo una hoja que tiene ex:
A B
C
1 =SE(S6="t";2;"") =SE(T6="h";1;"")
2 =SE(S6="d";2;"") =SE(U6="q";2;"")
3 =SE(T6="w";2;"") =SE(U6="D";1;"")
Lo que me iria bien seria, que al pegar las formulas en la linea abajo, en
este caso seria en la linea4 no me pegara com S9, pero com S7, és decir
deberia quedar más o menos assi:

4 =SE(S7="t";2;"") =SE(T7="h";1;"")
5 =SE(S7="d";2;"")
=SE(U7="q";2;"")
6 =SE(T7="w";2;"")
=SE(U7="D";1;"")

e no assi
4 =SE(S9="t";2;"") =SE(T9"h";1;"")
5 =SE(S9"d";2;"")
=E(U9"q";2;"")
6 =SE(T9"w";2;"")
=SE(U9"D";1;"")
és que tengo una gran cantidade de hojas donde tengo que introducir essas
formulas
Um saludo e gracias.
Albino
Albino P.
albinopaulo@sapo.pt

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
16/06/2007 - 08:42 | Informe spam
hola, Albino !

con los datos 'tal-cual' expones en esta consulta: [cada 3 filas, en las columnas A, B y C, iniciando en la fila 1]...

1) usa formulas *indirectas* +/- como las siguientes:

[A1] =se(indireto(endereço(5+int((lin()-1+3)/3);18+col()))="t";2;"")
[B1] =se(indireto(endereço(5+int((lin()-1+3)/3);18+col()))="h";1;"")
[A2] =se(indireto(endereço(5+int((lin()-1+3)/3);18+col()))="d";2;"")
[C2] =se(indireto(endereço(5+int((lin()-1+3)/3);18+col()))="q";2;"")
[B3] =se(indireto(endereço(5+int((lin()-1+3)/3);18+col()))="w";2;"")
[C3] =se(indireto(endereço(5+int((lin()-1+3)/3);18+col()))="d";1;"")

2) selecciona el rango de 3 filas x 3 columnas: -> 'A1:C3'
-> copia/arrastra/... [obviamente hacia abajo] -> en *grupos* de 3 filas

3) la/s formulas en *castellano* serian +/- como sigue:
=si(indirecto(direccion(5+entero((fila()-1+3)/3),18+columna()))="x",2,"")

4) [probablemente] el *rendimiento* de tu modelo se vera *afectado* [en velocidad de re/calculos] -?-

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

__ la consulta original __
... Como se hace para pegar una formula en uma linea
pero sim alterar la numeracion tantas veces como la cantidade de lineas que van de un rango a outro
Un poco confuso, bien es assim: Tengo una hoja que tiene ex:
A B C
1 =SE(S6="t";2;"") =SE(T6="h";1;"")
2 =SE(S6="d";2;"") =SE(U6="q";2;"")
3 =SE(T6="w";2;"") =SE(U6="D";1;"")
Lo que me iria bien seria, que al pegar las formulas en la linea abajo, en este caso seria en la linea4
no me pegara com S9, pero com S7, es decir deberia quedar mas o menos assi:
4 =SE(S7="t";2;"") =SE(T7="h";1;"")
5 =SE(S7="d";2;"") =SE(U7="q";2;"")
6 =SE(T7="w";2;"") =SE(U7="D";1;"")
e no assi
4 =SE(S9="t";2;"") =SE(T9"h";1;"")
5 =SE(S9"d";2;"") =E(U9"q";2;"")
6 =SE(T9"w";2;"") =SE(U9"D";1;"")
es que tengo una gran cantidade de hojas donde tengo que introducir essas formulas ...
Respuesta Responder a este mensaje
#2 C. A. G.
16/06/2007 - 09:08 | Informe spam
Creo que entiendo lo que quieres, y he intentado buscar la respuesta, una
vez sabido que el SE en portugués, es la fórmula SI en español.

Tratas de modificar la referencia relativa de Excel, de forma que si saltas
la fórmula tres líneas más abajo, Excel solo pase una línea en la referencia
a la celda a la que "miras".

Creo que lo más acertado sería intentar colocar lo que ahora te ocupa tres
filas, en una sola. En lugar de 3 columnas, en tu ejemplo necesitarías
ocupar 9 columnas. Así, las referencias saldrían correctas.

Otra solución es la de Copiar / Pegar; y después seleccionar el rango de las
filas 4-5-6 y hacer un Reemplazar: donde hay un 9= sustituirlo por un 7
El hecho de que haya muchas hojas que rellenar, si las fórmulas se repiten,
creo que soluciones con el Copiar / Pegar serían las más indicadas.

Saludos desde Madrid.



"Albino" escribió en el mensaje
news:
Olá
Tengo un pequenho problema que és:
Como se hace para pegar una formula en uma linea , pero sim alterar la
numeracion tantas veces como la cantidade de lineas que van de un rango a
outro
Un poco confuso, bien és assim:
Tengo una hoja que tiene ex:
A B
C
1 =SE(S6="t";2;"") =SE(T6="h";1;"")
2 =SE(S6="d";2;"") =SE(U6="q";2;"")
3 =SE(T6="w";2;"") =SE(U6="D";1;"")
Lo que me iria bien seria, que al pegar las formulas en la linea abajo, en
este caso seria en la linea4 no me pegara com S9, pero com S7, és decir
deberia quedar más o menos assi:

4 =SE(S7="t";2;"") =SE(T7="h";1;"")
5 =SE(S7="d";2;"")
=SE(U7="q";2;"")
6 =SE(T7="w";2;"")
=SE(U7="D";1;"")

e no assi
4 =SE(S9="t";2;"") =SE(T9"h";1;"")
5 =SE(S9"d";2;"")
=E(U9"q";2;"")
6 =SE(T9"w";2;"")
=SE(U9"D";1;"")
és que tengo una gran cantidade de hojas donde tengo que introducir essas
formulas
Um saludo e gracias.
Albino
Albino P.

Respuesta Responder a este mensaje
#3 KL
16/06/2007 - 10:38 | Informe spam
Hola chicos,

"Héctor Miguel" wrote
[A1] =se(indireto(endereço(5+int((lin()-1+3)/3);18+col()))="t";2;"")
[B1] =se(indireto(endereço(5+int((lin()-1+3)/3);18+col()))="h";1;"")
[A2] =se(indireto(endereço(5+int((lin()-1+3)/3);18+col()))="d";2;"")
[C2] =se(indireto(endereço(5+int((lin()-1+3)/3);18+col()))="q";2;"")
[B3] =se(indireto(endereço(5+int((lin()-1+3)/3);18+col()))="w";2;"")
[C3] =se(indireto(endereço(5+int((lin()-1+3)/3);18+col()))="d";1;"")



Yo lo haria un poco menos volatil y tal vez un pelin menos cargado de calculos:

[A1] =SE(ÍNDICE(S:S;5+INT(LIN()-1+3)/3)="t";2;"")
[B1] =SE(ÍNDICE(T:T;5+INT(LIN()-1+3)/3)="h";1;"")
[A2] =SE(ÍNDICE(S:S;5+INT(LIN()-1+3)/3)="d";2;"")
[C2] =SE(ÍNDICE(U:U;5+INT(LIN()-1+3)/3)="q";2;"")
[B3] =SE(ÍNDICE(T:T;5+INT(LIN()-1+3)/3)="w";2;"")
[C3] =SE(ÍNDICE(U:U;5+INT(LIN()-1+3)/3)="d";1;"")

lo mismo en castellano

[A1] =SI(INDICE(S:S;5+ENTERO(FILA()-1+3)/3)="t";2;"")
[B1] =SI(INDICE(T:T;5+ENTERO(FILA()-1+3)/3)="h";1;"")
[A2] =SI(INDICE(S:S;5+ENTERO(FILA()-1+3)/3)="d";2;"")
[C2] =SI(INDICE(U:U;5+ENTERO(FILA()-1+3)/3)="q";2;"")
[B3] =SI(INDICE(T:T;5+ENTERO(FILA()-1+3)/3)="w";2;"")
[C3] =SI(INDICE(U:U;5+ENTERO(FILA()-1+3)/3)="d";1;"")

Saludos,
KL
Respuesta Responder a este mensaje
#4 Albino
17/06/2007 - 23:48 | Informe spam
Olá KL e Héctor Miguel
Lo complico más un poquito
Las formulas que yo tiengo que aplicar se inician en la linea 12 hastá la
linea 71.
Las lineas 12,13 y 14 son las primeras, y las tres tendran que hacer
referencia à las celdas 8 de las columnas J asta AM de la hoja (Horário).
De referir que la hoja donde se van a buscar los datos está en la hoja
[Horário], donde se van efectuar los calculos se lhamaran, [Henero,
Fevereiro, ... Deciembre]
Por lo tanto despué de crear todas las formulas de essas tres lineas (12,13
y 14) las tendré que pegar en las lineas 15,16 y 17.
Yo é probado las formulas pero no è logrado que funcionassem.
Ah en portugues "indireto" tiene que tener más un c quedando "indirecto".
Me supongo que onde dice "endereço" se terá de poner lá localizacion onde se
vá buscar la informacion cierto? En este caso seria Horário!B7.
Mis formulas serian estas

A
1 =SE(Horário!C7="N";9;"")
2 =SE(Horário!C7="M";2;SE(Horário!D7="T";5;""))
3 =SE(Horário!C7="T";2;"")

Gracias por vuestra ayuda
Un saludo

Albino P.




"KL" escreveu na mensagem
news:%23XquuH$
Hola chicos,

"Héctor Miguel" wrote
[A1] =se(indireto(endereço(5+int((lin()-1+3)/3);18+col()))="t";2;"")
[B1] =se(indireto(endereço(5+int((lin()-1+3)/3);18+col()))="h";1;"")
[A2] =se(indireto(endereço(5+int((lin()-1+3)/3);18+col()))="d";2;"")
[C2] =se(indireto(endereço(5+int((lin()-1+3)/3);18+col()))="q";2;"")
[B3] =se(indireto(endereço(5+int((lin()-1+3)/3);18+col()))="w";2;"")
[C3] =se(indireto(endereço(5+int((lin()-1+3)/3);18+col()))="d";1;"")



Yo lo haria un poco menos volatil y tal vez un pelin menos cargado de
calculos:

[A1] =SE(ÍNDICE(S:S;5+INT(LIN()-1+3)/3)="t";2;"")
[B1] =SE(ÍNDICE(T:T;5+INT(LIN()-1+3)/3)="h";1;"")
[A2] =SE(ÍNDICE(S:S;5+INT(LIN()-1+3)/3)="d";2;"")
[C2] =SE(ÍNDICE(U:U;5+INT(LIN()-1+3)/3)="q";2;"")
[B3] =SE(ÍNDICE(T:T;5+INT(LIN()-1+3)/3)="w";2;"")
[C3] =SE(ÍNDICE(U:U;5+INT(LIN()-1+3)/3)="d";1;"")

lo mismo en castellano

[A1] =SI(INDICE(S:S;5+ENTERO(FILA()-1+3)/3)="t";2;"")
[B1] =SI(INDICE(T:T;5+ENTERO(FILA()-1+3)/3)="h";1;"")
[A2] =SI(INDICE(S:S;5+ENTERO(FILA()-1+3)/3)="d";2;"")
[C2] =SI(INDICE(U:U;5+ENTERO(FILA()-1+3)/3)="q";2;"")
[B3] =SI(INDICE(T:T;5+ENTERO(FILA()-1+3)/3)="w";2;"")
[C3] =SI(INDICE(U:U;5+ENTERO(FILA()-1+3)/3)="d";1;"")

Saludos,
KL
Respuesta Responder a este mensaje
#5 Héctor Miguel
18/06/2007 - 08:03 | Informe spam
hola, Albino !

__ 1 __
Lo complico mas un poquito
Las formulas que yo tiengo que aplicar se inician en la linea 12 hasta la linea 71.
Las lineas 12,13 y 14 son las primeras
y las tres tendran que hacer referencia a las celdas 8 de las columnas J asta AM de la hoja (Horário).



1) puedes *complicarlo* [tanto] como consideres adecuado para cumplir con tus requerimientos ;)
-> siempre y cuando, le dediques un tiempo a analizar/comprender la *complicada sencillez* de lo siguiente;

a) el *corazon* de las propuestas es la combinacion de operaciones con la funcion =fila() [=lin() en portugues]
y era el *proposito* de encontrar las funciones mas cortas que devolvieran *avances de uno* a cada 3 filas ;)

b) observa que se estan *ajustando* a cada *tercio* de filas, por lo que la formula: ... int((lin()-1+3)/3) ...

1) aplicada p.e. en las filas 1 a 6 devuelven una *referencia* a las filas: 1,1,1,2,2,2
esto aplica cuando la celda inicial *coincide* con un *tercio*: es decir, para iniciar en las filas 1, 4, 7, 10, etc.

2) para que la referencia *inicial* sea la fila 6, e suma el 5 al resultado de la formula anterior: 5+int((lin()-1+3)/3)
[en el ejemplo se iniciaban en la fila 1, por lo tanto]...

__ 2 __
De referir que la hoja donde se van a buscar los datos está en la hoja [Horário]
donde se van efectuar los calculos se lhamaran, [Henero, Fevereiro, ... Deciembre]
Por lo tanto despue de crear todas las formulas de essas tres lineas (12,13 y 14)
las tendre que pegar en las lineas 15,16 y 17.



2) si la celda con la formula *inicial* YA NO SERA la fila 1, va a ser necesario hacerle un *ajuste al ajute* [el 5 inicial] +/- como sigue:

a) si la fila inicial [cada 1 a 3 filas] sera en la *segunda del tercio* [2, 5, 8, 11, etc.]
el *ajuste del ajuste* [o sea, la formula inicial] quedaria en: int((lin()-2+3)/3) <= ovserva que el -1 cambia a -2

b) si la fila inicial [cada 1 a 3 filas] sera en la *ultima del tercio* [3, 6, 9, 12, etc.]
el *ajuste del ajuste* ya no es *necessrio* [o sea] la formula incial queda en: int((lin()+3)/3) <= desaparece el *ajuste*

__ 3 __
Yo e probado las formulas pero no e logrado que funcionassem.



3) aqui [me parece que]... los datos *reales* son diferentes de los comentados/expuestos/... en la propuesta orginal -?-

__ 4 __
Ah en portugues "indireto" tiene que tener más un c quedando "indirecto".



2) *mea-culpa*... no tengo excel en portugues :-( asi que me he *apoyado* en la pagina de:
Christian Herbé: -> http://cherbe.free.fr/traduc_fonctions_xl97.html
[es probable que, como lo indica en lo titulos, se refiera solo a portugues/brasil] -?-

__ 5 __
Me supongo que onde dice "endereço" se tera de poner la localizacion onde se va buscar la informacion cierto?
En este caso seria Horário!B7.



5) [en este caso] me referia a la funcion de hoja de calculo: direccion(fila,columna,...)
o... para el caso de otros idiomas [distintos al espanol]: address(row,column...) / endereço(lin,col,...)
OJO: tiene sus *pros y contras* en cuanto a *volatilidad*...
y una cierta *relatividad* en cuanto a la no/necesidad de insertar columnas en los datos *de origen*
revisa la propuesta de KL usando la funcion indice(...) ;)

__ 6 __
Mis formulas serian estas
A
1 =SE(Horário!C7="N";9;"")
2 =SE(Horário!C7="M";2;SE(Horário!D7="T";5;""))
3 =SE(Horário!C7="T";2;"")



6) para tu *primer formula* [asumiendo que se inicia en la fila 12, como expones en esta consulta]...
[A12] =se(índice(horário!c:c;2+int((lin()+3)/3))="n";9;"")
o... la variante usando la funcion direccion/endereço/... :))

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida