Excel - Como lo resuelvo?

 
Vista:

Como lo resuelvo?

Publicado por Daniel (29 intervenciones) el 31/05/2007 15:18:54
Hola a todos tengo un problemita en una hoja tengo 163 valores en dos vectores en la columna "P" que son Numeros y en la columna "Q" que son nombres las dos columnas llegan hasta la fila 163, en la columna "A" tengo la siguiente formula "=K.ESIMO.MAYOR($P$2:$P$163;1)" esto me muestra el valor más alto de la columna "P" hasta ahi vamos barbaro, en la columna "B" tengo la siguiente formula "=INDICE($Q$2:$Q$163;COINCIDIR(A3;$P$2:$P$163;0))" esto me muestra el nombre que esta en la columna "Q" dependiendo del valor qe alla en "A3", Ok el tema es el siguiente, primero quisiera saber como puedo hacer para que yo pueda repetir la formula en la columna A hatsa completar las 163 Filas Porque el número K que es la pocision en la matriz, si yo lo arrastro hacia abajo se que da el uno y yo tengo que ir modificando uno por uno poniendo el consecutivo así me muestra el segundo más alto,el tercero más alo, etc? Segundo el otro problema que se me presenta es que cuando me aparecen números repetido me pone el primer nombre que contiene ese valor repetido y me lo muestra hasta que se termina ese valor como hago para que me muestre el nombre que corresponde?. Lo voy a intentar Graficar:
P Q
1 10 don
2 9 elo
3 9 san
4 11 pen
5 9 dim
_________________
A B
1 11 pen
2 10 don
3 9 elo
4 9 elo
5 9 elo
Esto esta mal yo lo que quiero es que quede así se podra?
A B
1 11 pen
2 10 don
3 9 elo
4 9 san
5 9 dim
Espero haberme explicado.
Esperando una pronta respuesta desde ya muchas gracias.
Daniel
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como lo resuelvo?

Publicado por José Luis (700 intervenciones) el 01/06/2007 08:06:03
Para solucionar el problema del K.ESIMO.MAYOR, (ya que no tienes un indicador del mayor número que deseas obtener) puedes usar en lugar del 1, un contador de filas.
=K.ESIMO.MAYOR($P$2:$P$163;CONTAR(P$2:P2))

Para el otro problema, es necesario crear una función BUSCARV que tenga en cuenta los repetidos, adjunto el código.

Si la pones en la columna B ...

=BUSCARVREP(A2;A$2:A2;$P$2:$Q$163;2)

'Inicio del código
Function BuscarVRep(QueBuscar As Range, _
RangoRepetidos As Range, _
RangoDatos As Range, _
Columna As Integer)
' "QueBuscar" lo que estamos buscando, de lo que queremos devolver el valor
' igual que en buscarv.
' "RangoRepetidos" es el área donde esta incluido el QueBuscar donde
' observaremos el número de ocurrencia
' QueBuscar está en una celda incluida en este rango.
' "RangoRepetidos" es la matriz similar a la de buscarv
' "Columnas" es el indicador de Columnas, igual que en buscarv

Dim celdainicial As Range
For Each c In RangoRepetidos
If c.Value = QueBuscar.Value Then ocurrencia = ocurrencia + 1
If c.Address = QueBuscar.Address Then Exit For
Next

ColumnaInicial = RangoDatos.Column
FilaInicial = RangoDatos.Row
numerofilas = RangoDatos.Rows.Count
For Each Celda In Range(Cells(FilaInicial, ColumnaInicial).Address & ":" & Cells(FilaInicial + numerofilas - 1, ColumnaInicial).Address)
If Celda.Value = QueBuscar.Value Then nuevaocurrencia = nuevaocurrencia + 1
If nuevaocurrencia = ocurrencia Then
busquedafinal = Celda.Offset(0, Columna - 1).Value
Exit For
End If
Next
BuscarVRep = busquedafinal
End Function

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como lo resuelvo?

Publicado por Daniel (29 intervenciones) el 01/06/2007 15:38:12
Hola Jose luis gracias por responder, lo primero del K ESIMO.MAYOR lo pude hacer, ahora el tema de la función no lo entiendo, no pude hacer funcionar esta Function BuscarVRep(QueBuscar As Range,RangoRepetidos As Range,RangoDatos As Range,Columna As Integer), no lo entiendo mucho porque nunca cree una macro ni use la funcionbuscarv.
Otra Pregunta yo tengo un libro con varias hojas, y en la hoja 1 tengo que poner los datos de la celda c5, la celda E5, E11, E17, esto lo hago con una formula y funcona bien el tema es que como tengo muchas hojas me pasa lo mismo que con el K ESIMO.MAYOR, Yo puedo bloquear las celdas pero como hago para que cuando yo arrastre por ejemplo: en la hoja1 celda A1 voy a poner los datos de la hoja 2 y la formula es la siguiente "=SI('Adorno Aldana y Lucila'!C5<>"";CONCATENAR('hoja2" ";'hoja2'!E5;" ";SI(Y('hoja2'!E11="";'hoja2'!E17="");"";SI(Y('hoja2'!E11<>"";'hoja2'!E17<>"");CONCATENAR(", ";'hoja2'!E11;" y ";'hoja2'!E17);CONCATENAR("y ";'hoja2'!E11))))) esto anda barbaro, el problema es cuando tengo que arrastra para que A2 me ponga las mismas Celda pero de la Hoja3, yo puedo bloquear las celdas con "$ " el tema es que no pasa a la siguiente hoja me sigue con hoja2, y no da para cambiar la formula manualmente por queson como 200 hojas y si yo tengo que reemplazar donde dice hoja2 por la hoja que corresponde no termino más. Hay alguna solucion? Desde ya muchas Gracias Daniel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como lo resuelvo?

Publicado por José Luis (700 intervenciones) el 01/06/2007 22:55:47
Para escribir la función debes abrir el Editor de Visual Basic con Alt+F11
Ve al VBAProyect(nombredetulibro).xls, click en él con el botón derecho e Insertar - Módulo.
Click en el módulo creado y pega el código que te indiqué.
Ya puedes usar la función desde tu libro.

--------------------------------------------------

Para cambiar el "hoja2" por "hoja3" debes hacer lo siguiente:
Selecciona todas las celdas donde quieres realizar el cambio.
Edición -Reemplazar (o Ctrl+L)
sale un cuadro de diálogo, Buscar: hoja2
Reemplazar con : hoja3
Opciones- Buscar dentro de fórmulas.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como lo resuelvo?

Publicado por Daniel (29 intervenciones) el 02/06/2007 00:27:34
Gracias por ayudarme Jose luis.Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar