Formula con resultado en otra celda

14/09/2005 - 17:40 por Engel | Informe spam
Yo no se si lo que prentedo se puede hacer, aunque estoy convencido
que en Excel se puede hacer casi todo.

A ver si me explico, en una hoja donde controlamos la clasificacion de
una competicion deportiva, tengo una formula tal como esta en la celda
P12 :

=SI($C12="";"";SI(P$7="";"";" NP"))

Esta formula lo que hace es poner NP en la celda P12 del competidor
cuando este no participa en una de las competiciones.

Bien, pero resulta que si participa, al introducir en su celda P12 los
puntos obtenidos, la formula desaparece.

Que ocurre, que cada cierto tiempo hay que reintroducir todas las
formulas que han desaparecido, y lo que prentendo hacer es meter la
formula en otro sitio, algo asi como poner en X12

SI C12 esta en blanco, dejar en blanco P12, SI P7 esta en blanco,
dejar P12 en blanco, si no poner en P12 "NP"

He probado con esta formula en X12
=SI($C12="";"";SI(P$7=" ";P12="";P12="NP"))

Pero esta formula no hace nada en la celda P12 cuando pretendo que
ponga NP

Que manera hay de hacer esto.

Notas aclaratorias:
En la columna C estan los nombres nombres de los participantes
En cada columna de la fila 7 esta la fecha de cada competicion
Asi que la celda del competidor en la fecha en que no participa debe
quedar con NP cuando introducimos la fecha de la ultima competicion

Saludos,
Engel
 

Leer las respuestas

#1 KL
14/09/2005 - 19:09 | Informe spam
Hola Engel,


He probado con esta formula en X12
=SI($C12="";"";SI(P$7=" ";P12="";P12="NP"))
Pero esta formula no hace nada en la celda P12 cuando pretendo que



En primer lugar, aclarar que las formulas en Excel no pueden crear, eliminar
ni modificar las propiedas de otros objetos (entre otros las celdas de la
hoja de calculo), sino devolver valores. Por tanto introduciendo una formula
o valor en una celda no puedes modificar el valor de otra a menos que la
otra obtenga el valor mediante su propia formula.

Notas aclaratorias:
En la columna C estan los nombres nombres de los participantes
En cada columna de la fila 7 esta la fecha de cada competicion
Asi que la celda del competidor en la fecha en que no participa debe
quedar con NP cuando introducimos la fecha de la ultima competicion



Esta tarea la puedes realizar mediante macros asociados a un evento de la
hoja. Por ejemplo,

suponiendo que...
1) todos los participantes tendran un nombre en la columna [C] empezando
por la fila [12]
2) las fechas de competiciones empiezan en la columna [D] y acaban el la [P]

prueba hacer lo siguiente:

1) haz clic-derecho sobre el nombre de la hoja en cuestion en una de las
pesta?as de la parte de abajo de la ventana de Excel.
2) Elige la opcion Ver Codigo para abrir el editor VBA.
3) En la ventana mas grande a la derecha pega el codigo de abajo
4) Ahora pulsa Alt+F11 para volver a la hoja.
5) prueba introducir nombres en la columna [A] a partir de la fila [12] para
abajo, o cambiar/eliminar/introducir fechas en en el rango [D7:P7]

Saludos,
KL

'-inicio codigo--
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("C12:C65536,D7:P7")) _
Is Nothing Then Exit Sub

Dim UCelda As Range, c As Range, i As Integer
Set UCelda = Cells(Rows.Count, "C").End(xlUp)
If UCelda.Row < 12 Then Exit Sub
With Application
.EnableEvents = False
.ScreenUpdating = False
For Each c In Range(Cells(12, "C"), UCelda)
For i = 4 To 16
If IsEmpty(c) Then
c.Offset(, 1).Resize(, 12) = ""
Else
If IsEmpty(Cells(7, i)) Then
Cells(c.Row, i) = "NP"
ElseIf Cells(c.Row, i) = "NP" Then
Cells(c.Row, i) = ""
End If
End If
Next i
Next c
.EnableEvents = True
.ScreenUpdating = True
End With
End Sub
'-fin codigo--

Preguntas similares